[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220624134134.13605-1-marcin.szycik@linux.intel.com>
Date:   Fri, 24 Jun 2022 15:41:30 +0200
From:   Marcin Szycik <marcin.szycik@...ux.intel.com>
To:     netdev@...r.kernel.org
Cc:     anthony.l.nguyen@...el.com, davem@...emloft.net,
        xiyou.wangcong@...il.com, jesse.brandeburg@...el.com,
        gustavoars@...nel.org, baowen.zheng@...igine.com,
        boris.sukholitko@...adcom.com, elic@...dia.com,
        edumazet@...gle.com, kuba@...nel.org, jhs@...atatu.com,
        jiri@...nulli.us, kurt@...utronix.de, pablo@...filter.org,
        pabeni@...hat.com, paulb@...dia.com, simon.horman@...igine.com,
        komachi.yoshiki@...il.com, zhangkaiheb@....com,
        intel-wired-lan@...ts.osuosl.org,
        michal.swiatkowski@...ux.intel.com, wojciech.drewek@...el.com,
        Marcin Szycik <marcin.szycik@...ux.intel.com>
Subject: [RFC PATCH net-next 0/4] ice: PPPoE offload support
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.
ICE COMMS DDP package is required to create a filter in ice.
Note: currently matching on vlan + PPPoE fields is not supported. Patch [0]
will add this feature.
[0] https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20220420210048.5809-1-martyna.szapar-mudlaw@intel.com
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   |  94 ++++++++--
 drivers/net/ethernet/intel/ice/ice_tc_lib.h   |   8 +
 include/net/flow_dissector.h                  |  11 ++
 include/net/flow_offload.h                    |   6 +
 include/uapi/linux/pkt_cls.h                  |   3 +
 net/core/flow_dissector.c                     |  51 +++++-
 net/core/flow_offload.c                       |   7 +
 net/sched/cls_flower.c                        |  46 +++++
 12 files changed, 391 insertions(+), 17 deletions(-)
-- 
2.35.1
Powered by blists - more mailing lists
 
