It's reproduced in XEN environment. And found that vlan support is disabled in ixgbe driver. So then my question again is what does vlan_enabled flag do? If vlan_enabled == 0 then the bridge driver shouldn't do any vlan thing? On Tue, Oct 23, 2018 at 11:22 AM Soohoon Lee <soohoon@xxxxxxxxx> wrote: > > Hi, I'm a bridge newbie. > > I found that vlan_enabled is 0 by default but the bridge still > programs PVID and it rejects adding interface if programming PVID > fails. > > I got this symptom since CentOS/RHEL 7.4 and this change is making the > difference. > > br_vlan.c: > > - if (p && p->br->vlan_enabled)) { > > + if (p) { > err = vlan_vid_add(dev, br->vlan_proto, vid); > > more details about the environment is > > AWS m4.xlarge with ixgbevf. > ixgbevf failed in this function when it tries to program PVID. > > drivers/net/ethernet/intel/ixgbevf/vf.c: > static s32 ixgbevf_set_vfta_vf(struct ixgbe_hw *hw, u32 vlan, u32 vind, > ... > err = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf, > sizeof(msgbuf) / sizeof(u32)); > ... > if (msgbuf[0] != (IXGBE_VF_SET_VLAN | IXGBE_VT_MSGTYPE_ACK)) > > the msbuf has NACK in it. > > What would be a good fix for this? > > Thanks > Soohoon