*------------------------------------------------------------------
*/
-option version = "1.0.0";
+option version = "1.0.1";
/** \brief
@param client_index - opaque cookie to identify the sender
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
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 = "<pci-address> [rx-queue-size <size>] [tx-queue-size <size>] [num-tx-queues <num>] [num-rx-queues <num>] [bind] [gso]";
};
/** \brief
u32 context;
u32 sw_if_index;
+ option vat_help = "sw_if_index <sw_if_index>";
};
/** \brief vmxnet3_tx_list structure
@param tx_consume - tx consume index
*/
-typeonly define vmxnet3_tx_list
+typedef vmxnet3_tx_list
{
u16 tx_qsize;
u16 tx_next;
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
@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
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];