1. 07 Dec, 2021 3 commits
  2. 03 Dec, 2021 6 commits
  3. 25 Nov, 2021 4 commits
  4. 24 Nov, 2021 16 commits
  5. 23 Nov, 2021 11 commits
    • Jakub Kicinski's avatar
      net: remove .ndo_change_proto_down · 2106efda
      Jakub Kicinski authored
      .ndo_change_proto_down was added seemingly to enable out-of-tree
      implementations. Over 2.5yrs later we still have no real users
      upstream. Hardwire the generic implementation for now, we can
      revert once real users materialize. (rocker is a test vehicle,
      not a user.)
      
      We need to drop the optimization on the sysfs side, because
      unlike ndos priv_flags will be changed at runtime, so we'd
      need READ_ONCE/WRITE_ONCE everywhere..
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2106efda
    • David S. Miller's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue · c384cee1
      David S. Miller authored
      Tony Nguyen says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2021-11-22
      
      Shiraz Saleem says:
      
      Currently E800 devices come up as RoCEv2 devices by default.
      
      This series add supports for users to configure iWARP or RoCEv2 functionality
      per PCI function. devlink parameters is used to realize this and is keyed
      off similar work in [1].
      
      [1] https://lore.kernel.org/linux-rdma/20210810132424.9129-1-parav@nvidia.com/
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c384cee1
    • David S. Miller's avatar
      Merge branch 'mvpp2-5gbase-r-support' · 5f11542f
      David S. Miller authored
      Marek Behún says:
      
      ====================
      Add 5gbase-r support for mvpp2
      
      this adds support for 5gbase-r for mvpp2 driver. Current versions of
      TF-A firmware support changing the PHY to 5gbase-r via SMC calls, at
      least on Macchiatobin.
      
      Tested on Macchiatobin.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f11542f
    • Marek Behún's avatar
      net: marvell: mvpp2: Add support for 5gbase-r · 4043ec70
      Marek Behún authored
      Add support for PHY_INTERFACE_MODE_5GBASER.
      Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4043ec70
    • Marek Behún's avatar
      phy: marvell: phy-mvebu-cp110-comphy: add support for 5gbase-r · a1fb410a
      Marek Behún authored
      Add support for PHY_INTERFACE_MODE_5GBASER mode within the Marvell CP110
      common PHY driver.
      
      This is currently only supported via SMC calls to TF-A. Legacy support
      may be added later, if needed.
      Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a1fb410a
    • Gerhard Engleder's avatar
      tsnep: Fix set MAC address · 75e47206
      Gerhard Engleder authored
      Commit 4dfb9982 ("tsn:  Fix build.") fixed compilation with const
      dev_addr. In tsnep_netdev_set_mac_address() the call of ether_addr_copy()
      was replaced with dev_set_mac_address(), which calls
      ndo_set_mac_address(). This results in an endless recursive loop because
      ndo_set_mac_address is set to tsnep_netdev_set_mac_address.
      
      Call eth_hw_addr_set() instead of dev_set_mac_address() in
      ndo_set_mac_address()/tsnep_netdev_set_mac_address() to copy the address
      as intended.
      
      [   26.563303] Insufficient stack space to handle exception!
      [   26.563312] ESR: 0x96000047 -- DABT (current EL)
      [   26.563317] FAR: 0xffff80000a507fc0
      [   26.563320] Task stack:     [0xffff80000a508000..0xffff80000a50c000]
      [   26.563324] IRQ stack:      [0xffff80000a0c0000..0xffff80000a0c4000]
      [   26.563327] Overflow stack: [0xffff00007fbaf2b0..0xffff00007fbb02b0]
      [   26.563333] CPU: 3 PID: 381 Comm: ifconfig Not tainted 5.16.0-rc1-zynqmp #60
      [   26.563340] Hardware name: TSN endpoint (DT)
      [   26.563343] pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      [   26.563351] pc : inetdev_event+0x4/0x560
      [   26.563364] lr : raw_notifier_call_chain+0x54/0x78
      [   26.563372] sp : ffff80000a508040
      [   26.563374] x29: ffff80000a508040 x28: ffff00000132b800 x27: 0000000000000000
      [   26.563386] x26: 0000000000000000 x25: ffff800000ea5058 x24: 0904030201020001
      [   26.563396] x23: ffff800000ea5058 x22: ffff80000a5080e0 x21: 0000000000000009
      [   26.563405] x20: 00000000fffffffa x19: ffff80000a009510 x18: 0000000000000000
      [   26.563414] x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffffd1341030
      [   26.563422] x14: ffffffffffffffff x13: 0000000000000020 x12: 0101010101010101
      [   26.563432] x11: 0000000000000020 x10: 0101010101010101 x9 : 7f7f7f7f7f7f7f7f
      [   26.563441] x8 : 7f7f7f7f7f7f7f7f x7 : fefefeff30677364 x6 : 0000000080808080
      [   26.563450] x5 : 0000000000000000 x4 : ffff800008dee170 x3 : ffff80000a50bd42
      [   26.563459] x2 : ffff80000a5080e0 x1 : 0000000000000009 x0 : ffff80000a0092d0
      [   26.563470] Kernel panic - not syncing: kernel stack overflow
      [   26.563474] CPU: 3 PID: 381 Comm: ifconfig Not tainted 5.16.0-rc1-zynqmp #60
      [   26.563481] Hardware name: TSN endpoint (DT)
      [   26.563484] Call trace:
      [   26.563486]  dump_backtrace+0x0/0x1b0
      [   26.563497]  show_stack+0x18/0x68
      [   26.563504]  dump_stack_lvl+0x68/0x84
      [   26.563513]  dump_stack+0x18/0x34
      [   26.563519]  panic+0x164/0x324
      [   26.563524]  nmi_panic+0x64/0x98
      [   26.563533]  panic_bad_stack+0x108/0x128
      [   2k6.563539]  handle_bad_stack+0x38/0x68
      [   26.563548]  __bad_stack+0x88/0x8c
      [   26.563553]  inetdev_event+0x4/0x560
      [   26.563560]  call_netdevice_notifiers_info+0x58/0xa8
      [   26.563569]  dev_set_mac_address+0x78/0x110
      [   26.563576]  tsnep_netdev_set_mac_address+0x38/0x60 [tsnep]
      [   26.563591]  dev_set_mac_address+0xc4/0x110
      [   26.563599]  tsnep_netdev_set_mac_address+0x38/0x60 [tsnep]
      ...
      [   26.565444]  dev_set_mac_address+0xc4/0x110
      [   26.565452]  tsnep_netdev_set_mac_address+0x38/0x60 [tsnep]
      [   26.565462]  dev_set_mac_address+0xc4/0x110
      [   26.565469]  dev_set_mac_address_user+0x44/0x68
      [   26.565477]  dev_ifsioc+0x30c/0x568
      [   26.565483]  dev_ioctl+0x124/0x3f0
      [   26.565489]  sock_do_ioctl+0xb4/0xf8
      [   26.565497]  sock_ioctl+0x2f4/0x398
      [   26.565503]  __arm64_sys_ioctl+0xa8/0xe8
      [   26.565511]  invoke_syscall+0x44/0x108
      [   26.565520]  el0_svc_common.constprop.3+0x94/0xf8
      [   26.565527]  do_el0_svc+0x24/0x88
      [   26.565534]  el0_svc+0x20/0x50
      [   26.565541]  el0t_64_sync_handler+0x90/0xb8
      [   26.565548]  el0t_64_sync+0x180/0x184
      [   26.565556] SMP: stopping secondary CPUs
      [   26.565622] Kernel Offset: disabled
      [   26.565624] CPU features: 0x0,00004002,00000846
      [   26.565628] Memory Limit: none
      [   27.843428] ---[ end Kernel panic - not syncing: kernel stack overflow ]---
      
      Fixes: 4dfb9982 ("tsn:  Fix build.")
      Signed-off-by: default avatarGerhard Engleder <gerhard@engleder-embedded.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      75e47206
    • David S. Miller's avatar
      Merge branch 'qca8k-mirror-and-lag-support' · 33e2ec52
      David S. Miller authored
      Ansuel Smith says:
      
      ====================
      Add mirror and LAG support to qca8k
      
      With the continue of adding 'Multiple feature to qca8k'
      
      The switch supports mirror mode and LAG.
      In mirror mode a port is set as mirror and other port are configured
      to both igress or egress mode. With no port configured for mirror,
      the mirror port is disabled and reverted to normal port.
      
      The switch supports max 4 LAG with 4 different member max.
      Current supported mode is Hash mode in both L2 or L2+3 mode.
      There is a problematic implementation for the hash mode where
      with multiple LAG configured, someone has to remove them to
      change the hash mode as it's global.
      When a member of the LAG is disconnected, the traffic is redirected
      to the other port.
      
      Some warning are present from checkpatch but can't really be fixed
      as it would result in making the regs less readable.
      (They really did their best with the LAG reg logic and complexity)
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      33e2ec52
    • Ansuel Smith's avatar
      net: dsa: qca8k: add LAG support · def97530
      Ansuel Smith authored
      Add LAG support to this switch. In Documentation this is described as
      trunk mode. A max of 4 LAGs are supported and each can support up to 4
      port. The current tx mode supported is Hash mode with both L2 and L2+3
      mode.
      When no port are present in the trunk, the trunk is disabled in the
      switch.
      When a port is disconnected, the traffic is redirected to the other
      available port.
      The hash mode is global and each LAG require to have the same hash mode
      set. To change the hash mode when multiple LAG are configured, it's
      required to remove each LAG and set the desired hash mode to the last.
      An error is printed when it's asked to set a not supported hadh mode.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      def97530
    • Ansuel Smith's avatar
      net: dsa: qca8k: add support for mirror mode · 2c1bdbc7
      Ansuel Smith authored
      The switch supports mirror mode. Only one port can set as mirror port and
      every other port can set to both ingress and egress mode. The mirror
      port is disabled and reverted to normal operation once every port is
      removed from sending packet to it.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c1bdbc7
    • Yajun Deng's avatar
      neigh: introduce neigh_confirm() helper function · 1e84dc6b
      Yajun Deng authored
      Add neigh_confirm() for the confirmed member in struct neighbour,
      it can be called as an independent unit by other functions.
      Signed-off-by: default avatarYajun Deng <yajun.deng@linux.dev>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e84dc6b
    • Jeremy Kerr's avatar
      mctp: Add MCTP-over-serial transport binding · a0c2ccd9
      Jeremy Kerr authored
      This change adds a MCTP Serial transport binding, as defined by DMTF
      specificiation DSP0253 - "MCTP Serial Transport Binding". This is
      implemented as a new serial line discipline, and can be attached to
      arbitrary tty devices.
      
      From the Kconfig description:
      
        This driver provides an MCTP-over-serial interface, through a
        serial line-discipline, as defined by DMTF specification "DSP0253 -
        MCTP Serial Transport Binding". By attaching the ldisc to a serial
        device, we get a new net device to transport MCTP packets.
      
        This allows communication with external MCTP endpoints which use
        serial as their transport. It can also be used as an easy way to
        provide MCTP connectivity between virtual machines, by forwarding
        data between simple virtual serial devices.
      
        Say y here if you need to connect to MCTP endpoints over serial. To
        compile as a module, use m; the module will be called mctp-serial.
      
      Once the N_MCTP line discipline is set [using ioctl(TCIOSETD)], we get a
      new netdev suitable for MCTP communication.
      
      The 'mctp' utility[1] provides a simple wrapper for this ioctl, using
      'link serial <device>':
      
        # mctp link serial /dev/ttyS0 &
        # mctp link
        dev lo index 1 address 0x00:00:00:00:00:00 net 1 mtu 65536 up
        dev mctpserial0 index 5 address 0x(no-addr) net 1 mtu 68 down
      
      [1]: https://github.com/CodeConstruct/mctpSigned-off-by: default avatarJeremy Kerr <jk@codeconstruct.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a0c2ccd9