xfrm_user.c (1d1e34ddd48d27def2f324c1e3be16d460b16436) xfrm_user.c (a31f2d17b331db970259e875b7223d3aba7e3821)
1/* xfrm_user.c: User interface to configure xfrm engine.
2 *
3 * Copyright (C) 2002 David S. Miller (davem@redhat.com)
4 *
5 * Changes:
6 * Mitsuru KANDA @USAGI
7 * Kazunori MIYAZAWA @USAGI
8 * Kunihiro Ishiguro <kunihiro@ipinfusion.com>

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

2954 .report = xfrm_send_report,
2955 .migrate = xfrm_send_migrate,
2956 .new_mapping = xfrm_send_mapping,
2957};
2958
2959static int __net_init xfrm_user_net_init(struct net *net)
2960{
2961 struct sock *nlsk;
1/* xfrm_user.c: User interface to configure xfrm engine.
2 *
3 * Copyright (C) 2002 David S. Miller (davem@redhat.com)
4 *
5 * Changes:
6 * Mitsuru KANDA @USAGI
7 * Kazunori MIYAZAWA @USAGI
8 * Kunihiro Ishiguro <kunihiro@ipinfusion.com>

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

2954 .report = xfrm_send_report,
2955 .migrate = xfrm_send_migrate,
2956 .new_mapping = xfrm_send_mapping,
2957};
2958
2959static int __net_init xfrm_user_net_init(struct net *net)
2960{
2961 struct sock *nlsk;
2962 struct netlink_kernel_cfg cfg = {
2963 .groups = XFRMNLGRP_MAX,
2964 .input = xfrm_netlink_rcv,
2965 };
2962
2966
2963 nlsk = netlink_kernel_create(net, NETLINK_XFRM, XFRMNLGRP_MAX,
2964 xfrm_netlink_rcv, NULL, THIS_MODULE);
2967 nlsk = netlink_kernel_create(net, NETLINK_XFRM, THIS_MODULE, &cfg);
2965 if (nlsk == NULL)
2966 return -ENOMEM;
2967 net->xfrm.nlsk_stash = nlsk; /* Don't set to NULL */
2968 rcu_assign_pointer(net->xfrm.nlsk, nlsk);
2969 return 0;
2970}
2971
2972static void __net_exit xfrm_user_net_exit(struct list_head *net_exit_list)

--- 40 unchanged lines hidden ---
2968 if (nlsk == NULL)
2969 return -ENOMEM;
2970 net->xfrm.nlsk_stash = nlsk; /* Don't set to NULL */
2971 rcu_assign_pointer(net->xfrm.nlsk, nlsk);
2972 return 0;
2973}
2974
2975static void __net_exit xfrm_user_net_exit(struct list_head *net_exit_list)

--- 40 unchanged lines hidden ---