1. 11 1月, 2018 5 次提交
  2. 09 1月, 2018 1 次提交
    • O
      net/mlx5e: Support offloading TC NIC hairpin flows · 5c65c564
      Or Gerlitz 提交于
      We refer to TC NIC rule that involves forwarding as "hairpin".
      
      All hairpin rules from the current NIC device (called "func" in
      the code) to a given NIC device ("peer") are steered into the
      same hairpin RQ/SQ pair.
      
      The hairpin pair is set on demand and removed when there are no
      TC rules that need it.
      
      Here's a TC rule that matches on icmp, does header re-write of the
      dst mac and hairpin from RX/enp1s2f1 to TX/enp1s2f2 (enp1s2f1/2 are
      two mlx5 devices):
      
      tc filter add dev enp1s2f1 protocol ip parent ffff: prio 2
          flower skip_sw ip_proto icmp
           action pedit ex munge eth dst set 10:22:33:44:55:66 pipe
           action mirred egress redirect dev enp1s2f2
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      5c65c564
  3. 06 1月, 2018 1 次提交
    • J
      xdp/mlx5: setup xdp_rxq_info · 0ddf5432
      Jesper Dangaard Brouer 提交于
      The mlx5 driver have a special drop-RQ queue (one per interface) that
      simply drops all incoming traffic. It helps driver keep other HW
      objects (flow steering) alive upon down/up operations.  It is
      temporarily pointed by flow steering objects during the interface
      setup, and when interface is down. It lacks many fields that are set
      in a regular RQ (for example its state is never switched to
      MLX5_RQC_STATE_RDY). (Thanks to Tariq Toukan for explanation).
      
      The XDP RX-queue info for this drop-RQ marked as unused, which
      allow us to use the same takedown/free code path as other RX-queues.
      
      Driver hook points for xdp_rxq_info:
       * reg   : mlx5e_alloc_rq()
       * unused: mlx5e_alloc_drop_rq()
       * unreg : mlx5e_free_rq()
      
      Tested on actual hardware with samples/bpf program
      
      Cc: Saeed Mahameed <saeedm@mellanox.com>
      Cc: Matan Barak <matanb@mellanox.com>
      Cc: Tariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NJesper Dangaard Brouer <brouer@redhat.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      0ddf5432
  4. 20 12月, 2017 2 次提交
  5. 10 11月, 2017 1 次提交
  6. 09 11月, 2017 3 次提交
  7. 05 11月, 2017 5 次提交
  8. 21 10月, 2017 1 次提交
  9. 15 10月, 2017 1 次提交
  10. 12 10月, 2017 1 次提交
  11. 03 9月, 2017 11 次提交
  12. 31 8月, 2017 2 次提交
    • G
      net/mlx5e: Support RSS for GRE tunneled packets · 7b3722fa
      Gal Pressman 提交于
      Introduce a new flow table and indirect TIRs which are used to hash the
      inner packet headers of GRE tunneled packets.
      
      When a GRE tunneled packet is received, the TTC flow table will match
      the new IPv4/6->GRE rules which will forward it to the inner TTC table.
      The inner TTC is similar to its counterpart outer TTC table, but
      matching the inner packet headers instead of the outer ones (and does
      not include the new IPv4/6->GRE rules).
      The new rules will not add steering hops since they are added to an
      already existing flow group which will be matched regardless of this
      patch. Non GRE traffic will not be affected.
      
      The inner flow table will forward the packet to inner indirect TIRs
      which hash the inner packet and thus result in RSS for the tunneled
      packets.
      
      Testing 8 TCP streams bandwidth over GRE:
      System: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
      NIC: Mellanox Technologies MT28800 Family [ConnectX-5 Ex]
      Before: 21.3 Gbps (Single RQ)
      Now   : 90.5 Gbps (RSS spread on 8 RQs)
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      7b3722fa
    • H
      net/mlx5e: Fix DCB_CAP_ATTR_DCBX capability for DCBNL getcap. · 9e10bf1d
      Huy Nguyen 提交于
      Current code doesn't report DCB_CAP_DCBX_HOST capability when query
      through getcap. User space lldptool expects capability to have HOST mode
      set when it wants to configure DCBX CEE mode. In absence of HOST mode
      capability, lldptool fails to switch to CEE mode.
      
      This fix returns DCB_CAP_DCBX_HOST capability when port's DCBX
      controlled mode is under software control.
      
      Fixes: 3a6a931d ("net/mlx5e: Support DCBX CEE API")
      Signed-off-by: NHuy Nguyen <huyn@mellanox.com>
      Reviewed-by: NParav Pandit <parav@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      9e10bf1d
  13. 09 8月, 2017 1 次提交
    • S
      mlx5: move affinity hints assignments to generic code · a435393a
      Sagi Grimberg 提交于
      generic api takes care of spreading affinity similar to
      what mlx5 open coded (and even handles better asymmetric
      configurations). Ask the generic API to spread affinity
      for us, and feed him pre_vectors that do not participate
      in affinity settings (which is an improvement to what we
      had before).
      
      The affinity assignments should match what mlx5 tried to
      do earlier but now we do not set affinity to async, cmd
      and pages dedicated vectors.
      
      Also, remove mlx5e_get_cpu and introduce mlx5e_get_node
      (used for allocation purposes) and mlx5_get_vector_affinity
      (for indirection table construction) as they provide the needed
      information. Luckily, we have generic helpers to get cpumask
      and node given a irq vector. mlx5_get_vector_affinity will
      be used by mlx5_ib in a subsequent patch.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: NLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      a435393a
  14. 27 7月, 2017 2 次提交
  15. 27 6月, 2017 3 次提交