aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/devices/af_packet/af_packet_api.c
diff options
context:
space:
mode:
authorMohsin Kazmi <sykazmi@cisco.com>2022-03-25 14:27:45 +0000
committerDamjan Marion <dmarion@me.com>2022-04-04 14:22:36 +0000
commit5a7aa51f00d562814204aca7831777651a00869f (patch)
tree33539381ecf5de1ff1f5f82e85dc8e415589f147 /src/vnet/devices/af_packet/af_packet_api.c
parent3414977152ae6362277158dc732e6b9958a6e618 (diff)
devices: add multi-queue support for af-packet
Type: feature Change-Id: I0f4e6517fcfa07ffb0aba89b159ac1337937a508 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Diffstat (limited to 'src/vnet/devices/af_packet/af_packet_api.c')
-rw-r--r--src/vnet/devices/af_packet/af_packet_api.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/vnet/devices/af_packet/af_packet_api.c b/src/vnet/devices/af_packet/af_packet_api.c
index 3d57977eb49..693380d8ae5 100644
--- a/src/vnet/devices/af_packet/af_packet_api.c
+++ b/src/vnet/devices/af_packet/af_packet_api.c
@@ -68,6 +68,9 @@ vl_api_af_packet_create_v2_t_handler (vl_api_af_packet_create_v2_t *mp)
arg->host_if_name = format (0, "%s", mp->host_if_name);
vec_add1 (arg->host_if_name, 0);
+ // Default number of rx/tx queue(s)
+ arg->num_rxqs = 1;
+ arg->num_txqs = 1;
arg->rx_frame_size = clib_net_to_host_u32 (mp->rx_frame_size);
arg->tx_frame_size = clib_net_to_host_u32 (mp->tx_frame_size);
arg->rx_frames_per_block = clib_net_to_host_u32 (mp->rx_frames_per_block);
@@ -76,14 +79,10 @@ vl_api_af_packet_create_v2_t_handler (vl_api_af_packet_create_v2_t *mp)
arg->mode = AF_PACKET_IF_MODE_ETHERNET;
if (mp->num_rx_queues > 1)
- {
- rv = VNET_API_ERROR_INVALID_VALUE;
- goto out;
- }
+ arg->num_rxqs = clib_net_to_host_u16 (mp->num_rx_queues);
rv = af_packet_create_if (arg);
-out:
vec_free (arg->host_if_name);
REPLY_MACRO2 (VL_API_AF_PACKET_CREATE_V2_REPLY, ({
rmp->sw_if_index = clib_host_to_net_u32 (arg->sw_if_index);