• Vladimir Oltean's avatar
    net: dsa: Advertise the VLAN offload netdev ability only if switch supports it · 9b236d2a
    Vladimir Oltean authored
    When adding a VLAN sub-interface on a DSA slave port, the 8021q core
    checks NETIF_F_HW_VLAN_CTAG_FILTER and, if the netdev is capable of
    filtering, calls .ndo_vlan_rx_add_vid or .ndo_vlan_rx_kill_vid to
    configure the VLAN offloading.
    
    DSA sets this up counter-intuitively: it always advertises this netdev
    feature, but the underlying driver may not actually support VLAN table
    manipulation. In that case, the DSA core is forced to ignore the error,
    because not being able to offload the VLAN is still fine - and should
    result in the creation of a non-accelerated VLAN sub-interface.
    
    Change this so that the netdev feature is only advertised for switch
    drivers that support VLAN manipulation, instead of checking for
    -EOPNOTSUPP at runtime.
    Suggested-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9b236d2a
slave.c 43.3 KB