aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/udp_offload.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/udp_offload.c')
-rw-r--r--net/ipv6/udp_offload.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c
index 2b0fbe6929e8..5429f6bcf047 100644
--- a/net/ipv6/udp_offload.c
+++ b/net/ipv6/udp_offload.c
@@ -153,7 +153,7 @@ static struct sk_buff **udp6_gro_receive(struct sk_buff **head,
153 153
154skip: 154skip:
155 NAPI_GRO_CB(skb)->is_ipv6 = 1; 155 NAPI_GRO_CB(skb)->is_ipv6 = 1;
156 return udp_gro_receive(head, skb, uh); 156 return udp_gro_receive(head, skb, uh, udp6_lib_lookup_skb);
157 157
158flush: 158flush:
159 NAPI_GRO_CB(skb)->flush = 1; 159 NAPI_GRO_CB(skb)->flush = 1;
@@ -173,7 +173,7 @@ static int udp6_gro_complete(struct sk_buff *skb, int nhoff)
173 skb_shinfo(skb)->gso_type |= SKB_GSO_UDP_TUNNEL; 173 skb_shinfo(skb)->gso_type |= SKB_GSO_UDP_TUNNEL;
174 } 174 }
175 175
176 return udp_gro_complete(skb, nhoff); 176 return udp_gro_complete(skb, nhoff, udp6_lib_lookup_skb);
177} 177}
178 178
179static const struct net_offload udpv6_offload = { 179static const struct net_offload udpv6_offload = {
@@ -184,7 +184,12 @@ static const struct net_offload udpv6_offload = {
184 }, 184 },
185}; 185};
186 186
187int __init udp_offload_init(void) 187int udpv6_offload_init(void)
188{ 188{
189 return inet6_add_offload(&udpv6_offload, IPPROTO_UDP); 189 return inet6_add_offload(&udpv6_offload, IPPROTO_UDP);
190} 190}
191
192int udpv6_offload_exit(void)
193{
194 return inet6_del_offload(&udpv6_offload, IPPROTO_UDP);
195}