Lines Matching refs:net

502 static struct xfrm_state *xfrm_state_construct(struct net *net,  in xfrm_state_construct()  argument
507 struct xfrm_state *x = xfrm_state_alloc(net); in xfrm_state_construct()
570 x->replay_maxdiff = net->xfrm.sysctl_aevent_rseqth; in xfrm_state_construct()
572 x->replay_maxage = (net->xfrm.sysctl_aevent_etime*HZ)/XFRM_AE_ETH_M; in xfrm_state_construct()
593 struct net *net = sock_net(skb->sk); in xfrm_add_sa() local
603 x = xfrm_state_construct(net, p, attrs, &err); in xfrm_add_sa()
631 static struct xfrm_state *xfrm_user_state_lookup(struct net *net, in xfrm_user_state_lookup() argument
643 x = xfrm_state_lookup(net, mark, &p->daddr, p->spi, p->proto, p->family); in xfrm_user_state_lookup()
654 x = xfrm_state_lookup_byaddr(net, mark, in xfrm_user_state_lookup()
668 struct net *net = sock_net(skb->sk); in xfrm_del_sa() local
674 x = xfrm_user_state_lookup(net, p, attrs, &err); in xfrm_del_sa()
871 struct net *net = sock_net(sk); in xfrm_dump_sa_done() local
873 xfrm_state_walk_done(walk, net); in xfrm_dump_sa_done()
880 struct net *net = sock_net(skb->sk); in xfrm_dump_sa() local
920 (void) xfrm_state_walk(net, walk, dump_one_state, &info); in xfrm_dump_sa()
953 static inline int xfrm_nlmsg_multicast(struct net *net, struct sk_buff *skb, in xfrm_nlmsg_multicast() argument
956 struct sock *nlsk = rcu_dereference(net->xfrm.nlsk); in xfrm_nlmsg_multicast()
973 static int build_spdinfo(struct sk_buff *skb, struct net *net, in build_spdinfo() argument
991 xfrm_spd_getinfo(net, &si); in build_spdinfo()
1002 lseq = read_seqbegin(&net->xfrm.policy_hthresh.lock); in build_spdinfo()
1004 spt4.lbits = net->xfrm.policy_hthresh.lbits4; in build_spdinfo()
1005 spt4.rbits = net->xfrm.policy_hthresh.rbits4; in build_spdinfo()
1006 spt6.lbits = net->xfrm.policy_hthresh.lbits6; in build_spdinfo()
1007 spt6.rbits = net->xfrm.policy_hthresh.rbits6; in build_spdinfo()
1008 } while (read_seqretry(&net->xfrm.policy_hthresh.lock, lseq)); in build_spdinfo()
1029 struct net *net = sock_net(skb->sk); in xfrm_set_spdinfo() local
1054 write_seqlock(&net->xfrm.policy_hthresh.lock); in xfrm_set_spdinfo()
1056 net->xfrm.policy_hthresh.lbits4 = thresh4->lbits; in xfrm_set_spdinfo()
1057 net->xfrm.policy_hthresh.rbits4 = thresh4->rbits; in xfrm_set_spdinfo()
1060 net->xfrm.policy_hthresh.lbits6 = thresh6->lbits; in xfrm_set_spdinfo()
1061 net->xfrm.policy_hthresh.rbits6 = thresh6->rbits; in xfrm_set_spdinfo()
1063 write_sequnlock(&net->xfrm.policy_hthresh.lock); in xfrm_set_spdinfo()
1065 xfrm_policy_hash_rebuild(net); in xfrm_set_spdinfo()
1074 struct net *net = sock_net(skb->sk); in xfrm_get_spdinfo() local
1084 if (build_spdinfo(r_skb, net, sportid, seq, *flags) < 0) in xfrm_get_spdinfo()
1087 return nlmsg_unicast(net->xfrm.nlsk, r_skb, sportid); in xfrm_get_spdinfo()
1097 static int build_sadinfo(struct sk_buff *skb, struct net *net, in build_sadinfo() argument
1112 xfrm_sad_getinfo(net, &si); in build_sadinfo()
1132 struct net *net = sock_net(skb->sk); in xfrm_get_sadinfo() local
1142 if (build_sadinfo(r_skb, net, sportid, seq, *flags) < 0) in xfrm_get_sadinfo()
1145 return nlmsg_unicast(net->xfrm.nlsk, r_skb, sportid); in xfrm_get_sadinfo()
1151 struct net *net = sock_net(skb->sk); in xfrm_get_sa() local
1157 x = xfrm_user_state_lookup(net, p, attrs, &err); in xfrm_get_sa()
1165 err = nlmsg_unicast(net->xfrm.nlsk, resp_skb, NETLINK_CB(skb).portid); in xfrm_get_sa()
1175 struct net *net = sock_net(skb->sk); in xfrm_alloc_userspi() local
1197 x = xfrm_find_acq_byseq(net, mark, p->info.seq); in xfrm_alloc_userspi()
1205 x = xfrm_find_acq(net, &m, p->info.mode, p->info.reqid, in xfrm_alloc_userspi()
1223 err = nlmsg_unicast(net->xfrm.nlsk, resp_skb, NETLINK_CB(skb).portid); in xfrm_alloc_userspi()
1447 static struct xfrm_policy *xfrm_policy_construct(struct net *net, struct xfrm_userpolicy_info *p, s… in xfrm_policy_construct() argument
1449 struct xfrm_policy *xp = xfrm_policy_alloc(net, GFP_KERNEL); in xfrm_policy_construct()
1481 struct net *net = sock_net(skb->sk); in xfrm_add_policy() local
1495 xp = xfrm_policy_construct(net, p, attrs, &err); in xfrm_add_policy()
1626 struct net *net = sock_net(cb->skb->sk); in xfrm_dump_policy_done() local
1628 xfrm_policy_walk_done(walk, net); in xfrm_dump_policy_done()
1634 struct net *net = sock_net(skb->sk); in xfrm_dump_policy() local
1651 (void) xfrm_policy_walk(net, walk, dump_one_policy, &info); in xfrm_dump_policy()
1685 struct net *net = sock_net(skb->sk); in xfrm_get_policy() local
1707 xp = xfrm_policy_byid(net, mark, type, p->dir, p->index, delete, &err); in xfrm_get_policy()
1724 xp = xfrm_policy_bysel_ctx(net, mark, type, p->dir, &p->sel, in xfrm_get_policy()
1738 err = nlmsg_unicast(net->xfrm.nlsk, resp_skb, in xfrm_get_policy()
1757 xfrm_garbage_collect(net); in xfrm_get_policy()
1764 struct net *net = sock_net(skb->sk); in xfrm_flush_sa() local
1769 err = xfrm_state_flush(net, p->proto, true); in xfrm_flush_sa()
1779 c.net = net; in xfrm_flush_sa()
1858 struct net *net = sock_net(skb->sk); in xfrm_get_ae() local
1870 x = xfrm_state_lookup(net, mark, &id->daddr, id->spi, id->proto, id->family); in xfrm_get_ae()
1892 err = nlmsg_unicast(net->xfrm.nlsk, r_skb, NETLINK_CB(skb).portid); in xfrm_get_ae()
1901 struct net *net = sock_net(skb->sk); in xfrm_new_ae() local
1921 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()
1950 struct net *net = sock_net(skb->sk); in xfrm_flush_policy() local
1959 err = xfrm_policy_flush(net, type, true); in xfrm_flush_policy()
1970 c.net = net; in xfrm_flush_policy()
1978 struct net *net = sock_net(skb->sk); in xfrm_add_pol_expire() local
1996 xp = xfrm_policy_byid(net, mark, type, p->dir, p->index, 0, &err); in xfrm_add_pol_expire()
2013 xp = xfrm_policy_bysel_ctx(net, mark, type, p->dir, in xfrm_add_pol_expire()
2041 struct net *net = sock_net(skb->sk); in xfrm_add_sa_expire() local
2049 x = xfrm_state_lookup(net, mark, &p->id.daddr, p->id.spi, p->id.proto, p->family); in xfrm_add_sa_expire()
2075 struct net *net = sock_net(skb->sk); in xfrm_add_acquire() local
2083 struct xfrm_state *x = xfrm_state_alloc(net); in xfrm_add_acquire()
2096 xp = xfrm_policy_construct(net, &ua->policy, attrs, &err); in xfrm_add_acquire()
2185 struct net *net = sock_net(skb->sk); in xfrm_do_migrate() local
2203 xfrm_migrate(&pi->sel, pi->dir, type, m, n, kmp, net); in xfrm_do_migrate()
2300 struct net *net = &init_net; in xfrm_send_migrate() local
2311 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_MIGRATE); in xfrm_send_migrate()
2421 struct net *net = sock_net(skb->sk); in xfrm_user_rcv_msg() local
2453 return netlink_dump_start(net->xfrm.nlsk, skb, nlh, &c); in xfrm_user_rcv_msg()
2471 struct net *net = sock_net(skb->sk); in xfrm_netlink_rcv() local
2473 mutex_lock(&net->xfrm.xfrm_cfg_mutex); in xfrm_netlink_rcv()
2475 mutex_unlock(&net->xfrm.xfrm_cfg_mutex); in xfrm_netlink_rcv()
2508 struct net *net = xs_net(x); in xfrm_exp_state_notify() local
2520 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_EXPIRE); in xfrm_exp_state_notify()
2525 struct net *net = xs_net(x); in xfrm_aevent_state_notify() local
2535 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_AEVENTS); in xfrm_aevent_state_notify()
2540 struct net *net = c->net; in xfrm_notify_sa_flush() local
2561 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_SA); in xfrm_notify_sa_flush()
2602 struct net *net = xs_net(x); in xfrm_notify_sa() local
2650 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_SA); in xfrm_notify_sa()
2732 struct net *net = xs_net(x); in xfrm_send_acquire() local
2742 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_ACQUIRE); in xfrm_send_acquire()
2751 struct net *net = sock_net(sk); in xfrm_compile_policy() local
2790 xp = xfrm_policy_alloc(net, GFP_ATOMIC); in xfrm_compile_policy()
2847 struct net *net = xp_net(xp); in xfrm_exp_policy_notify() local
2857 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_EXPIRE); in xfrm_exp_policy_notify()
2863 struct net *net = xp_net(xp); in xfrm_notify_policy() local
2919 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_POLICY); in xfrm_notify_policy()
2928 struct net *net = c->net; in xfrm_notify_policy_flush() local
2947 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_POLICY); in xfrm_notify_policy_flush()
3005 static int xfrm_send_report(struct net *net, u8 proto, in xfrm_send_report() argument
3017 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_REPORT); in xfrm_send_report()
3054 struct net *net = xs_net(x); in xfrm_send_mapping() local
3070 return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_MAPPING); in xfrm_send_mapping()
3075 return (bool)xfrm_acquire_is_on(c->net); in xfrm_is_alive()
3090 static int __net_init xfrm_user_net_init(struct net *net) in xfrm_user_net_init() argument
3098 nlsk = netlink_kernel_create(net, NETLINK_XFRM, &cfg); in xfrm_user_net_init()
3101 net->xfrm.nlsk_stash = nlsk; /* Don't set to NULL */ in xfrm_user_net_init()
3102 rcu_assign_pointer(net->xfrm.nlsk, nlsk); in xfrm_user_net_init()
3108 struct net *net; in xfrm_user_net_exit() local
3109 list_for_each_entry(net, net_exit_list, exit_list) in xfrm_user_net_exit()
3110 RCU_INIT_POINTER(net->xfrm.nlsk, NULL); in xfrm_user_net_exit()
3112 list_for_each_entry(net, net_exit_list, exit_list) in xfrm_user_net_exit()
3113 netlink_kernel_release(net->xfrm.nlsk_stash); in xfrm_user_net_exit()