lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180727211518.1916-1-saeedm@mellanox.com>
Date:   Fri, 27 Jul 2018 14:15:05 -0700
From:   Saeed Mahameed <saeedm@...lanox.com>
To:     "David S. Miller" <davem@...emloft.net>
Cc:     netdev@...r.kernel.org, Saeed Mahameed <saeedm@...lanox.com>
Subject: [pull request][net-next 00/13] Mellanox, mlx5 updates 2018-07-27 (Vxlan updates)

Hi Dave,

This series from Gal and Saeed provides updates to mlx5 vxlan implementation.

For more information please see tag log below.

Please pull and let me know if there's any problem.

Thanks,
Saeed.

---

The following changes since commit 1f3ed383fb9a073ae2e408cd7a0717b04c7c3a21:

  net: sched: don't dump chains only held by actions (2018-07-27 09:38:46 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5e-updates-2018-07-27

for you to fetch changes up to 50920f3f268405af2b047ae9277efdbf4ed7510f:

  net/mlx5e: Issue direct lookup on vxlan ports by vport representors (2018-07-27 13:57:55 -0700)

----------------------------------------------------------------
mlx5e-updates-2018-07-27 (Vxlan updates)

This series from Gal and Saeed provides updates to mlx5 vxlan implementation.

Gal, started with three cleanups to reflect the actual hardware vxlan state
- reflect 4789 UDP port default addition to software database
- check maximum number of vxlan  UDP ports
- cleanup an unused member in vxlan work

Then Gal provides two performance optimizations by replacing the
vxlan radix tree with a hash table, and replacing the vxlan table
spin lock with a read-write lock.

Measuring mlx5e_vxlan_lookup_port execution time:

                      Radix Tree   Hash Table
     --------------- ------------ ------------
      Single Stream   161 ns       79  ns (51% improvement)
      Multi Stream    259 ns       136 ns (47% improvement)

    Measuring UDP stream packet rate, single fully utilized TX core:
    Radix Tree: 498,300 PPS
    Hash Table: 555,468 PPS (11% improvement)

Next, from Saeed, vxlan refactoring to allow sharing the vxlan table
between different mlx5 netdevice instances like PF and VF representors,
this is done by making mlx5 vxlan interface more generic and decoupling
it from PF netdevice structures and logic, then moving it into mlx5 core
as a low level interface so it can be used by VF representors, which is
illustrated in the last patch of the serious.

-Saeed.

----------------------------------------------------------------
Gal Pressman (5):
      net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database
      net/mlx5e: Vxlan, check maximum number of UDP ports
      net/mlx5e: Vxlan, replace ports radix-tree with hash table
      net/mlx5e: Vxlan, replace spinlock with read-write lock
      net/mlx5e: Vxlan, cleanup an unused member in vxlan work

Saeed Mahameed (8):
      net/mlx5e: Vxlan, add direct delete function
      net/mlx5e: Vxlan, move netdev only logic to en_main.c
      net/mlx5e: Vxlan, rename struct mlx5e_vxlan to mlx5_vxlan_port
      net/mlx5e: Vxlan, rename from mlx5e to mlx5
      net/mlx5e: Vxlan, return values for add/del port
      net/mlx5e: Vxlan, add sync lock for add/del vxlan port
      net/mlx5e: Vxlan, move vxlan logic to core driver
      net/mlx5e: Issue direct lookup on vxlan ports by vport representors

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   6 -
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  71 ++++++-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |  14 +-
 .../net/ethernet/mellanox/mlx5/core/lib/vxlan.c    | 230 +++++++++++++++++++++
 .../ethernet/mellanox/mlx5/core/{ => lib}/vxlan.h  |  39 ++--
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   5 +
 drivers/net/ethernet/mellanox/mlx5/core/vxlan.c    | 190 -----------------
 include/linux/mlx5/driver.h                        |   2 +
 include/linux/mlx5/mlx5_ifc.h                      |   4 +-
 10 files changed, 325 insertions(+), 240 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/vxlan.c
 rename drivers/net/ethernet/mellanox/mlx5/core/{ => lib}/vxlan.h (66%)
 delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/vxlan.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ