diff options
| author | Larysa Zaremba <[email protected]> | 2025-02-14 08:50:39 +0000 |
|---|---|---|
| committer | Tony Nguyen <[email protected]> | 2025-04-11 16:47:43 +0000 |
| commit | 40f42dc1cbb6b5841eb350fc81a5c26f9aa5b420 (patch) | |
| tree | f4b102b5c2b6aa8a1210bc527ca043d36f3b6b84 /drivers/net/ethernet/intel/ice/ice_repr.c | |
| parent | ice: remove headers argument from ice_tc_count_lkups (diff) | |
| download | kernel-40f42dc1cbb6b5841eb350fc81a5c26f9aa5b420.tar.gz kernel-40f42dc1cbb6b5841eb350fc81a5c26f9aa5b420.zip | |
ice: support egress drop rules on PF
tc clsact qdisc allows us to add offloaded egress rules with commands such
as the following one:
tc filter add dev <ifname> egress protocol lldp flower skip_sw action drop
Support the egress rule drop action when added to PF, with a few caveats:
* in switchdev mode, all PF traffic has to go uplink with an exception for
LLDP that can be delegated to a single VSI at a time
* in legacy mode, we cannot delegate LLDP functionality to another VSI, so
such packets from PF should not be blocked.
Also, simplify the rule direction logic, it was previously derived from
actions, but actually can be inherited from the tc block (and flipped in
case of port representors).
Reviewed-by: Michal Swiatkowski <[email protected]>
Signed-off-by: Larysa Zaremba <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Tested-by: Rafal Romanowski <[email protected]>
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_repr.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice_repr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_repr.c b/drivers/net/ethernet/intel/ice/ice_repr.c index fb7a1b9a4313..f81bf60f8365 100644 --- a/drivers/net/ethernet/intel/ice/ice_repr.c +++ b/drivers/net/ethernet/intel/ice/ice_repr.c @@ -219,7 +219,8 @@ ice_repr_setup_tc_cls_flower(struct ice_repr *repr, { switch (flower->command) { case FLOW_CLS_REPLACE: - return ice_add_cls_flower(repr->netdev, repr->src_vsi, flower); + return ice_add_cls_flower(repr->netdev, repr->src_vsi, flower, + true); case FLOW_CLS_DESTROY: return ice_del_cls_flower(repr->src_vsi, flower); default: |
