[Intel-wired-lan] [PATCH net-next v10 0/7] ice: GTP support in switchdev
Marcin Szycik
marcin.szycik at linux.intel.com
Fri Mar 4 16:40:41 UTC 2022
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: outer 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 [1] are required to be able to add GTP netdev and use
GTP-specific options (QFI and PDU type).
[1] https://lore.kernel.org/netdev/20220211182902.11542-1-wojciech.drewek@intel.com/T
---
v2: Add more CC
v3: Fix mail thread, sorry for spam
v4: Add GTP echo response in gtp module
v5: Change patch order
v6: Add GTP echo request in gtp module
v7: Fix kernel-docs in ice
v8: Remove handling of GTP Echo Response
v9: Add sending of multicast message on GTP Echo Response, fix GTP-C dummy
packet selection
v10: Rebase, fixed most 80 char line limits
Marcin Szycik (1):
ice: Support GTP-U and GTP-C offload in switchdev
Michal Swiatkowski (1):
ice: Fix FV offset searching
Wojciech Drewek (5):
gtp: Allow to create GTP device without FDs
gtp: Implement GTP echo response
gtp: Implement GTP echo request
net/sched: Allow flower to match on GTP options
gtp: Add support for checking GTP device type
drivers/net/ethernet/intel/ice/ice.h | 1 +
.../net/ethernet/intel/ice/ice_flex_pipe.c | 53 +-
.../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 | 643 ++++++++++++++++--
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 | 565 +++++++++++++--
include/net/gtp.h | 42 ++
include/uapi/linux/gtp.h | 1 +
include/uapi/linux/if_link.h | 2 +
include/uapi/linux/if_tunnel.h | 4 +-
include/uapi/linux/pkt_cls.h | 15 +
net/sched/cls_flower.c | 116 ++++
16 files changed, 1473 insertions(+), 113 deletions(-)
--
2.35.1
More information about the Intel-wired-lan
mailing list