Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next 00/13] Mellanox 100G SRIOV offloads tunnel_key set/release
@ 2016-11-07 13:14 Saeed Mahameed
  2016-11-07 13:14 ` [PATCH net-next 01/13] net/sched: act_tunnel_key: add helper inlines to access tcf_tunnel_key Saeed Mahameed
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Saeed Mahameed @ 2016-11-07 13:14 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Or Gerlitz, Hadar Hen-Zion, Saeed Mahameed

Hi Dave,
  
>From Hadar Hen Zion: 

This series further enhances the SRIOV TC offloads of mlx5 to handle the
TC tunnel_key release and set actions.

This serves a common use-case in virtualization systems where the virtual
switch encapsulate packets (tunnel_key set action) sent from VMs with
outer headers corresponding to the local/remote host IPs and de-capsulate
(tunnel_key release) outer headers before the packets are received by the
VM. 

We use the new E-Switch switchdev mode and TC tunnel_key set/release
action to achieve that also in SW defined SRIOV environments by
offloading TC rules that contain these actions along with forwarding
(TC mirred/redirect action) the packets.

The first six patches are adding the needed support in flow dissector,
flower and tc for offloading tunnel_key actions:
    - The first three patches are adding the needed help functions
      and enums
    - The next three patches in the series are adding UDP port attribute
      to tunnel_key release and set actions. 

The addition of UDP ports would allow the HW driver to make sure they are
given (say) a VXLAN tunnel to offload (mlx5e uses that).

Patches 7-10 are mlx5 preparations for tunnel_key actions offloads support.

Patch #11 adds mlx5e support to offload tunnel_key release action, and the
last two patches (#12-13) add mlx5e support to tc tunnel_key set action.

Currently in order to offload tc tunnel_key release action, the tc rule
should be placed on top of the mlx5e offloading (uplink) interface instead
of the shared tunnel interface. The resolution between the tunnel interface
to the HW netdevice will be implemented in a follow up series.

Hadar.

This series was generated against commit
94edc86bf13f ("Merge branch 'dwmac-sti-refactor-cleanup'")

Thanks,
Saeed.

Hadar Hen Zion (13):
  net/sched: act_tunnel_key: add helper inlines to access tcf_tunnel_key
  flow_dissector: Add enums for encapsulation keys
  net/sched: cls_flower: Allow setting encapsulation fields as used key
  net/sched: cls_flower: Add UDP port to tunnel parameters
  net/dst: Add dst port to dst_metadata utility functions
  net/sched: act_tunnel_key: Add UDP dst port option
  net/mlx5: Move alloc/dealloc encap commands declarations to common
    header file
  net/mlx5: Check max encap header size capability
  net/mlx5: Add creation flags when adding new flow table
  net/mlx5: Support encap id when setting new steering entry
  net/mlx5e: Add TC tunnel release action for SRIOV offloads
  net/mlx5e: Add ndo_udp_tunnel_add to VF representors
  net/mlx5e: Add basic TC tunnel set action for SRIOV offloads

 drivers/infiniband/hw/mlx5/main.c                  |  12 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   4 +
 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c  |  19 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c    |  35 +-
 .../ethernet/mellanox/mlx5/core/en_fs_ethtool.c    |  12 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   8 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   2 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 462 ++++++++++++++++++++-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |  26 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |  20 +
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |  42 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |  46 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h   |   9 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  76 ++--
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   2 +
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |   6 +
 include/linux/mlx5/fs.h                            |  19 +-
 include/net/dst_metadata.h                         |  10 +-
 include/net/flow_dissector.h                       |   5 +
 include/net/tc_act/tc_tunnel_key.h                 |  37 ++
 include/uapi/linux/pkt_cls.h                       |   5 +
 include/uapi/linux/tc_act/tc_tunnel_key.h          |   1 +
 net/sched/act_tunnel_key.c                         |  15 +-
 net/sched/cls_flower.c                             |  39 +-
 24 files changed, 764 insertions(+), 148 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-11-09 18:42 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-07 13:14 [PATCH net-next 00/13] Mellanox 100G SRIOV offloads tunnel_key set/release Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 01/13] net/sched: act_tunnel_key: add helper inlines to access tcf_tunnel_key Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 02/13] flow_dissector: Add enums for encapsulation keys Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 03/13] net/sched: cls_flower: Allow setting encapsulation fields as used key Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 04/13] net/sched: cls_flower: Add UDP port to tunnel parameters Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 05/13] net/dst: Add dst port to dst_metadata utility functions Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 06/13] net/sched: act_tunnel_key: Add UDP dst port option Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 07/13] net/mlx5: Move alloc/dealloc encap commands declarations to common header file Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 08/13] net/mlx5: Check max encap header size capability Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 09/13] net/mlx5: Add creation flags when adding new flow table Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 10/13] net/mlx5: Support encap id when setting new steering entry Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 11/13] net/mlx5e: Add TC tunnel release action for SRIOV offloads Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 12/13] net/mlx5e: Add ndo_udp_tunnel_add to VF representors Saeed Mahameed
2016-11-07 13:14 ` [PATCH net-next 13/13] net/mlx5e: Add basic TC tunnel set action for SRIOV offloads Saeed Mahameed
2016-11-09 18:42 ` [PATCH net-next 00/13] Mellanox 100G SRIOV offloads tunnel_key set/release David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox