[Intel-wired-lan] [RFC PATCH net-next v6 0/4] ice: PPPoE offload support
Marcin Szycik
marcin.szycik at linux.intel.com
Mon Jul 18 12:18:09 UTC 2022
Add support for dissecting PPPoE and PPP-specific fields in flow dissector:
PPPoE session id and PPP protocol type. Add support for those fields in
tc-flower and support offloading PPPoE. Finally, add support for hardware
offload of PPPoE packets in switchdev mode in ice driver.
Example filter:
tc filter add dev $PF1 ingress protocol ppp_ses prio 1 flower pppoe_sid \
1234 ppp_proto ip skip_sw action mirred egress redirect dev $VF1_PR
Changes in iproute2 are required to use the new fields (will be submitted
soon).
ICE COMMS DDP package is required to create a filter in ice.
v6:
* make check for ppp proto more generic
* fix remaining byte order issues
v5: fix endianness when processing compressed protocols
v4:
* PPPoE header validation
* added MPLS support
* added support for compressed PPP protocol field
* flow_dissector_key_pppoe::session_id stored in __be16
* new field: flow_dissector_key_pppoe::type
* always add an ethtype lookup if PPP/PPPoE options are provided (to
prevent setting incorrect ethtype)
* rebase
v3:
* revert byte order changes in is_ppp_proto_supported from previous
version
* add kernel-doc for is_ppp_proto_supported
* add more CC
v2: cosmetic changes
Marcin Szycik (1):
ice: Add support for PPPoE hardware offload
Wojciech Drewek (3):
flow_dissector: Add PPPoE dissectors
net/sched: flower: Add PPPoE filter
flow_offload: Introduce flow_match_pppoe
drivers/net/ethernet/intel/ice/ice.h | 1 +
.../net/ethernet/intel/ice/ice_flex_pipe.c | 5 +-
.../ethernet/intel/ice/ice_protocol_type.h | 11 ++
drivers/net/ethernet/intel/ice/ice_switch.c | 165 ++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_tc_lib.c | 71 +++++++-
drivers/net/ethernet/intel/ice/ice_tc_lib.h | 8 +
include/linux/ppp_defs.h | 14 ++
include/net/flow_dissector.h | 13 ++
include/net/flow_offload.h | 6 +
include/uapi/linux/pkt_cls.h | 3 +
net/core/flow_dissector.c | 53 +++++-
net/core/flow_offload.c | 7 +
net/sched/cls_flower.c | 64 +++++++
13 files changed, 412 insertions(+), 9 deletions(-)
--
2.35.1
More information about the Intel-wired-lan
mailing list