1. 24 May, 2019 10 commits
    • David Ahern's avatar
      ipv6: Refactor exception functions · c0b220cf
      David Ahern authored
      Before moving exception bucket from fib6_info to fib6_nh, refactor
      rt6_flush_exceptions, rt6_remove_exception_rt, rt6_mtu_change_route,
      and rt6_update_exception_stamp_rt. In all 3 cases, move the primary
      logic into a new helper that starts with fib6_nh_. The latter 3
      functions still take a fib6_info; this will be changed to fib6_nh
      in the next patch.
      
      In the case of rt6_mtu_change_route, move the fib6_metric_locked
      out as a standalone check - no need to call the new function if
      the fib entry has the mtu locked. Also, add fib6_info to
      rt6_mtu_change_arg as a way of passing the fib entry to the new
      helper.
      
      No functional change intended. The goal here is to make the next
      patch easier to review by moving existing lookup logic for each to
      new helpers.
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c0b220cf
    • David Ahern's avatar
      ipv6: Refactor fib6_drop_pcpu_from · 7d88d8b5
      David Ahern authored
      Move the existing pcpu walk in fib6_drop_pcpu_from to a new
      helper, __fib6_drop_pcpu_from, that can be invoked per fib6_nh with a
      reference to the from entries that need to be evicted. If the passed
      in 'from' is non-NULL then only entries associated with that fib6_info
      are removed (e.g., case where fib entry is deleted); if the 'from' is
      NULL are entries are flushed (e.g., fib6_nh is deleted).
      
      For fib6_info entries with builtin fib6_nh (ie., current code) there
      is no change in behavior.
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d88d8b5
    • David Ahern's avatar
      ipv6: Move pcpu cached routes to fib6_nh · f40b6ae2
      David Ahern authored
      rt6_info are specific instances of a fib entry and are tied to a
      device and gateway - ie., a nexthop. Before nexthop objects, IPv6 fib
      entries have separate fib6_info for each nexthop in a multipath route,
      so the location of the pcpu cache in the fib6_info struct worked.
      However, with nexthop objects a fib6_info can point to a set of nexthops
      (yet another alignment of ipv6 with ipv4). Accordingly, the pcpu
      cache needs to be moved to the fib6_nh struct so the cached entries
      are local to the nexthop specification used to create the rt6_info.
      
      Initialization and free of the pcpu entries moved to fib6_nh_init and
      fib6_nh_release.
      
      Change in location only, from fib6_info down to fib6_nh; no other
      functional change intended.
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f40b6ae2
    • David S. Miller's avatar
      Merge branch 'ENETC-support-hardware-timestamping' · daeceb2d
      David S. Miller authored
      Y.b. Lu says:
      
      ====================
      ENETC: support hardware timestamping
      
      This patch-set is to support hardware timestamping for ENETC
      and also to add ENETC 1588 timer device tree node for ls1028a.
      
      Because the ENETC RX BD ring dynamic allocation has not been
      supported and it is too expensive to use extended RX BDs
      if timestamping is not used, a Kconfig option is used to
      enable extended RX BDs in order to support hardware
      timestamping. This option will be removed once RX BD
      ring dynamic allocation is implemented.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      daeceb2d
    • Y.b. Lu's avatar
      arm64: dts: fsl: ls1028a: add ENETC 1588 timer node · 49401003
      Y.b. Lu authored
      Add ENETC 1588 timer node which is ENETC PF 4 (Physiscal Function 4).
      Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49401003
    • Y.b. Lu's avatar
      dt-binding: ptp_qoriq: support ENETC PTP compatible · ad8288b8
      Y.b. Lu authored
      Add a new compatible for ENETC PTP.
      Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ad8288b8
    • Y.b. Lu's avatar
      enetc: add get_ts_info interface for ethtool · 41514737
      Y.b. Lu authored
      This patch is to add get_ts_info interface for ethtool
      to support getting timestamping capability.
      Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41514737
    • Y.b. Lu's avatar
      enetc: add hardware timestamping support · d3982312
      Y.b. Lu authored
      This patch is to add hardware timestamping support
      for ENETC. On Rx, timestamping is enabled for all
      frames. On Tx, we only instruct the hardware to
      timestamp the frames marked accordingly by the stack.
      
      Because the RX BD ring dynamic allocation has not been
      supported and it is too expensive to use extended RX BDs
      if timestamping is not used, a Kconfig option is used to
      enable extended RX BDs in order to support hardware
      timestamping. This option will be removed once RX BD
      ring dynamic allocation is implemented.
      Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d3982312
    • Esben Haabendal's avatar
      net: ll_temac: Fix compile error · dfb569f2
      Esben Haabendal authored
      Fixes: 1b3fa5cf ("net: ll_temac: Cleanup multicast filter on change")
      Signed-off-by: default avatarEsben Haabendal <esben@geanix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dfb569f2
    • David S. Miller's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 884714ce
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2019-05-23
      
      This series contains updates to ice driver only.
      
      Anirudh cleans up white space issues and other code formatting issues in the
      driver.  Also implemented LLDP persistence across reboots and start/stop of the
      LLDP agent.  Updated print statements for driver capabilities to include
      if it is a device or function capability.
      
      Bruce cleaned up variable declarations by removing unneeded assignment.
      
      Dave fixes a potential hang due to a couple of flows that recursively
      acquire the RTNL lock which results in a deadlock.
      
      Tony updates the driver to advertise what link modes we are capable of
      when the user does not request a specific link mode.
      
      Usha fixes up the LLDP MIB change event handling by cleaning up
      workarounds and print the DCB configuration changes detected.
      
      Brett fixes the driver to handle failures in the VF reset path, which
      was failing to free resources upon an error.
      
      Richard fixed the reported of stats via ethtool to align with our other
      Intel drivers.
      
      Jesse optimizes the transmit buffer and ring structures to have more
      efficient ordering to get hot cache lines to have packed data.  Also
      optimized the VF structure to use less memory, since it is used hundreds
      of times throughout the driver.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      884714ce
  2. 23 May, 2019 30 commits