Lines Matching refs:net
528 static struct xfrm_state *xfrm_state_construct(struct net *net, in xfrm_state_construct() argument
533 struct xfrm_state *x = xfrm_state_alloc(net); in xfrm_state_construct()
593 x->replay_maxdiff = net->xfrm.sysctl_aevent_rseqth; in xfrm_state_construct()
595 x->replay_maxage = (net->xfrm.sysctl_aevent_etime*HZ)/XFRM_AE_ETH_M; in xfrm_state_construct()
616 struct net *net = sock_net(skb->sk); in xfrm_add_sa() local
626 x = xfrm_state_construct(net, p, attrs, &err); in xfrm_add_sa()
654 static struct xfrm_state *xfrm_user_state_lookup(struct net *net, in xfrm_user_state_lookup() argument
666 x = xfrm_state_lookup(net, mark, &p->daddr, p->spi, p->proto, p->family); in xfrm_user_state_lookup()
677 x = xfrm_state_lookup_byaddr(net, mark, in xfrm_user_state_lookup()
691 struct net *net = sock_net(skb->sk); in xfrm_del_sa() local
697 x = xfrm_user_state_lookup(net, p, attrs, &err); in xfrm_del_sa()
896 struct net *net = sock_net(sk); in xfrm_dump_sa_done() local
898 xfrm_state_walk_done(walk, net); in xfrm_dump_sa_done()
905 struct net *net = sock_net(skb->sk); in xfrm_dump_sa() local
943 (void) xfrm_state_walk(net, walk, dump_one_state, &info); in xfrm_dump_sa()
976 static inline int xfrm_nlmsg_multicast(struct net *net, struct sk_buff *skb, in xfrm_nlmsg_multicast() argument
979 struct sock *nlsk = rcu_dereference(net->xfrm.nlsk); in xfrm_nlmsg_multicast()
996 static int build_spdinfo(struct sk_buff *skb, struct net *net, in build_spdinfo() argument
1014 xfrm_spd_getinfo(net, &si); in build_spdinfo()
1025 lseq = read_seqbegin(&net->xfrm.policy_hthresh.lock); in build_spdinfo()
1027 spt4.lbits = net->xfrm.policy_hthresh.lbits4; in build_spdinfo()
1028 spt4.rbits = net->xfrm.policy_hthresh.rbits4; in build_spdinfo()
1029 spt6.lbits = net->xfrm.policy_hthresh.lbits6; in build_spdinfo()
1030 spt6.rbits = net->xfrm.policy_hthresh.rbits6; in build_spdinfo()
1031 } while (read_seqretry(&net->xfrm.policy_hthresh.lock, lseq)); in build_spdinfo()
1052 struct net *net = sock_net(skb->sk); in xfrm_set_spdinfo() local
1077 write_seqlock(&net->xfrm.policy_hthresh.lock); in xfrm_set_spdinfo()
1079 net->xfrm.policy_hthresh.lbits4 = thresh4->lbits; in xfrm_set_spdinfo()
1080 net->xfrm.policy_hthresh.rbits4 = thresh4->rbits; in xfrm_set_spdinfo()
1083 net->xfrm.policy_hthresh.lbits6 = thresh6->lbits; in xfrm_set_spdinfo()
1084 net->xfrm.policy_hthresh.rbits6 = thresh6->rbits; in xfrm_set_spdinfo()
1086 write_sequnlock(&net->xfrm.policy_hthresh.lock); in xfrm_set_spdinfo()
1088 xfrm_policy_hash_rebuild(net); in xfrm_set_spdinfo()
1097 struct net *net = sock_net(skb->sk); in xfrm_get_spdinfo() local
1107 if (build_spdinfo(r_skb, net, sportid, seq, *flags) < 0) in xfrm_get_spdinfo()
1110 return nlmsg_unicast(net->xfrm.nlsk, r_skb, sportid); in xfrm_get_spdinfo()
1120 static int build_sadinfo(struct sk_buff *skb, struct net *net, in build_sadinfo() argument
1135 xfrm_sad_getinfo(net, &si); in build_sadinfo()
1155 struct net *net = sock_net(skb->sk); in xfrm_get_sadinfo() local
1165 if (build_sadinfo(r_skb, net, sportid, seq, *flags) < 0) in xfrm_get_sadinfo()
1168 return nlmsg_unicast(net->xfrm.nlsk, r_skb, sportid); in xfrm_get_sadinfo()
1174 struct net *net = sock_net(skb->sk); in xfrm_get_sa() local
1180 x = xfrm_user_state_lookup(net, p, attrs, &err); in xfrm_get_sa()
1188 err = nlmsg_unicast(net->xfrm.nlsk, resp_skb, NETLINK_CB(skb).portid); in xfrm_get_sa()
1198 struct net *net = sock_net(skb->sk); in xfrm_alloc_userspi() local
1220 x = xfrm_find_acq_byseq(net, mark, p->info.seq); in xfrm_alloc_userspi()
1228 x = xfrm_find_acq(net, &m, p->info.mode, p->info.reqid, in xfrm_alloc_userspi()
1246 err = nlmsg_unicast(net->xfrm.nlsk, resp_skb, NETLINK_CB(skb).portid); in xfrm_alloc_userspi()
1470 static struct xfrm_policy *xfrm_policy_construct(struct net *net, struct xfrm_userpolicy_info *p, s… in xfrm_policy_construct() argument
1472 struct xfrm_policy *xp = xfrm_policy_alloc(net, GFP_KERNEL); in xfrm_policy_construct()
1504 struct net *net = sock_net(skb->sk); in xfrm_add_policy() local
1518 xp = xfrm_policy_construct(net, p, attrs, &err); in xfrm_add_policy()
1649 struct net *net = sock_net(cb->skb->sk); in xfrm_dump_policy_done() local
1651 xfrm_policy_walk_done(walk, net); in xfrm_dump_policy_done()
1657 struct net *net = sock_net(skb->sk); in xfrm_dump_policy() local
1674 (void) xfrm_policy_walk(net, walk, dump_one_policy, &info); in xfrm_dump_policy()
1708 struct net *net = sock_net(skb->sk); in xfrm_get_policy() local
1730 xp = xfrm_policy_byid(net, mark, type, p->dir, p->index, delete, &err); in xfrm_get_policy()
1747 xp = xfrm_policy_bysel_ctx(net, mark, type, p->dir, &p->sel, in xfrm_get_policy()
1761 err = nlmsg_unicast(net->xfrm.nlsk, resp_skb, in xfrm_get_policy()
1780 xfrm_garbage_collect(net); in xfrm_get_policy()
1787 struct net *net = sock_net(skb->sk); in xfrm_flush_sa() local
1792 err = xfrm_state_flush(net, p->proto, true); in xfrm_flush_sa()
1802 c.net = net; in xfrm_flush_sa()
1881 struct net *net = sock_net(skb->sk); in xfrm_get_ae() local
1893 x = xfrm_state_lookup(net, mark, &id->daddr, id->spi, id->proto, id->family); in xfrm_get_ae()
1915 err = nlmsg_unicast(net->xfrm.nlsk, r_skb, NETLINK_CB(skb).portid); in xfrm_get_ae()
1924 struct net *net = sock_net(skb->sk); in xfrm_new_ae() local
1946 x = xfrm_state_lookup(net, mark, &p->sa_id.daddr, p->sa_id.spi, p->sa_id.proto, p->sa_id.family); in xfrm_new_ae()
1975 struct net *net = sock_net(skb->sk); in xfrm_flush_policy() local
1984 err = xfrm_policy_flush(net, type, true); in xfrm_flush_policy()
1995 c.net = net; in xfrm_flush_policy()
2003 struct net *net = sock_net(skb->sk); in xfrm_add_pol_expire() local
2021 xp = xfrm_policy_byid(net, mark, type, p->dir, p->index, 0, &err); in xfrm_add_pol_expire()
2038 xp = xfrm_policy_bysel_ctx(net, mark, type, p->dir, in xfrm_add_pol_expire()
2066 struct net *net = sock_net(skb->sk); in xfrm_add_sa_expire() local
2074 x = xfrm_state_lookup(net, mark, &p->id.daddr, p->id.spi, p->id.proto, p->family); in xfrm_add_sa_expire()
2100 struct net *net = sock_net(skb->sk); in xfrm_add_acquire() local
2108 struct xfrm_state *x = xfrm_state_alloc(net); in xfrm_add_acquire()
2121 xp = xfrm_policy_construct(net, &ua->policy, attrs, &err); in xfrm_add_acquire()
2210 struct net *net = sock_net(skb->sk); in xfrm_do_migrate() local
2228 xfrm_migrate(&pi->sel, pi->dir, type, m, n, kmp, net); in xfrm_do_migrate()
2325 struct net *net = &init_net; in xfrm_send_migrate() local
2336 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_MIGRATE); in xfrm_send_migrate()
2446 struct net *net = sock_net(skb->sk); in xfrm_user_rcv_msg() local
2478 return netlink_dump_start(net->xfrm.nlsk, skb, nlh, &c); in xfrm_user_rcv_msg()
2496 struct net *net = sock_net(skb->sk); in xfrm_netlink_rcv() local
2498 mutex_lock(&net->xfrm.xfrm_cfg_mutex); in xfrm_netlink_rcv()
2500 mutex_unlock(&net->xfrm.xfrm_cfg_mutex); in xfrm_netlink_rcv()
2533 struct net *net = xs_net(x); in xfrm_exp_state_notify() local
2545 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_EXPIRE); in xfrm_exp_state_notify()
2550 struct net *net = xs_net(x); in xfrm_aevent_state_notify() local
2560 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_AEVENTS); in xfrm_aevent_state_notify()
2565 struct net *net = c->net; in xfrm_notify_sa_flush() local
2586 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_SA); in xfrm_notify_sa_flush()
2627 struct net *net = xs_net(x); in xfrm_notify_sa() local
2675 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_SA); in xfrm_notify_sa()
2757 struct net *net = xs_net(x); in xfrm_send_acquire() local
2767 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_ACQUIRE); in xfrm_send_acquire()
2776 struct net *net = sock_net(sk); in xfrm_compile_policy() local
2815 xp = xfrm_policy_alloc(net, GFP_ATOMIC); in xfrm_compile_policy()
2872 struct net *net = xp_net(xp); in xfrm_exp_policy_notify() local
2882 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_EXPIRE); in xfrm_exp_policy_notify()
2888 struct net *net = xp_net(xp); in xfrm_notify_policy() local
2944 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_POLICY); in xfrm_notify_policy()
2953 struct net *net = c->net; in xfrm_notify_policy_flush() local
2972 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_POLICY); in xfrm_notify_policy_flush()
3030 static int xfrm_send_report(struct net *net, u8 proto, in xfrm_send_report() argument
3042 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_REPORT); in xfrm_send_report()
3079 struct net *net = xs_net(x); in xfrm_send_mapping() local
3095 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_MAPPING); in xfrm_send_mapping()
3100 return (bool)xfrm_acquire_is_on(c->net); in xfrm_is_alive()
3115 static int __net_init xfrm_user_net_init(struct net *net) in xfrm_user_net_init() argument
3123 nlsk = netlink_kernel_create(net, NETLINK_XFRM, &cfg); in xfrm_user_net_init()
3126 net->xfrm.nlsk_stash = nlsk; /* Don't set to NULL */ in xfrm_user_net_init()
3127 rcu_assign_pointer(net->xfrm.nlsk, nlsk); in xfrm_user_net_init()
3133 struct net *net; in xfrm_user_net_exit() local
3134 list_for_each_entry(net, net_exit_list, exit_list) in xfrm_user_net_exit()
3135 RCU_INIT_POINTER(net->xfrm.nlsk, NULL); in xfrm_user_net_exit()
3137 list_for_each_entry(net, net_exit_list, exit_list) in xfrm_user_net_exit()
3138 netlink_kernel_release(net->xfrm.nlsk_stash); in xfrm_user_net_exit()