X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fvmxnet3%2Fvmxnet3.api;h=ff4bdf88f5cd503923f5193b715d31e6b05fda12;hb=277f03f06;hp=8666820db69fa47404c1aacb34af879f641abf60;hpb=773291163a4f72f131afc6a84b065bcfed13aeb7;p=vpp.git diff --git a/src/plugins/vmxnet3/vmxnet3.api b/src/plugins/vmxnet3/vmxnet3.api index 8666820db69..ff4bdf88f5c 100644 --- a/src/plugins/vmxnet3/vmxnet3.api +++ b/src/plugins/vmxnet3/vmxnet3.api @@ -15,7 +15,9 @@ *------------------------------------------------------------------ */ -option version = "1.0.0"; +option version = "1.1.0"; +import "vnet/interface_types.api"; +import "vnet/ethernet/ethernet_types.api"; /** \brief @param client_index - opaque cookie to identify the sender @@ -25,8 +27,12 @@ option version = "1.0.0"; ddddddddddddddddbbbbbbbbsssssfff @param enable_elog - turn on elog (optional - default is off) @param rxq_size - receive queue size (optional - default is 1024) + @param rxq_num - number of receive queues (optional - default is 1) @param txq_size - transmit queue size (optional - default is 1024) @param txq_num - number of transmit queues (optional - default is 1) + @param bind - automatically bind PCI to vfio-pci module + (optional - default is 0) + @param enable_gso - enable gso (optional - default is 0) */ define vmxnet3_create @@ -37,8 +43,12 @@ define vmxnet3_create u32 pci_addr; i32 enable_elog; u16 rxq_size; + u16 rxq_num; u16 txq_size; u16 txq_num; + u8 bind; + bool enable_gso; + option vat_help = " [rx-queue-size ] [tx-queue-size ] [num-tx-queues ] [num-rx-queues ] [bind] [gso]"; }; /** \brief @@ -51,7 +61,7 @@ define vmxnet3_create_reply { u32 context; i32 retval; - u32 sw_if_index; + vl_api_interface_index_t sw_if_index; }; /** \brief @@ -65,7 +75,8 @@ autoreply define vmxnet3_delete u32 client_index; u32 context; - u32 sw_if_index; + vl_api_interface_index_t sw_if_index; + option vat_help = "sw_if_index "; }; /** \brief vmxnet3_tx_list structure @@ -75,7 +86,7 @@ autoreply define vmxnet3_delete @param tx_consume - tx consume index */ -typeonly define vmxnet3_tx_list +typedef vmxnet3_tx_list { u16 tx_qsize; u16 tx_next; @@ -83,6 +94,23 @@ typeonly define vmxnet3_tx_list u16 tx_consume; }; +/** \brief vmxnet3_rx_list structure + @param rx_qsize - rx queue size + @param rx_fill - rx fill count + @param rx_next - rx next index + @param rx_produce - rx produce index + @param rx_consume - rx consume index +*/ + +typedef vmxnet3_rx_list +{ + u16 rx_qsize; + u16 rx_fill[2]; + u16 rx_next; + u16 rx_produce[2]; + u16 rx_consume[2]; +}; + /** \brief Memory interface details structure @param context - sender context, to match reply w/ request (memif_dump) @param sw_if_index - index of the interface @@ -91,30 +119,24 @@ typeonly define vmxnet3_tx_list @param pci_addr - pci address of the interface @param version - vmxnet3 hardware version @param admin_up_down - interface administrative status - @param rx_qsize - rx queue size - @param rx_fill - rx fill count - @param rx_next - rx next index - @param rx_produce - rx produce index - @param rx_consume - rx consume index - @param tx_count - number of of elements in tx_list + @param rx_count - number of elements in rx_list + @param rx_list - list of vmxnet3_rx_list + @param tx_count - number of elements in tx_list @param tx_list - list of vmnxnet3_tx_list */ define vmxnet3_details { u32 context; - u32 sw_if_index; - u8 if_name[64]; - u8 hw_addr[6]; + vl_api_interface_index_t sw_if_index; + string if_name[64]; + vl_api_mac_address_t hw_addr; u32 pci_addr; u8 version; - u8 admin_up_down; + bool admin_up_down; - u16 rx_qsize; - u16 rx_fill[2]; - u16 rx_next; - u16 rx_produce[2]; - u16 rx_consume[2]; + u8 rx_count; + vl_api_vmxnet3_rx_list_t rx_list[16]; u8 tx_count; vl_api_vmxnet3_tx_list_t tx_list[8];