X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Frdma%2Frdma.api;h=f2c70c7e514aef1e11f0d7f200615d2e7b8cb002;hb=f5a45680ee1c9c586ab2b037e3d71354789e4403;hp=4519e2316d317ac8f5254ee56587dfdafed50f01;hpb=ee60ac638c9abcd0763c57fce0e3e646723ea0e0;p=vpp.git 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 = " [name ] [rx-queue-size ] [tx-queue-size ] [num-rx-queues ] [mode ] [no-multi-seg] [max-pktlen ]"; }; +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 = " [name ] [rx-queue-size ] [tx-queue-size ] [num-rx-queues ] [mode ] [no-multi-seg] [max-pktlen ] [rss ] [rss ]"; +}; + /** \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;