From a03c7c5ee14b4928802c280cc24b82e4d35985d3 Mon Sep 17 00:00:00 2001 From: Raja Sivaramakrishnan Date: Thu, 19 May 2016 13:52:58 -0700 Subject: [PATCH] Set vlan filter only when vrouter physical interface is a VF. Change-Id: Iad9a60ba9fa737167a650cd80997ff149cc8c9cf Closes-bug: 1573255 --- dpdk/vr_dpdk_interface.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dpdk/vr_dpdk_interface.c b/dpdk/vr_dpdk_interface.c index 6f4af7829..957d2b2d4 100644 --- a/dpdk/vr_dpdk_interface.c +++ b/dpdk/vr_dpdk_interface.c @@ -174,7 +174,11 @@ dpdk_set_hw_vlan_filter_strip(uint32_t port_id, struct vr_interface *vif) ðdev->ethdev_port_id:ethdev->ethdev_slaves; do { - if (vr_dpdk.vlan_tag != VLAN_ID_INVALID) { + /* + * TODO: vf_lcore_id check for SR-IOV VF should be a per-interface + * check to handle the case where a bond has a VF and a PF in it. + */ + if ((vr_dpdk.vlan_tag != VLAN_ID_INVALID) && vr_dpdk.vf_lcore_id) { ret = rte_eth_dev_set_vlan_offload(*port_id_ptr, ETH_VLAN_FILTER_OFFLOAD); if (ret) { RTE_LOG(INFO, VROUTER, "Error %d enabling vlan offload on port %d\n",