• Jarod Wilson's avatar
    e1000e: keep VLAN interfaces functional after rxvlan off · 889ad456
    Jarod Wilson authored
    I've got a bug report about an e1000e interface, where a VLAN interface is
    set up on top of it:
    
    $ ip link add link ens1f0 name ens1f0.99 type vlan id 99
    $ ip link set ens1f0 up
    $ ip link set ens1f0.99 up
    $ ip addr add 192.168.99.92 dev ens1f0.99
    
    At this point, I can ping another host on vlan 99, ip 192.168.99.91.
    However, if I do the following:
    
    $ ethtool -K ens1f0 rxvlan off
    
    Then no traffic passes on ens1f0.99. It comes back if I toggle rxvlan on
    again. I'm not sure if this is actually intended behavior, or if there's a
    lack of software VLAN stripping fallback, or what, but things continue to
    work if I simply don't call e1000e_vlan_strip_disable() if there are
    active VLANs (plagiarizing a function from the e1000 driver here) on the
    interface.
    
    Also slipped a related-ish fix to the kerneldoc text for
    e1000e_vlan_strip_disable here...
    Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    889ad456
netdev.c 212 KB