summaryrefslogtreecommitdiff
path: root/net/ipv6/ip6_offload.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2026-05-13 09:33:48 +0800
committerPaolo Abeni <pabeni@redhat.com>2026-05-19 09:47:53 +0200
commit55a5d8fca8365312ed53bc93ae1af67ee35c2915 (patch)
treed0bfe2f9fad6b9e3530fb3b02a4e16efc847d6c0 /net/ipv6/ip6_offload.c
parent7a348a95f696d20f15c776de4df8b4415bcf3d77 (diff)
downloadlinux-next-55a5d8fca8365312ed53bc93ae1af67ee35c2915.tar.gz
linux-next-55a5d8fca8365312ed53bc93ae1af67ee35c2915.zip
net: pppoe: implement GRO/GSO support
Only handles packets where the pppoe header length field matches the exact packet length. Significantly improves rx throughput. When running NAT traffic through a MediaTek MT7621 devices from a host behind PPPoE to a host directly connected via ethernet, the TCP throughput that the device is able to handle improves from ~130 Mbit/s to ~630 Mbit/s, using fraglist GRO. Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Qingfang Deng <qingfang.deng@linux.dev> Tested-by: Pablo Neira Ayuso <pablo@netfilter.org> Link: https://patch.msgid.link/20260513013400.7467-1-qingfang.deng@linux.dev Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/ipv6/ip6_offload.c')
-rw-r--r--net/ipv6/ip6_offload.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
index d8072ad6b8c4..78f50c93c536 100644
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -297,6 +297,7 @@ out:
return pp;
}
+EXPORT_INDIRECT_CALLABLE(ipv6_gro_receive);
static struct sk_buff *sit_ip6ip6_gro_receive(struct list_head *head,
struct sk_buff *skb)
@@ -359,6 +360,7 @@ INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff)
out:
return err;
}
+EXPORT_INDIRECT_CALLABLE(ipv6_gro_complete);
static int sit_gro_complete(struct sk_buff *skb, int nhoff)
{