From 4fe09e9f297985e3f452f7722c138d393e8533af Mon Sep 17 00:00:00 2001 From: Nathan Skrzypczak Date: Mon, 28 Mar 2022 18:39:58 +0200 Subject: dpdk: add intf tag to dev{} subinput This patch allows to pass a tag when specifying the dpdk `dev { }` interface configuration. It allows a control plane generating a vpp.conf file to retreive the resulting mapping between dpdk interfaces & sw_if_indices in VPP without having to change the interface name exposed to the user. Type: feature Change-Id: I55907417de0083b82d4a127172816cec3459acf3 Signed-off-by: Nathan Skrzypczak --- src/plugins/dpdk/device/dpdk.h | 1 + src/plugins/dpdk/device/init.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 7569fc60a90..7238ecf5515 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -243,6 +243,7 @@ typedef struct }; dpdk_device_addr_type_t dev_addr_type; u8 *name; + u8 *tag; u8 is_blacklisted; #define _(x) uword x; diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 83ce2dc9cbc..d6115009cc0 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -449,6 +449,9 @@ dpdk_lib_init (dpdk_main_t * dm) xd->sw_if_index = sw->sw_if_index; dpdk_log_debug ("[%u] interface %s created", port_id, hi->name); + if (devconf->tag) + vnet_set_sw_interface_tag (vnm, devconf->tag, sw->sw_if_index); + ethernet_set_flags (vnm, xd->hw_if_index, ETHERNET_INTERFACE_FLAG_DEFAULT_L3); @@ -877,6 +880,8 @@ dpdk_device_config (dpdk_config_main_t *conf, void *addr, ; else if (unformat (input, "name %v", &devconf->name)) ; + else if (unformat (input, "tag %s", &devconf->tag)) + ; else if (unformat (input, "workers %U", unformat_bitmap_list, &devconf->workers)) ; -- cgit 1.2.3-korg