ice: Add support for PPPoE hardware offload
authorMarcin Szycik <marcin.szycik@linux.intel.com>
Mon, 18 Jul 2022 12:18:13 +0000 (14:18 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 26 Jul 2022 17:56:32 +0000 (10:56 -0700)
commitcd8efeeed16e8ecf30071583865f3f468db9e854
tree5c816743060d9a967e17a67f4ff3539919fe4bb8
parent6a21b0856daaf9b7f63225f5b449ddee170c6f0a
ice: Add support for PPPoE hardware offload

Add support for creating PPPoE filters in switchdev mode. Add support
for parsing PPPoE and PPP-specific tc options: pppoe_sid and ppp_proto.

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 as it contains PPPoE
profiles. Added a warning message when loaded DDP package does not contain
required profiles.

Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_flex_pipe.c
drivers/net/ethernet/intel/ice/ice_protocol_type.h
drivers/net/ethernet/intel/ice/ice_switch.c
drivers/net/ethernet/intel/ice/ice_tc_lib.c
drivers/net/ethernet/intel/ice/ice_tc_lib.h