X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fvmxnet3%2Fvmxnet3.api;h=6c4a1774756605eb45c5278f198821ae947612e2;hb=10bbfce02;hp=8666820db69fa47404c1aacb34af879f641abf60;hpb=773291163a4f72f131afc6a84b065bcfed13aeb7;p=vpp.git diff --git a/src/plugins/vmxnet3/vmxnet3.api b/src/plugins/vmxnet3/vmxnet3.api index 8666820db69..6c4a1774756 100644 --- a/src/plugins/vmxnet3/vmxnet3.api +++ b/src/plugins/vmxnet3/vmxnet3.api @@ -15,7 +15,7 @@ *------------------------------------------------------------------ */ -option version = "1.0.0"; +option version = "1.0.1"; /** \brief @param client_index - opaque cookie to identify the sender @@ -25,8 +25,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 +41,12 @@ define vmxnet3_create u32 pci_addr; i32 enable_elog; u16 rxq_size; + u16 rxq_num; u16 txq_size; u16 txq_num; + u8 bind; + u8 enable_gso; + option vat_help = " [rx-queue-size ] [tx-queue-size ] [num-tx-queues ] [num-rx-queues ] [bind] [gso]"; }; /** \brief @@ -66,6 +74,7 @@ autoreply define vmxnet3_delete u32 context; u32 sw_if_index; + option vat_help = "sw_if_index "; }; /** \brief vmxnet3_tx_list structure @@ -75,7 +84,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 +92,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,12 +117,9 @@ 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 @@ -110,11 +133,8 @@ define vmxnet3_details u8 version; u8 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];