1. 01 6月, 2017 1 次提交
  2. 25 5月, 2017 1 次提交
    • V
      net: dsa: support cross-chip ageing time · 64dba236
      Vivien Didelot 提交于
      Now that the switchdev bridge ageing time attribute is propagated to all
      switch chips of the fabric, each switch can check if the requested value
      is valid and program itself, so that the whole fabric shares a common
      ageing time setting.
      
      This is especially needed for switch chips in between others, containing
      no bridge port members but evidently used in the data path.
      
      To achieve that, remove the condition which skips the other switches. We
      also don't need to identify the target switch anymore, thus remove the
      sw_index member of the dsa_notifier_ageing_time_info notifier structure.
      
      On ZII Dev Rev B (with two 88E6352 and one 88E6185) and ZII Dev Rev C
      (with two 88E6390X), we have the following hardware configuration:
      
          # ip link add name br0 type bridge
          # ip link set master br0 dev lan6
          br0: port 1(lan6) entered blocking state
          br0: port 1(lan6) entered disabled state
          # echo 2000 > /sys/class/net/br0/bridge/ageing_time
      
      Before this patch:
      
          zii-rev-b# cat /sys/kernel/debug/mv88e6xxx/sw*/age_time
          300000
          300000
          15000
      
          zii-rev-c# cat /sys/kernel/debug/mv88e6xxx/sw*/age_time
          300000
          18750
      
      After this patch:
      
          zii-rev-b# cat /sys/kernel/debug/mv88e6xxx/sw*/age_time
          15000
          15000
          15000
      
          zii-rev-c# cat /sys/kernel/debug/mv88e6xxx/sw*/age_time
          18750
          18750
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64dba236
  3. 23 5月, 2017 12 次提交
  4. 18 5月, 2017 2 次提交
  5. 21 4月, 2017 1 次提交
  6. 17 4月, 2017 1 次提交
  7. 09 4月, 2017 1 次提交
  8. 08 4月, 2017 1 次提交
  9. 07 2月, 2017 2 次提交
  10. 31 1月, 2017 1 次提交
  11. 30 1月, 2017 2 次提交
  12. 27 1月, 2017 1 次提交
  13. 21 1月, 2017 1 次提交
  14. 08 1月, 2017 1 次提交
  15. 07 1月, 2017 1 次提交
  16. 16 9月, 2016 1 次提交
  17. 09 6月, 2016 2 次提交
  18. 05 6月, 2016 3 次提交
  19. 20 4月, 2016 1 次提交
  20. 08 12月, 2015 1 次提交
  21. 01 8月, 2015 2 次提交
    • F
      net: dsa: Add netconsole support · 04ff53f9
      Florian Fainelli 提交于
      Add support for using DSA slave network devices with netconsole, which
      requires us to allocate and free custom netpoll instances and invoke the
      parent network device poll controller callback.
      
      In order for netconsole to work, we need to construct the DSA tag, but
      not queue the skb for transmission on the master network device xmit
      function.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      04ff53f9
    • F
      net: dsa: Refactor transmit path to eliminate duplication · 4ed70ce9
      Florian Fainelli 提交于
      All tagging protocols do the same thing: increment device statistics,
      make room for the tag to be inserted, create the tag, invoke the parent
      network device transmit function.
      
      In order to prepare for adding netpoll support, which requires the tag
      creation, but not using the parent network device transmit function, do
      some little refactoring which eliminates duplication between the 4
      tagging protocols supported.
      
      We need to return a sk_buff pointer back to the caller because the tag
      specific transmit function may have to reallocate the original skb (e.g:
      tag_trailer.c) and this is the one we should be transmitting, not the
      original sk_buff we were passed.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4ed70ce9
  22. 26 2月, 2015 1 次提交
    • F
      net: dsa: integrate with SWITCHDEV for HW bridging · b73adef6
      Florian Fainelli 提交于
      In order to support bridging offloads in DSA switch drivers, select
      NET_SWITCHDEV to get access to the port_stp_update and parent_get_id
      NDOs that we are required to implement.
      
      To facilitate the integratation at the DSA driver level, we implement 3
      types of operations:
      
      - port_join_bridge
      - port_leave_bridge
      - port_stp_update
      
      DSA will resolve which switch ports that are currently bridge port
      members as some Switch hardware/drivers need to know about that to limit
      the register programming to just the relevant registers (especially for
      slow MDIO buses).
      
      We also take care of setting the correct STP state when slave network
      devices are brought up/down while being bridge members.
      
      Finally, when a port is leaving the bridge, we make sure we set in
      BR_STATE_FORWARDING state, otherwise the bridge layer would leave it
      disabled as a result of having left the bridge.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Tested-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b73adef6