X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Fvirtio%2Fvirtio.api;h=3c8aed2e1591f7175871ce176b5bc0d3b8dd30c8;hb=00f21fb2f;hp=efbcba8fa43c5af540e5f6c8099e2ec37a3f6e24;hpb=6d4af8918c8d14aa609d6488f0793152f9ed1927;p=vpp.git diff --git a/src/vnet/devices/virtio/virtio.api b/src/vnet/devices/virtio/virtio.api index efbcba8fa43..3c8aed2e159 100644 --- a/src/vnet/devices/virtio/virtio.api +++ b/src/vnet/devices/virtio/virtio.api @@ -13,11 +13,11 @@ * limitations under the License. */ -option version = "2.0.0"; +option version = "3.0.0"; import "vnet/interface_types.api"; import "vnet/ethernet/ethernet_types.api"; -import "vnet/pci/pci_types.api"; +import "vlib/pci/pci_types.api"; /** \brief Initialize a new virtio pci interface with the given parameters @@ -32,6 +32,7 @@ import "vnet/pci/pci_types.api"; */ define virtio_pci_create { + option deprecated; u32 client_index; u32 context; vl_api_pci_address_t pci_addr; @@ -48,6 +49,47 @@ define virtio_pci_create @param sw_if_index - software index allocated for the new virtio pci interface */ define virtio_pci_create_reply +{ + option deprecated; + u32 context; + i32 retval; + vl_api_interface_index_t sw_if_index; +}; + +enum virtio_flags { + VIRTIO_API_FLAG_GSO = 1, /* enable gso on the interface */ + VIRTIO_API_FLAG_CSUM_OFFLOAD = 2, /* enable checksum offload without gso on the interface */ + VIRTIO_API_FLAG_GRO_COALESCE = 4, /* enable packet coalescing on tx side, provided gso enabled */ + VIRTIO_API_FLAG_PACKED = 8, /* enable packed ring support, provided it is available from backend */ + VIRTIO_API_FLAG_IN_ORDER = 16, /* enable in order support, provided it is available from backend */ +}; + +/** \brief Initialize a new virtio pci interface with the given parameters + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param pci_addr - pci address + @param use_random_mac - let the system generate a unique mac address + @param mac_address - mac addr to assign to the interface if use_random not set + @param virtio_flags - feature flags to enable + @param features - the virtio features which driver should negotiate with device +*/ +define virtio_pci_create_v2 +{ + u32 client_index; + u32 context; + vl_api_pci_address_t pci_addr; + bool use_random_mac; + vl_api_mac_address_t mac_address; + vl_api_virtio_flags_t virtio_flags; + u64 features; +}; + +/** \brief Reply for virtio pci create reply + @param context - returned sender context, to match reply w/ request + @param retval - return code + @param sw_if_index - software index allocated for the new virtio pci interface +*/ +define virtio_pci_create_v2_reply { u32 context; i32 retval;