1. 16 Jan, 2018 16 commits
  2. 15 Jan, 2018 17 commits
  3. 14 Jan, 2018 7 commits
    • David S. Miller's avatar
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 564737f9
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      10GbE Intel Wired LAN Driver Updates 2018-01-12
      
      This series contains updates to ixgbe, fm10k and net core.
      
      Alex updates the driver to remove a duplicate MAC address check and
      verifies that we have not run out of resources to configure a MAC rule
      in our filter table.  Also do not assume that dev->num_tc was populated
      and configured with the driver, since it can be configured via mqprio
      without any hardware coordination.  Fixed the recording of stats for
      MACVLAN in ixgbe and fm10k instead of recording the receive queue on
      MACVLAN offloaded frames.  When handling a MACVLAN offload, we should
      be stopping/starting traffic on our own queues instead of the upper
      devices transmit queues.  Fixed possible race conditions with the
      MACVLAN cleanup with the interface cleanup on shutdown.  With the
      recent fixes to ixgbe, we can cap the number of queues regardless of
      accel_priv being in use or not, since the actual number of queues are
      being reported via real_num_tx_queues.
      
      Tony fixes up the kernel documentation for ixgbe and ixgbevf to resolve
      warnings when W=1 is used.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      564737f9
    • David S. Miller's avatar
      Merge branch 'mlxsw-Offload-PRIO-qdisc' · 5d498214
      David S. Miller authored
      Jiri Pirko says:
      
      ====================
      mlxsw: Offload PRIO qdisc
      
      Nogah says:
      
      Add an offload support for PRIO qdisc for mlxsw driver.
      PRIO qdisc is being offloaded by using ndo_setup_tc. It has three
      commands, to set or tune the qdisc, to remove it and to get its stats.
      
      Like RED offloading, offloading this qdisc is not enforced on the driver
      and determining its offload state is done in the dump action, when the
      stats are being updated.
      In the driver, offloading of PRIO is supported as root qdisc only. It
      supports only priorities 0-7 (the range that is used by the current static
      mapping of DSCP to skb prio and by 1:1 PCP values mapping) and up to 8
      bands.
      
      Patches 1-2 offload DSCP to priority mapping in the mlxsw_sp driver.
      Patch 3 adds offload support for PRIO qdisc.
      Patches 4-5 Add PRIO offload support in the mlxsw_sp driver.
      
      ---
      v1->v2:
      - Patch 1/5:
       - Rewrite patch msg
      - Patch 3/5:
       - Send all the qstats in the replace command (and not just backlog)
      - Patch 5/5:
       - Align with the changes from 3/5
       - Move backlog to the generic qdisc stats struct
       - Delete extra newline
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d498214
    • Nogah Frankel's avatar
      mlxsw: spectrum: qdiscs: Support stats for PRIO qdisc · 93d8a4c1
      Nogah Frankel authored
      Support basic stats for PRIO qdisc, which includes tx packets and bytes
      count, drops count and backlog size. The rest of the stats are irrelevant
      for this qdisc offload.
      Since backlog is not only incremental but reflecting momentary value, in
      case of a qdisc that stops being offloaded but is not destroyed, backlog
      value needs to be updated about the un-offloading.
      For that reason an unoffload function is being added to the ops struct.
      Signed-off-by: default avatarNogah Frankel <nogahf@mellanox.com>
      Reviewed-by: default avatarYuval Mintz <yuvalm@mellanox.com>
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93d8a4c1
    • Nogah Frankel's avatar
      mlxsw: spectrum: qdiscs: Support PRIO qdisc offload · 46a3615b
      Nogah Frankel authored
      Add support for offloading PRIO qdisc as root qdisc.
      The support is for up to 8 bands.
      Routed packets priority is determined by the DSCP field with the default
      translations. Bridged packets priority is determined by the PCP field, if
      exist, otherwise it is set to 0.
      Since both options have only priorities 0-7, higher priorities mapping are
      being ignored.
      Signed-off-by: default avatarNogah Frankel <nogahf@mellanox.com>
      Reviewed-by: default avatarYuval Mintz <yuvalm@mellanox.com>
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      46a3615b
    • Nogah Frankel's avatar
      net: sch: prio: Add offload ability to PRIO qdisc · 7fdb61b4
      Nogah Frankel authored
      Add the ability to offload PRIO qdisc by using ndo_setup_tc.
      There are three commands for PRIO offloading:
      * TC_PRIO_REPLACE: handles set and tune
      * TC_PRIO_DESTROY: handles qdisc destroy
      * TC_PRIO_STATS: updates the qdiscs counters (given as reference)
      
      Like RED qdisc, the indication of whether PRIO is being offloaded is being
      set and updated as part of the dump function. It is so because the driver
      could decide to offload or not based on the qdisc parent, which could
      change without notifying the qdisc.
      Signed-off-by: default avatarNogah Frankel <nogahf@mellanox.com>
      Reviewed-by: default avatarYuval Mintz <yuvalm@mellanox.com>
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7fdb61b4
    • Yuval Mintz's avatar
      mlxsw: spectrum_router: Configure default routing priority · 48276a29
      Yuval Mintz authored
      When routing ip packets, the kernel is setting the SKB's priority
      based on the tos field of the packet.
      Imitate this behavior in the mlxsw router, having the internal
      switch priority of a routed packet determined according to its DS
      field.
      Signed-off-by: default avatarYuval Mintz <yuvalm@mellanox.com>
      Signed-off-by: default avatarNogah Frankel <nogahf@mellanox.com>
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      48276a29
    • Yuval Mintz's avatar
      mlxsw: reg: add rdpm register · ddb362ce
      Yuval Mintz authored
      Add rdpm definition - router DSCP to priority mapping register.
      This register will be utilized later to align the default mapping between
      packet DSCP and switch-priority to the kernel's mapping between
      packet priority and skb priority.
      
      This is the first non-bit indexed register where the entries are arranged
      in descending order, i.e., entry at offset 0 matches configuration for
      dscp[63]. As a result, the item's step is converted into a signed variable
      to support descending arrays [where step would be negative].
      Signed-off-by: default avatarYuval Mintz <yuvalm@mellanox.com>
      Signed-off-by: default avatarNogah Frankel <nogahf@mellanox.com>
      Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ddb362ce