diff options
Diffstat (limited to 'src/plugins/dpdk/device/flow.c')
-rw-r--r-- | src/plugins/dpdk/device/flow.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/dpdk/device/flow.c b/src/plugins/dpdk/device/flow.c index 85a62bbf46b..dd62ba5c73b 100644 --- a/src/plugins/dpdk/device/flow.c +++ b/src/plugins/dpdk/device/flow.c @@ -32,6 +32,11 @@ #define FLOW_IS_L2_LAYER(f) \ (f->type == VNET_FLOW_TYPE_ETHERNET) +/* check if flow is VLAN sensitive */ +#define FLOW_IS_VLAN_TAGGED(f) \ + ((f->type == VNET_FLOW_TYPE_IP4_N_TUPLE_TAGGED) || \ + (f->type == VNET_FLOW_TYPE_IP6_N_TUPLE_TAGGED)) + /* check if flow is L4 type */ #define FLOW_IS_L4_LAYER(f) \ ((f->type == VNET_FLOW_TYPE_IP4_N_TUPLE) || \ @@ -134,9 +139,7 @@ dpdk_flow_add (dpdk_device_t * xd, vnet_flow_t * f, dpdk_flow_entry_t * fe) item->mask = NULL; } - /* VLAN */ - if ((f->type == VNET_FLOW_TYPE_IP4_N_TUPLE) || - (f->type == VNET_FLOW_TYPE_IP6_N_TUPLE)) + if (FLOW_IS_VLAN_TAGGED (f)) { vec_add2 (items, item, 1); item->type = RTE_FLOW_ITEM_TYPE_VLAN; |