1. 16 Oct, 2017 2 commits
    • Alexander Duyck's avatar
      mqprio: Reserve last 32 classid values for HW traffic classes and misc IDs · 32302902
      Alexander Duyck authored
      This patch makes a slight tweak to mqprio in order to bring the
      classid values used back in line with what is used for mq. The general idea
      is to reserve values :ffe0 - :ffef to identify hardware traffic classes
      normally reported via dev->num_tc. By doing this we can maintain a
      consistent behavior with mq for classid where :1 - :ffdf will represent a
      physical qdisc mapped onto a Tx queue represented by classid - 1, and the
      traffic classes will be mapped onto a known subset of classid values
      reserved for our virtual qdiscs.
      
      Note I reserved the range from :fff0 - :ffff since this way we might be
      able to reuse these classid values with clsact and ingress which would mean
      that for mq, mqprio, ingress, and clsact we should be able to maintain a
      similar classid layout.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarJesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      32302902
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2017-10-11' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux · af28f6f2
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2017-10-11: IPoIB Multi Pkey support
      
      This series provides the support for IPoIB Multi Pkey.
      InfiniBand Pkeys are the equivalent of Ethernet vlans.
      Currently IPoIB device driver supports only default Pkey and IPoIB Pkey child
      interfaces are not supported with IPoIB offloads mode, this series will add
      the support for that by allowing creating mlx5 multiple IPoIB netdevices with
      a non-default Pkey.
      
      mlx5 IPoIB Pkey child interface is smaller version of mlx5i IPoIB interfaces and shares
      most of its resources with the parent IPoIB interface, namely RX steering and ring
      queue resources.
      
      The only mlx5 resources a child Pkey interface will be creating are the TX rings,
      since they should be assigned to a specific Pkey.
      
      mlx5i Pkey netdev is implemented via new mlx5e netdev profile implemented in
      mlx5/core/ipoib/ipoib_vlan.c.
      
      The series starts with a refactoring of mlx5e PTP and mlx5 clock implementation
      to move the code to be part of mlx5 core rather than mlx5e netdevice, in order to
      make mlx5 clock and PTP registration part of the core to be shared with mlx5e
      master Ethernet netdev/IPoIB parent netdev and mlx5_ib in the near future.
      
      Add the support for attaching multiple underlay QPs for the different Pkeys
      in mlx5 core RX steering.
      
      Add Pkey index to rdma_netdev to add the ability to set PKEY index to lower
      IPoIB offload netdev.
      
      Use hash-table to map between DQPN (Destination QP number) to child netdev
      for the IPoIB parent netdev to forward RX packets to the corresponding
      child Pkey netdev, since the RX rings are shared.
      
      The reset of the series adds the ipoib child Pkey: mlx5e netdev profile,
      netdev nods implementation and minimal set of ethtool callbacks.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      af28f6f2
  2. 15 Oct, 2017 34 commits
  3. 14 Oct, 2017 4 commits