On 2018/10/24 7:15, Soohoon Lee wrote: > 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? As I told you yesterday off-list, the problem looks like that ixgbevf is advertising NETIF_F_HW_VLAN_CTAG_FILTER when it cannot do it. > 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 > > -- Toshiaki Makita