• Home
  • Raw
  • Download

Lines Matching refs:net

51 static int __net_init fib4_rules_init(struct net *net)  in fib4_rules_init()  argument
64 &net->ipv4.fib_table_hash[TABLE_LOCAL_INDEX]); in fib4_rules_init()
66 &net->ipv4.fib_table_hash[TABLE_MAIN_INDEX]); in fib4_rules_init()
75 struct fib_table *fib_new_table(struct net *net, u32 id) in fib_new_table() argument
82 tb = fib_get_table(net, id); in fib_new_table()
92 net->ipv4.fib_local = tb; in fib_new_table()
96 net->ipv4.fib_main = tb; in fib_new_table()
100 net->ipv4.fib_default = tb; in fib_new_table()
108 hlist_add_head_rcu(&tb->tb_hlist, &net->ipv4.fib_table_hash[h]); in fib_new_table()
112 struct fib_table *fib_get_table(struct net *net, u32 id) in fib_get_table() argument
123 head = &net->ipv4.fib_table_hash[h]; in fib_get_table()
135 static void fib_flush(struct net *net) in fib_flush() argument
143 head = &net->ipv4.fib_table_hash[h]; in fib_flush()
149 rt_cache_flush(net); in fib_flush()
156 static inline unsigned int __inet_dev_addr_type(struct net *net, in __inet_dev_addr_type() argument
170 local_table = fib_get_table(net, RT_TABLE_LOCAL); in __inet_dev_addr_type()
183 unsigned int inet_addr_type(struct net *net, __be32 addr) in inet_addr_type() argument
185 return __inet_dev_addr_type(net, NULL, addr); in inet_addr_type()
189 unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev, in inet_dev_addr_type() argument
192 return __inet_dev_addr_type(net, dev, addr); in inet_dev_addr_type()
203 struct net *net; in fib_compute_spec_dst() local
214 net = dev_net(dev); in fib_compute_spec_dst()
225 if (!fib_lookup(net, &fl4, &res)) in fib_compute_spec_dst()
226 return FIB_RES_PREFSRC(net, res); in fib_compute_spec_dst()
249 struct net *net; in __fib_validate_source() local
263 net = dev_net(dev); in __fib_validate_source()
264 if (fib_lookup(net, &fl4, &res)) in __fib_validate_source()
299 if (fib_lookup(net, &fl4, &res) == 0) { in __fib_validate_source()
350 static int rtentry_to_fib_config(struct net *net, int cmd, struct rtentry *rt, in rtentry_to_fib_config() argument
357 cfg->fc_nlinfo.nl_net = net; in rtentry_to_fib_config()
418 dev = __dev_get_by_name(net, devname); in rtentry_to_fib_config()
441 inet_addr_type(net, addr) == RTN_UNICAST) in rtentry_to_fib_config()
482 int ip_rt_ioctl(struct net *net, unsigned int cmd, void __user *arg) in ip_rt_ioctl() argument
491 if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) in ip_rt_ioctl()
498 err = rtentry_to_fib_config(net, cmd, &rt, &cfg); in ip_rt_ioctl()
503 tb = fib_get_table(net, cfg.fc_table); in ip_rt_ioctl()
509 tb = fib_new_table(net, cfg.fc_table); in ip_rt_ioctl()
539 static int rtm_to_fib_config(struct net *net, struct sk_buff *skb, in rtm_to_fib_config() argument
564 cfg->fc_nlinfo.nl_net = net; in rtm_to_fib_config()
612 struct net *net = sock_net(skb->sk); in inet_rtm_delroute() local
617 err = rtm_to_fib_config(net, skb, nlh, &cfg); in inet_rtm_delroute()
621 tb = fib_get_table(net, cfg.fc_table); in inet_rtm_delroute()
634 struct net *net = sock_net(skb->sk); in inet_rtm_newroute() local
639 err = rtm_to_fib_config(net, skb, nlh, &cfg); in inet_rtm_newroute()
643 tb = fib_new_table(net, cfg.fc_table); in inet_rtm_newroute()
656 struct net *net = sock_net(skb->sk); in inet_dump_fib() local
672 head = &net->ipv4.fib_table_hash[h]; in inet_dump_fib()
701 struct net *net = dev_net(ifa->ifa_dev->dev); in fib_magic() local
712 .nl_net = net, in fib_magic()
717 tb = fib_new_table(net, RT_TABLE_MAIN); in fib_magic()
719 tb = fib_new_table(net, RT_TABLE_LOCAL); in fib_magic()
957 struct net *net; in nl_fib_input() local
963 net = sock_net(skb->sk); in nl_fib_input()
976 tb = fib_get_table(net, frn->tb_id_in); in nl_fib_input()
983 netlink_unicast(net->ipv4.fibnl, skb, portid, MSG_DONTWAIT); in nl_fib_input()
986 static int __net_init nl_fib_lookup_init(struct net *net) in nl_fib_lookup_init() argument
993 sk = netlink_kernel_create(net, NETLINK_FIB_LOOKUP, &cfg); in nl_fib_lookup_init()
996 net->ipv4.fibnl = sk; in nl_fib_lookup_init()
1000 static void nl_fib_lookup_exit(struct net *net) in nl_fib_lookup_exit() argument
1002 netlink_kernel_release(net->ipv4.fibnl); in nl_fib_lookup_exit()
1003 net->ipv4.fibnl = NULL; in nl_fib_lookup_exit()
1018 struct net *net = dev_net(dev); in fib_inetaddr_event() local
1026 atomic_inc(&net->ipv4.dev_addr_genid); in fib_inetaddr_event()
1031 atomic_inc(&net->ipv4.dev_addr_genid); in fib_inetaddr_event()
1049 struct net *net = dev_net(dev); in fib_netdev_event() local
1069 atomic_inc(&net->ipv4.dev_addr_genid); in fib_netdev_event()
1070 rt_cache_flush(net); in fib_netdev_event()
1077 rt_cache_flush(net); in fib_netdev_event()
1091 static int __net_init ip_fib_net_init(struct net *net) in ip_fib_net_init() argument
1099 net->ipv4.fib_table_hash = kzalloc(size, GFP_KERNEL); in ip_fib_net_init()
1100 if (net->ipv4.fib_table_hash == NULL) in ip_fib_net_init()
1103 err = fib4_rules_init(net); in ip_fib_net_init()
1109 kfree(net->ipv4.fib_table_hash); in ip_fib_net_init()
1113 static void ip_fib_net_exit(struct net *net) in ip_fib_net_exit() argument
1118 fib4_rules_exit(net); in ip_fib_net_exit()
1127 head = &net->ipv4.fib_table_hash[i]; in ip_fib_net_exit()
1135 kfree(net->ipv4.fib_table_hash); in ip_fib_net_exit()
1138 static int __net_init fib_net_init(struct net *net) in fib_net_init() argument
1143 net->ipv4.fib_num_tclassid_users = 0; in fib_net_init()
1145 error = ip_fib_net_init(net); in fib_net_init()
1148 error = nl_fib_lookup_init(net); in fib_net_init()
1151 error = fib_proc_init(net); in fib_net_init()
1158 nl_fib_lookup_exit(net); in fib_net_init()
1160 ip_fib_net_exit(net); in fib_net_init()
1164 static void __net_exit fib_net_exit(struct net *net) in fib_net_exit() argument
1166 fib_proc_exit(net); in fib_net_exit()
1167 nl_fib_lookup_exit(net); in fib_net_exit()
1168 ip_fib_net_exit(net); in fib_net_exit()