Hi All, I am experimenting DPDK with VMXNET3. I see that the vmxnet3 driver code does not set vlan filtering if port is in promiscuous mode. I modified the vmxnet3 code to skip the check for promiscuous port, code below. But it does not seem like filtering works with this change, when port is in prom. mode.
Does the firmware not look at the vlan table if port is in promiscuous mode. Any help is appreciated. Thanks!! /* Enable/disable filter on vlan */ static int vmxnet3_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vid, int on) { struct vmxnet3_hw *hw = dev->data->dev_private; struct Vmxnet3_RxFilterConf *rxConf = &hw->shared->devRead.rxFilterConf; uint32_t *vf_table = rxConf->vfTable; /* save state for restore */ if (on) VMXNET3_SET_VFTABLE_ENTRY(hw->shadow_vfta, vid); else VMXNET3_CLEAR_VFTABLE_ENTRY(hw->shadow_vfta, vid); *#if 0* * /* don't change active filter if in promiscuous mode */* * if (rxConf->rxMode & VMXNET3_RXM_PROMISC)* * return 0;* *#endif* /* set in hardware */ if (on) VMXNET3_SET_VFTABLE_ENTRY(vf_table, vid); else VMXNET3_CLEAR_VFTABLE_ENTRY(vf_table, vid); VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_UPDATE_VLAN_FILTERS); return 0; } -- A.Geetha "Everything is Possible. The impossible only takes a little longer"