firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-net_ipv4_fou.c.patch

52 lines
1.7 KiB
Diff

diff -drupN a/net/ipv4/fou.c b/net/ipv4/fou.c
--- a/net/ipv4/fou.c 2018-08-06 17:23:04.000000000 +0300
+++ b/net/ipv4/fou.c 2022-06-12 05:28:14.000000000 +0300
@@ -244,7 +244,11 @@ static struct sk_buff **fou_gro_receive(
NAPI_GRO_CB(skb)->is_fou = 1;
rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+ offloads = inet_offloads;
+#endif
ops = rcu_dereference(offloads[proto]);
if (!ops || !ops->callbacks.gro_receive)
goto out_unlock;
@@ -266,7 +270,11 @@ static int fou_gro_complete(struct sock
const struct net_offload **offloads;
rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+ offloads = inet_offloads;
+#endif
ops = rcu_dereference(offloads[proto]);
if (WARN_ON(!ops || !ops->callbacks.gro_complete))
goto out_unlock;
@@ -436,7 +444,11 @@ next_proto:
NAPI_GRO_CB(skb)->is_fou = 1;
rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+ offloads = inet_offloads;
+#endif
ops = rcu_dereference(offloads[proto]);
if (WARN_ON_ONCE(!ops || !ops->callbacks.gro_receive))
goto out_unlock;
@@ -484,7 +496,11 @@ static int gue_gro_complete(struct sock
}
rcu_read_lock();
+#if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6)
offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
+#else
+ offloads = inet_offloads;
+#endif
ops = rcu_dereference(offloads[proto]);
if (WARN_ON(!ops || !ops->callbacks.gro_complete))
goto out_unlock;