1. 13 May, 2020 36 commits
  2. 12 May, 2020 4 commits
    • William Tu's avatar
      erspan: Check IFLA_GRE_ERSPAN_VER is set. · 51fa960d
      William Tu authored
      Add a check to make sure the IFLA_GRE_ERSPAN_VER is provided by users.
      
      Fixes: f989d546 ("erspan: Add type I version 0 support.")
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarWilliam Tu <u9012063@gmail.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      51fa960d
    • David S. Miller's avatar
      Merge branch 'Traffic-support-for-dsa_8021q-in-vlan_filtering-1-mode' · 113cb8ff
      David S. Miller authored
      Vladimir Oltean says:
      
      ====================
      Traffic support for dsa_8021q in vlan_filtering=1 mode
      
      This series is an attempt to support as much as possible in terms of
      traffic I/O from the network stack with the only dsa_8021q user thus
      far, sja1105.
      
      The hardware doesn't support pushing a second VLAN tag to packets that
      are already tagged, so our only option is to combine the dsa_8021q with
      the user tag into a single tag and decode that on the CPU.
      
      The assumption is that there is a type of use cases for which 7 VLANs
      per port are more than sufficient, and that there's another type of use
      cases where the full 4096 entries are barely enough. Those use cases are
      very different from one another, so I prefer trying to give both the
      best experience by creating this best_effort_vlan_filtering knob to
      select the mode in which they want to operate in.
      
      v2 was submitted here:
      https://patchwork.ozlabs.org/project/netdev/cover/20200511135338.20263-1-olteanv@gmail.com/
      
      v1 was submitted here:
      https://patchwork.ozlabs.org/project/netdev/cover/20200510164255.19322-1-olteanv@gmail.com/
      
      Changes in v3:
      Patch 01/15:
      - Rename again to configure_vlan_while_not_filtering, and add a helper
        function for skipping VLAN configuration.
      Patch 03/15:
      - Remove sja1105_can_use_vlan_as_tags from driver code.
      Patch 06/15:
      - Adapt sja1105 driver to the second variable name change.
      Patch 08/15:
      - Provide an implementation of sja1105_can_use_vlan_as_tags as part of
        the tagger and not as part of the switch driver. So we have to look at
        the skb only, and not at the VLAN awareness state.
      
      Changes in v2:
      Patch 01/15:
      - Rename variable from vlan_bridge_vtu to configure_vlans_while_disabled.
      Patch 03/15:
      - Be much more thorough, and make sure that things like virtual links
        and FDB operations still work properly.
      Patch 05/15:
      - Free the vlan lists on teardown.
      - Simplify sja1105_classify_vlan: only look at priv->expect_dsa_8021q.
      - Keep vid 1 in the list of dsa_8021q VLANs, to make sure that untagged
        packets transmitted from the stack, like PTP, continue to work in
        VLAN-unaware mode.
      Patch 06/15:
      - Adapt to vlan_bridge_vtu variable name change.
      Patch 11/15:
      - In sja1105_best_effort_vlan_filtering_set, get the vlan_filtering
        value of each port instead of just one time for port 0. Normally this
        shouldn't matter, but it avoids issues when port 0 is disabled in
        device tree.
      Patch 14/14:
      - Only do anything in sja1105_build_subvlans and in
        sja1105_build_crosschip_subvlans when operating in
        SJA1105_VLAN_BEST_EFFORT state. This avoids installing VLAN retagging
        rules in unaware mode, which would cost us a penalty in terms of
        usable frame memory.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      113cb8ff
    • Vladimir Oltean's avatar
    • Vladimir Oltean's avatar
      net: dsa: sja1105: implement VLAN retagging for dsa_8021q sub-VLANs · 3f01c91a
      Vladimir Oltean authored
      Expand the delta commit procedure for VLANs with additional logic for
      treating bridge_vlans in the newly introduced operating mode,
      SJA1105_VLAN_BEST_EFFORT.
      
      For every bridge VLAN on every user port, a sub-VLAN index is calculated
      and retagging rules are installed towards a dsa_8021q rx_vid that
      encodes that sub-VLAN index. This way, the tagger can identify the
      original VLANs.
      
      Extra care is taken for VLANs to still work as intended in cross-chip
      scenarios. Retagging may have unintended consequences for these because
      a sub-VLAN encoding that works for the CPU does not make any sense for a
      front-panel port.
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f01c91a