diff options
Diffstat (limited to 'src/plugins/rdma/rdma.api')
-rw-r--r-- | src/plugins/rdma/rdma.api | 66 |
1 files changed, 64 insertions, 2 deletions
diff --git a/src/plugins/rdma/rdma.api b/src/plugins/rdma/rdma.api index 4519e2316d3..f2c70c7e514 100644 --- a/src/plugins/rdma/rdma.api +++ b/src/plugins/rdma/rdma.api @@ -15,7 +15,7 @@ *------------------------------------------------------------------ */ -option version = "2.0.0"; +option version = "3.0.0"; import "vnet/interface_types.api"; enum rdma_mode @@ -25,7 +25,6 @@ enum rdma_mode RDMA_API_MODE_DV = 2, }; - /** \brief @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -67,6 +66,7 @@ define rdma_create define rdma_create_v2 { + option deprecated; u32 client_index; u32 context; @@ -81,6 +81,55 @@ define rdma_create_v2 option vat_help = "<host-if ifname> [name <name>] [rx-queue-size <size>] [tx-queue-size <size>] [num-rx-queues <size>] [mode <auto|ibv|dv>] [no-multi-seg] [max-pktlen <size>]"; }; +enum rdma_rss4 +{ + RDMA_API_RSS4_AUTO = 0, + RDMA_API_RSS4_IP = 1, + RDMA_API_RSS4_IP_UDP = 2, + RDMA_API_RSS4_IP_TCP = 3, +}; + +enum rdma_rss6 +{ + RDMA_API_RSS6_AUTO = 0, + RDMA_API_RSS6_IP = 1, + RDMA_API_RSS6_IP_UDP = 2, + RDMA_API_RSS6_IP_TCP = 3, +}; + +/** \brief + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param host_if - Linux netdev interface name + @param name - new rdma interface name + @param rxq_num - number of receive queues (optional) + @param rxq_size - receive queue size (optional) + @param txq_size - transmit queue size (optional) + @param mode - operation mode (optional) + @param no_multi_seg (optional) - disable chained buffer RX + @param max_pktlen (optional) - maximal RX packet size. + @param rss4 (optional) - IPv4 RSS + @param rss6 (optional) - IPv6 RSS +*/ + +define rdma_create_v3 +{ + u32 client_index; + u32 context; + + string host_if[64]; + string name[64]; + u16 rxq_num [default=1]; + u16 rxq_size [default=1024]; + u16 txq_size [default=1024]; + vl_api_rdma_mode_t mode [default=0]; + bool no_multi_seg [default=0]; + u16 max_pktlen [default=0]; + vl_api_rdma_rss4_t rss4 [default=0]; + vl_api_rdma_rss6_t rss6 [default=0]; + option vat_help = "<host-if ifname> [name <name>] [rx-queue-size <size>] [tx-queue-size <size>] [num-rx-queues <size>] [mode <auto|ibv|dv>] [no-multi-seg] [max-pktlen <size>] [rss <ipv4|ipv4-udp|ipv4-tcp>] [rss <ipv6|ipv6-udp|ipv6-tcp>]"; +}; + /** \brief @param context - sender context, to match reply w/ request @@ -114,6 +163,19 @@ define rdma_create_v2_reply @param sw_if_index - interface index */ +define rdma_create_v3_reply +{ + u32 context; + i32 retval; + vl_api_interface_index_t sw_if_index; +}; + +/** \brief + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param sw_if_index - interface index +*/ + autoreply define rdma_delete { u32 client_index; |