diff options
Diffstat (limited to 'net/ipv6/udp_offload.c')
-rw-r--r-- | net/ipv6/udp_offload.c | 11 |
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 | ||
154 | skip: | 154 | skip: |
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 | ||
158 | flush: | 158 | flush: |
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 | ||
179 | static const struct net_offload udpv6_offload = { | 179 | static const struct net_offload udpv6_offload = { |
@@ -184,7 +184,12 @@ static const struct net_offload udpv6_offload = { | |||
184 | }, | 184 | }, |
185 | }; | 185 | }; |
186 | 186 | ||
187 | int __init udp_offload_init(void) | 187 | int 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 | |||
192 | int udpv6_offload_exit(void) | ||
193 | { | ||
194 | return inet6_del_offload(&udpv6_offload, IPPROTO_UDP); | ||
195 | } | ||