Skip to content
  1. May 02, 2017
  2. May 01, 2017
    • Ido Schimmel's avatar
      mlxsw: spectrum_router: Simplify VRF enslavement · b1e45526
      Ido Schimmel authored
      When a netdev is enslaved to a VRF master, its router interface (RIF)
      needs to be destroyed (if exists) and a new one created using the
      corresponding virtual router (VR).
      
      >From the driver's perspective, the above is equivalent to an inetaddr
      event sent for this netdev. Therefore, when a port netdev (or its
      uppers) are enslaved to a VRF master, call the same function that
      would've been called had a NETDEV_UP was sent for this netdev in the
      inetaddr notification chain.
      
      This patch also fixes a bug when a LAG netdev with an existing RIF is
      enslaved to a VRF. Before this patch, each LAG port would drop the
      reference on the RIF, but would re-join the same one (in the wrong VR)
      soon after. With this patch, the corresponding RIF is first destroyed
      and a new one is created using the correct VR.
      
      Fixes: 7179eb5a
      
       ("mlxsw: spectrum_router: Add support for VRFs")
      Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Reviewed-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b1e45526
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2017-04-30' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · cedf90c0
      David S. Miller authored
      
      
      mlx5-updates-2017-04-30
      
      Or says:
      ================
      mlx5 neigh update
      
      This series (whose code name is 'neigh update') from Hadar, enhances the
      mlx5 TC IP tunnel offloads to deal with changes to tunnel destination
      neighbours used in offloaded flows which involved encapsulation.
      
      In order to keep track on the validity state of such neighbours, we register
      a netevent notifier callback and act on NEIGH_UPDATE events: if a neighbour
      becomes valid, offload the related flows to HW (the other way around when
      neigh becomes invalid) and similarly when a neigh mac addresses changes.
      
      Since this traffic is offloaded from the host OS, the neighbour for the IP
      tunnel destination can mistakenly become STALE and deleted by the kernel
      since its 'used' value wasn't changed. To address that, we proactively
      update the neighbour 'used' value every DELAY_PROBE_TIME seconds, using
      time stamps generated by the existing driver code for HW flow counters.
      We use the DELAY_PROBE_TIME_UPDATE event to adjust the frequency of the updates.
      
      Prior to the core of the series, there's a patch from Saeed that introduces an
      extendable vport representor implementation scheme. It provides a separation
      between the eswitch to the netdev related aspects of the representors.
      
      We would like to thank Ido Schimmel and Ilya Lesokhin for their coaching && advice
      through the long design and review cycles while we struggled to understand and
      (hopefully correctly) implement the locking around the different driver flows(..) .
      
      - Or.
      =================
      
      Misc Updates:
      
      From Tariq:
      Some small performance and trivial code optimization for mlx5 netdev driver
      - Optimize poll ICOSQ completion queue
      - Use prefetchw when a write is to follow
      - Use u8 as ownership type in mlx5e_get_cqe()
      
      From Eran:
      - Disable LRO by default on specific setups
      
      From Eli:
      - Small cleanup for E-Switch to avoid redundant allocation
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cedf90c0
    • Mintz, Yuval's avatar
      qed: Prevent warning without CONFIG_RFS_ACCEL · 07ff2ed0
      Mintz, Yuval authored
      After removing the PTP related initialization from slowpath start,
      the remaining PTT entry is required only in case CONFIG_RFS_ACCEL is set.
      Otherwise, it leads to a warning due to it being unused.
      
      Fixes: d179bd16
      
       ("qed: Acquire/release ptt_ptp lock when enabling/disabling PTP")
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      07ff2ed0
    • David S. Miller's avatar
      Merge branch 'qed-RoCE-fixes' · a6e8ab8e
      David S. Miller authored
      
      
      Yuval Mintz says:
      
      ====================
      qed: RoCE related pseudo-fixes
      
      This series contains multiple small corrections to the RoCE logic
      in qed plus some debug information and inter-module parameter
      meant to prevent issues further along.
      
       - #1, #6 Share information with protocol driver
         [either new or filling missing bits in existing API].
       - #2, #3 correct error flows in qed.
       - #4 add debug related information.
       - #5 fixes a minor issue in the HW configuration.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6e8ab8e
    • Ram Amrani's avatar
      qed: output the DPM status and WID count · 20b1bd96
      Ram Amrani authored
      
      
      Output to the RDMA driver whether DPM mode is enabled or disabled in
      the HW and if so what is the number of WIDs it supports
      
      Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20b1bd96
    • Ram Amrani's avatar
      qed: align DPI configuration to HW requirements · 107392b7
      Ram Amrani authored
      
      
      When calculating doorbell BAR partitioning round up the number of
      CPUs to the nearest power of 2 so the size of the DPI (per user
      section) configured in the hardware will be stored properly and
      not truncated.
      
      Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      107392b7
    • Ram Amrani's avatar
      qed: verify RoCE resource bitmaps are released · e015d58b
      Ram Amrani authored
      
      
      Add mechanism to verify RoCE resources are released prior to freeing the
      bitmaps. If this is not the case, print what resources were not released.
      
      Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e015d58b
    • Ram Amrani's avatar
      qed: add error handling flow to TID deregistratin posting failure · 10536194
      Ram Amrani authored
      
      
      If the posting of the ramrod for the purpose of TID deregistration
      fails, abort the deregistration operation without using the FW's
      return code.
      
      Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10536194