sfc: offload foreign RHS rules without an encap match
Normally, if a TC filter on a tunnel netdev does not match on any encap fields, we decline to offload it, as it cannot meet our requirement for a <sip,dip,dport> tuple for the encap match. However, if the rule has a nonzero chain_index, then for a packet to reach the rule, it must already have matched a LHS rule which will have included an encap match and determined the tunnel type, so in that case we can offload the right-hand-side rule. Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com> Signed-off-by: Edward Cree <ecree.xilinx@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ec1dc6c88c
commit
937a0feab4
@ -1683,7 +1683,7 @@ static int efx_tc_flower_replace_foreign(struct efx_nic *efx,
|
||||
extack);
|
||||
if (rc)
|
||||
goto release;
|
||||
} else {
|
||||
} else if (!tc->common.chain_index) {
|
||||
/* This is not a tunnel decap rule, ignore it */
|
||||
netif_dbg(efx, drv, efx->net_dev,
|
||||
"Ignoring foreign filter without encap match\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user