2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

tc: Add IPIP/GRE protocols to offload in IP rewrite.

Currently checksum recalculation is not supported with TC offload for
IPIP and GRE packets. This patch adds support for TC offloading of
IPIP and GRE packets by adding the correct csum action.

Without this patch the following warning can be seen in the logging:
  Can't offload rewrite of IP/IPV6 with ip_proto: X.

Acked-by: Simon Horman <horms@ovn.org>
Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
This commit is contained in:
Faicker Mo
2023-10-07 11:49:46 +08:00
committed by Eelco Chaudron
parent b16ef52002
commit c29ba54018
2 changed files with 42 additions and 1 deletions

View File

@@ -2975,7 +2975,9 @@ csum_update_flag(struct tc_flower *flower,
flower->csum_update_flags |= TCA_CSUM_UPDATE_FLAG_UDP;
} else if (flower->key.ip_proto == IPPROTO_ICMP ||
flower->key.ip_proto == IPPROTO_IGMP ||
flower->key.ip_proto == IPPROTO_SCTP) {
flower->key.ip_proto == IPPROTO_SCTP ||
flower->key.ip_proto == IPPROTO_IPIP ||
flower->key.ip_proto == IPPROTO_GRE) {
flower->needs_full_ip_proto_mask = true;
} else if (flower->key.ip_proto == IPPROTO_ICMPV6) {
flower->needs_full_ip_proto_mask = true;