mirror of https://github.com/OpenIPC/firmware.git
52 lines
1.7 KiB
Diff
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;
|