1. 17 10月, 2017 28 次提交
  2. 16 10月, 2017 1 次提交
    • D
      Merge tag 'mlx5-updates-2017-10-11' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux · af28f6f2
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      af28f6f2
  3. 15 10月, 2017 11 次提交
    • D
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · e4655e4a
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2017-10-13
      
      This series contains updates to mqprio and i40e.
      
      Amritha introduces a new hardware offload mode in tc/mqprio where the TCs,
      the queue configurations and bandwidth rate limits are offloaded to the
      hardware. The existing mqprio framework is extended to configure the queue
      counts and layout and also added support for rate limiting. This is
      achieved through new netlink attributes for the 'mode' option which takes
      values such as 'dcb' (default) and 'channel' and a 'shaper' option for
      QoS attributes such as bandwidth rate limits in hw mode 1.  Legacy devices
      can fall back to the existing setup supporting hw mode 1 without these
      additional options where only the TCs are offloaded and then the 'mode'
      and 'shaper' options defaults to DCB support.  The i40e driver enables the
      new mqprio hardware offload mechanism factoring the TCs, queue
      configuration and bandwidth rates by creating HW channel VSIs.
      In this new mode, the priority to traffic class mapping and the user
      specified queue ranges are used to configure the traffic class when the
      'mode' option is set to 'channel'. This is achieved by creating HW
      channels(VSI). A new channel is created for each of the traffic class
      configuration offloaded via mqprio framework except for the first TC (TC0)
      which is for the main VSI. TC0 for the main VSI is also reconfigured as
      per user provided queue parameters. Finally, bandwidth rate limits are set
      on these traffic classes through the shaper attribute by sending these
      rates in addition to the number of TCs and the queue configurations.
      
      Colin Ian King makes an array of constant values "constant".
      
      Alan fixes and issue where on some firmware versions, we were failing to
      actually fill out the phy_types which caused ethtool to not report any
      link types.  Also hardened against a potentially malicious VF by not
      letting the VF to reset itself after requesting to change the number of
      queues (via ethtool), let the PF reset the VF to institute the requested
      changes.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e4655e4a
    • D
      Merge branch 'tc-testing-updates' · ae0783b1
      David S. Miller 提交于
      Lucas Bates says:
      
      ====================
      tc-testing: Test suite updates
      
      This patch series is a roundup of changes to the tc-testing
      suite:
      
       - Add test cases for police and mirred modules and some coverage
         in already-submitted test categories
       - Break the test case files down into more user-friendly sizes
       - Bug fix to the tdc.py script's handling of the -l argument
      
      v2: fix the lack of final newlines in two new files (thanks David)
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ae0783b1
    • L
      tc-testing: fix the -l argument bug in tdc.py · 7f6661a7
      Lucas Bates 提交于
      This patch fixes a bug in the tdc script, where executing tdc
      with the -l argument would cause the tests to start running
      as opposed to listing all the known test cases.
      Signed-off-by: NLucas Bates <lucasb@mojatatu.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f6661a7
    • L
      tc-testing: Add test cases for police and skbmod · cf797ac4
      Lucas Bates 提交于
      Add basic unit tests for police and skbmod actions in tc.
      Signed-off-by: NLucas Bates <lucasb@mojatatu.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cf797ac4
    • L
      tc-testing: Split test case files into smaller chunks · 0923edf4
      Lucas Bates 提交于
      The original submission had the test cases stored in one
      monolithic file. This can be unwieldy to edit, especially as more
      test cases are added. This patch removes the original tests.json
      file in favour of individual ones broken down by category.
      Signed-off-by: NLucas Bates <lucasb@mojatatu.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0923edf4
    • L
      tc-testing: Add test cases for flushing actions · ae3c33c1
      Lucas Bates 提交于
      Tests for flushing gact and mirred were missing. This patch
      adds test cases to explicitly test the flush of any installed
      gact/mirred actions.
      Signed-off-by: NLucas Bates <lucasb@mojatatu.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ae3c33c1
    • D
      Merge branch 'macvlan-cleanups' · 6eda447e
      David S. Miller 提交于
      Alexander Duyck says:
      
      ====================
      net: Minor macvlan source mode cleanups
      
      So this patch series is just a few minor cleanups for macvlan source mode.
      The first patch addresses double receives when a packet is being routed to
      the macvlan destination address, and the other addresses the pkt_type being
      updated in cases where it most likely should not be.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6eda447e
    • A
      macvlan: Only update pkt_type if destination MAC address matches · c8c41ea1
      Alexander Duyck 提交于
      This patch updates the pkt_type to PACKET_HOST only if the destination MAC
      address matches on the on the source based macvlan. It didn't make sense to
      be updating broadcast, multicast, and non-local destined frames with
      PACKET_HOST.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c8c41ea1
    • A
      macvlan: Only deliver one copy of the frame to the macvlan interface · dd6b9c2c
      Alexander Duyck 提交于
      This patch intoduces a slight adjustment for macvlan to address the fact
      that in source mode I was seeing two copies of any packet addressed to the
      macvlan interface being delivered where there should have been only one.
      
      The issue appears to be that one copy was delivered based on the source MAC
      address and then the second copy was being delivered based on the
      destination MAC address. To fix it I am just treating a unicast address
      match as though it is not a match since source based macvlan isn't supposed
      to be matching based on the destination MAC anyway.
      
      Fixes: 79cf79ab ("macvlan: add source mode")
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dd6b9c2c
    • C
      tcp: add a tracepoint for tcp retransmission · e086101b
      Cong Wang 提交于
      We need a real-time notification for tcp retransmission
      for monitoring.
      
      Of course we could use ftrace to dynamically instrument this
      kernel function too, however we can't retrieve the connection
      information at the same time, for example perf-tools [1] reads
      /proc/net/tcp for socket details, which is slow when we have
      a lots of connections.
      
      Therefore, this patch adds a tracepoint for __tcp_retransmit_skb()
      and exposes src/dst IP addresses and ports of the connection.
      This also makes it easier to integrate into perf.
      
      Note, I expose both IPv4 and IPv6 addresses at the same time:
      for a IPv4 socket, v4 mapped address is used as IPv6 addresses,
      for a IPv6 socket, LOOPBACK4_IPV6 is already filled by kernel.
      Also, add sk and skb pointers as they are useful for BPF.
      
      1. https://github.com/brendangregg/perf-tools/blob/master/net/tcpretrans
      
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
      Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Acked-by: NBrendan Gregg <bgregg@netflix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e086101b
    • C
      net_sched: fix a compile warning in act_ife · 65787594
      Cong Wang 提交于
      Apparently ife_meta_id2name() is only called when
      CONFIG_MODULES is defined.
      
      This fixes:
      
      net/sched/act_ife.c:251:20: warning: ‘ife_meta_id2name’ defined but not used [-Wunused-function]
       static const char *ife_meta_id2name(u32 metaid)
                          ^~~~~~~~~~~~~~~~
      
      Fixes: d3f24ba8 ("net sched actions: fix module auto-loading")
      Cc: Roman Mashak <mrv@mojatatu.com>
      Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      65787594