mbox

[pull,request,net-next,00/13] Mellanox, mlx5 CT updates 2020-07-09

Message ID 20200710034432.112602-1-saeedm@mellanox.com
State Accepted
Delegated to: David Miller
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2020-07-09

Message

Saeed Mahameed July 10, 2020, 3:44 a.m. UTC
Hi Dave, Jakub,

This series provides updates to mlx5 CT (connection tracking) offloads
For more information please see tag log below.

Please pull and let me know if there is any problem.

The following conflict is expected when net is merged into net-next:
to resolve just use the hunks from net-next.

<<<<<<< HEAD (net-next)
	mlx5_tc_ct_del_ft_entry(ct_priv, entry);
	kfree(entry);
======= (net)
	mlx5_tc_ct_entry_del_rules(ct_priv, entry);
	kfree(entry);
>>>>>>> b1a7d5bdfe54c98eca46e2c997d4e3b1484a49af

Thanks,
Saeed.

---
The following changes since commit 8fb49c0109f47e4a25e8ba36abd8381afbfa7a08:

  Merge branch 'Expose-port-split-attributes' (2020-07-09 13:15:30 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2020-07-09

for you to fetch changes up to bbe1124944de2f78eaf3141d05f957f8391e7899:

  net/mlx5e: CT: Fix releasing ft entries (2020-07-09 19:51:17 -0700)

----------------------------------------------------------------
mlx5-updates-2020-07-09

mlx5 connection tracking offloads updates:

1)  Restore CT state from lookup in zone instead of tupleid

    On a miss, Use this zone + 5 tuple taken from the skb, to lookup the CT
    entry and restore it, instead of the driver allocated tuple id.

    This improves flow insertion rate by avoiding the allocation of a header
    rewrite context to maintain the tupleid.

2) Re-use modify header HW objects for identical modify actions.

3) Expand tunnel register mappings
   Reg_c1 is 32 bits wide. Before this patchset, 24 bit were allocated
   for the tuple_id,  6 bits for tunnel mapping and 2 bits for tunnel
   options mappings.

   Restoring the ct state from zone lookup instead of tuple id requires
   reg_c1 to store 8 bits mapping the ct zone, leaving 24 bits for tunnel
   mappings.

   Expand tunnel and tunnel options register mappings to 12 bit each.

4) Trivial cleanup and fixes.

----------------------------------------------------------------
Oz Shlomo (1):
      net/mlx5e: Use netdev_info instead of pr_info

Parav Pandit (1):
      net/mlx5: E-switch, When eswitch is unsupported, return -EOPNOTSUPP

Paul Blakey (8):
      net/mlx5e: CT: Save ct entries tuples in hashtables
      net/mlx5e: CT: Allow header rewrite of 5-tuple and ct clear action
      net/mlx5e: CT: Don't offload tuple rewrites for established tuples
      net/mlx5e: CT: Restore ct state from lookup in zone instead of tupleid
      net/mlx5e: Export sharing of mod headers to a new file
      net/mlx5e: CT: Re-use tuple modify headers for identical modify actions
      net/mlx5e: CT: Use mapping for zone restore register
      net/mlx5e: CT: Expand tunnel register mappings

Roi Dayan (1):
      net/mlx5e: CT: Fix releasing ft entries

Saeed Mahameed (2):
      net/mlx5e: CT: Return err_ptr from internal functions
      net/mlx5e: CT: Remove unused function param

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/fs.h    |   2 +
 .../net/ethernet/mellanox/mlx5/core/en/mod_hdr.c   | 157 ++++++++
 .../net/ethernet/mellanox/mlx5/core/en/mod_hdr.h   |  31 ++
 .../net/ethernet/mellanox/mlx5/core/en/rep/tc.c    |   7 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 425 +++++++++++++++++----
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h |  29 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 274 +++++--------
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.h    |  17 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   8 +-
 10 files changed, 672 insertions(+), 280 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/mod_hdr.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/mod_hdr.h

Comments

David Miller July 10, 2020, 9:12 p.m. UTC | #1
From: Saeed Mahameed <saeedm@mellanox.com>
Date: Thu,  9 Jul 2020 20:44:19 -0700

> This series provides updates to mlx5 CT (connection tracking) offloads
> For more information please see tag log below.
> 
> Please pull and let me know if there is any problem.

Pulled.

> The following conflict is expected when net is merged into net-next:
> to resolve just use the hunks from net-next.
> 
> <<<<<<< HEAD (net-next)
> 	mlx5_tc_ct_del_ft_entry(ct_priv, entry);
> 	kfree(entry);
> ======= (net)
> 	mlx5_tc_ct_entry_del_rules(ct_priv, entry);
> 	kfree(entry);
>>>>>>>> b1a7d5bdfe54c98eca46e2c997d4e3b1484a49af

Thanks for this.

If you could put this info into the merge commit message I'd appreciate it.

I added it in by hand this time.

Thanks again.
Saeed Mahameed July 14, 2020, 5:11 a.m. UTC | #2
On Fri, 2020-07-10 at 14:12 -0700, David Miller wrote:
> From: Saeed Mahameed <saeedm@mellanox.com>
> Date: Thu,  9 Jul 2020 20:44:19 -0700
> 
> > This series provides updates to mlx5 CT (connection tracking)
> offloads
> > For more information please see tag log below.
> > 
> > Please pull and let me know if there is any problem.
> 
> Pulled.
> 
> > The following conflict is expected when net is merged into net-
> next:
> > to resolve just use the hunks from net-next.
> > 
> > <<<<<<< HEAD (net-next)
> >       mlx5_tc_ct_del_ft_entry(ct_priv, entry);
> >       kfree(entry);
> > ======= (net)
> >       mlx5_tc_ct_entry_del_rules(ct_priv, entry);
> >       kfree(entry);
> >>>>>>>> b1a7d5bdfe54c98eca46e2c997d4e3b1484a49af
> 
> Thanks for this.
> 
> If you could put this info into the merge commit message I'd
> appreciate it.
> 

Sure i can do this.

But at the time of this submission there wasn't any conflict, and I
couldn't determine ahead of time if you are going to merge net or this
pull request first.


> I added it in by hand this time.
> 
> Thanks again.
David Miller July 14, 2020, 8:27 p.m. UTC | #3
From: Saeed Mahameed <saeedm@mellanox.com>
Date: Tue, 14 Jul 2020 05:11:31 +0000

> But at the time of this submission there wasn't any conflict, and I
> couldn't determine ahead of time if you are going to merge net or this
> pull request first.

I understand that sometimes you cannot foresee this kind of situation,
sure.