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 at gmail.com>
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