All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcin Szycik <marcin.szycik@linux.intel.com>
To: netdev@vger.kernel.org
Cc: michal.swiatkowski@linux.intel.com, wojciech.drewek@intel.com,
	davem@davemloft.net, kuba@kernel.org, pablo@netfilter.org,
	laforge@gnumonks.org,
	Marcin Szycik <marcin.szycik@linux.intel.com>
Subject: [RFC PATCH net-next v4 0/6] ice: GTP support in switchdev
Date: Fri,  4 Feb 2022 17:49:29 +0100	[thread overview]
Message-ID: <20220204164929.10356-1-marcin.szycik@linux.intel.com> (raw)

Add support for adding GTP-C and GTP-U filters in switchdev mode.

To create a filter for GTP, create a GTP-type netdev with ip tool, enable
hardware offload, add qdisc and add a filter in tc:

ip link add $GTP0 type gtp role <sgsn/ggsn> hsize <hsize>
ethtool -K $PF0 hw-tc-offload on
tc qdisc add dev $GTP0 ingress
tc filter add dev $GTP0 ingress prio 1 flower enc_key_id 1337 \
action mirred egress redirect dev $VF1_PR

By default, a filter for GTP-U will be added. To add a filter for GTP-C,
specify enc_dst_port = 2123, e.g.:

tc filter add dev $GTP0 ingress prio 1 flower enc_key_id 1337 \
enc_dst_port 2123 action mirred egress redirect dev $VF1_PR

Note: IPv6 offload is not supported yet.
Note: GTP-U with no payload offload is not supported yet.

ICE COMMS package is required to create a filter as it contains GTP
profiles.

Changes in iproute2 are required to be able to add GTP netdev and use
GTP-specific options (QFI and PDU type). This patchset will be submitted
separately.
---
v2: Adding more CC
v3: Fixed mail thread, sorry for spam
v4: Added GTP echo response in gtp driver

Marcin Szycik (1):
  ice: Support GTP-U and GTP-C offload in switchdev

Michal Swiatkowski (1):
  ice: Fix FV offset searching

Wojciech Drewek (4):
  gtp: Allow to create GTP device without FDs
  gtp: Add support for checking GTP device type
  net/sched: Allow flower to match on GTP options
  gtp: Implement GTP echo response

 drivers/net/ethernet/intel/ice/ice.h          |   1 +
 .../net/ethernet/intel/ice/ice_flex_pipe.c    |  46 +-
 .../net/ethernet/intel/ice/ice_flex_pipe.h    |   2 +-
 .../net/ethernet/intel/ice/ice_flex_type.h    |   6 +-
 .../ethernet/intel/ice/ice_protocol_type.h    |  19 +
 drivers/net/ethernet/intel/ice/ice_switch.c   | 630 ++++++++++++++++--
 drivers/net/ethernet/intel/ice/ice_switch.h   |   9 +
 drivers/net/ethernet/intel/ice/ice_tc_lib.c   | 105 ++-
 drivers/net/ethernet/intel/ice/ice_tc_lib.h   |   3 +
 drivers/net/gtp.c                             | 286 +++++++-
 include/net/gtp.h                             |  42 ++
 include/uapi/linux/if_link.h                  |   1 +
 include/uapi/linux/if_tunnel.h                |   4 +-
 include/uapi/linux/pkt_cls.h                  |  15 +
 net/sched/cls_flower.c                        | 116 ++++
 15 files changed, 1195 insertions(+), 90 deletions(-)

-- 
2.31.1


             reply	other threads:[~2022-02-04 16:53 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-04 16:49 Marcin Szycik [this message]
2022-02-04 16:50 ` [RFC PATCH net-next v4 1/6] gtp: Allow to create GTP device without FDs Marcin Szycik
2022-02-09  0:01   ` kernel test robot
2022-02-09  9:42   ` kernel test robot
2022-02-04 16:50 ` [RFC PATCH net-next v4 2/6] gtp: Add support for checking GTP device type Marcin Szycik
2022-02-04 16:50 ` [RFC PATCH net-next v4 3/6] net/sched: Allow flower to match on GTP options Marcin Szycik
2022-02-04 16:51 ` [RFC PATCH net-next v4 4/6] gtp: Implement GTP echo response Marcin Szycik
2022-02-05 16:51   ` Harald Welte
2022-02-08 14:12     ` Drewek, Wojciech
2022-02-11  9:16       ` Harald Welte
2022-02-11 10:27         ` Drewek, Wojciech
2022-02-11 12:48           ` Drewek, Wojciech
2022-02-12 11:05             ` Harald Welte
2022-02-04 16:51 ` [RFC PATCH net-next v4 5/6] ice: Fix FV offset searching Marcin Szycik
2022-02-04 16:51   ` [Intel-wired-lan] " Marcin Szycik
2022-02-04 16:51 ` [RFC PATCH net-next v4 6/6] ice: Support GTP-U and GTP-C offload in switchdev Marcin Szycik
2022-02-04 16:51   ` [Intel-wired-lan] " Marcin Szycik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220204164929.10356-1-marcin.szycik@linux.intel.com \
    --to=marcin.szycik@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=laforge@gnumonks.org \
    --cc=michal.swiatkowski@linux.intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=pablo@netfilter.org \
    --cc=wojciech.drewek@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.