xfrm6_policy.c (c5e77f5216abdd1d98e6d14d9a3eb4e88d80011a) xfrm6_policy.c (63159f29be1df7f93563a8a0f78c5e65fc844ed6)
1/*
2 * xfrm6_policy.c: based on xfrm4_policy.c
3 *
4 * Authors:
5 * Mitsuru KANDA @USAGI
6 * Kazunori MIYAZAWA @USAGI
7 * Kunihiro Ishiguro <kunihiro@ipinfusion.com>
8 * IPv6 support

--- 279 unchanged lines hidden (view full) ---

288 __in6_dev_put(loopback_idev);
289 }
290
291 xfrm_dst_ifdown(dst, dev);
292}
293
294static struct dst_ops xfrm6_dst_ops = {
295 .family = AF_INET6,
1/*
2 * xfrm6_policy.c: based on xfrm4_policy.c
3 *
4 * Authors:
5 * Mitsuru KANDA @USAGI
6 * Kazunori MIYAZAWA @USAGI
7 * Kunihiro Ishiguro <kunihiro@ipinfusion.com>
8 * IPv6 support

--- 279 unchanged lines hidden (view full) ---

288 __in6_dev_put(loopback_idev);
289 }
290
291 xfrm_dst_ifdown(dst, dev);
292}
293
294static struct dst_ops xfrm6_dst_ops = {
295 .family = AF_INET6,
296 .protocol = cpu_to_be16(ETH_P_IPV6),
297 .gc = xfrm6_garbage_collect,
298 .update_pmtu = xfrm6_update_pmtu,
299 .redirect = xfrm6_redirect,
300 .cow_metrics = dst_cow_metrics_generic,
301 .destroy = xfrm6_dst_destroy,
302 .ifdown = xfrm6_dst_ifdown,
303 .local_out = __ip6_local_out,
304 .gc_thresh = 32768,

--- 61 unchanged lines hidden (view full) ---

366err_alloc:
367 return -ENOMEM;
368}
369
370static void __net_exit xfrm6_net_exit(struct net *net)
371{
372 struct ctl_table *table;
373
296 .gc = xfrm6_garbage_collect,
297 .update_pmtu = xfrm6_update_pmtu,
298 .redirect = xfrm6_redirect,
299 .cow_metrics = dst_cow_metrics_generic,
300 .destroy = xfrm6_dst_destroy,
301 .ifdown = xfrm6_dst_ifdown,
302 .local_out = __ip6_local_out,
303 .gc_thresh = 32768,

--- 61 unchanged lines hidden (view full) ---

365err_alloc:
366 return -ENOMEM;
367}
368
369static void __net_exit xfrm6_net_exit(struct net *net)
370{
371 struct ctl_table *table;
372
374 if (net->ipv6.sysctl.xfrm6_hdr == NULL)
373 if (!net->ipv6.sysctl.xfrm6_hdr)
375 return;
376
377 table = net->ipv6.sysctl.xfrm6_hdr->ctl_table_arg;
378 unregister_net_sysctl_table(net->ipv6.sysctl.xfrm6_hdr);
379 if (!net_eq(net, &init_net))
380 kfree(table);
381}
382

--- 47 unchanged lines hidden ---
374 return;
375
376 table = net->ipv6.sysctl.xfrm6_hdr->ctl_table_arg;
377 unregister_net_sysctl_table(net->ipv6.sysctl.xfrm6_hdr);
378 if (!net_eq(net, &init_net))
379 kfree(table);
380}
381

--- 47 unchanged lines hidden ---