Lines Matching refs:net

93 #define IPV4_DEVCONF_DFLT(net, attr) \  argument
94 IPV4_DEVCONF((*net->ipv4.devconf_dflt), attr)
110 static u32 inet_addr_hash(const struct net *net, __be32 addr) in inet_addr_hash() argument
112 u32 val = (__force u32) addr ^ net_hash_mix(net); in inet_addr_hash()
117 static void inet_hash_insert(struct net *net, struct in_ifaddr *ifa) in inet_hash_insert() argument
119 u32 hash = inet_addr_hash(net, ifa->ifa_local); in inet_hash_insert()
139 struct net_device *__ip_dev_find(struct net *net, __be32 addr, bool devref) in __ip_dev_find() argument
141 u32 hash = inet_addr_hash(net, addr); in __ip_dev_find()
150 if (!net_eq(dev_net(dev), net)) in __ip_dev_find()
164 local = fib_get_table(net, RT_TABLE_LOCAL); in __ip_dev_find()
523 struct in_device *inetdev_by_index(struct net *net, int ifindex) in inetdev_by_index() argument
529 dev = dev_get_by_index_rcu(net, ifindex); in inetdev_by_index()
573 struct net *net = sock_net(skb->sk); in inet_rtm_deladdr() local
587 in_dev = inetdev_by_index(net, ifm->ifa_index); in inet_rtm_deladdr()
608 ip_mc_config(net->ipv4.mc_autojoin_sk, false, ifa); in inet_rtm_deladdr()
742 static struct in_ifaddr *rtm_to_ifaddr(struct net *net, struct nlmsghdr *nlh, in rtm_to_ifaddr() argument
761 dev = __dev_get_by_index(net, ifm->ifa_index); in rtm_to_ifaddr()
845 struct net *net = sock_net(skb->sk); in inet_rtm_newaddr() local
853 ifa = rtm_to_ifaddr(net, nlh, &valid_lft, &prefered_lft); in inet_rtm_newaddr()
864 int ret = ip_mc_config(net->ipv4.mc_autojoin_sk, in inet_rtm_newaddr()
915 int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg) in devinet_ioctl() argument
943 dev_load(net, ifr.ifr_name); in devinet_ioctl()
961 if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) in devinet_ioctl()
969 if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) in devinet_ioctl()
983 dev = __dev_get_by_name(net, ifr.ifr_name); in devinet_ioctl()
1197 struct net *net = dev_net(dev); in inet_select_addr() local
1223 for_each_netdev_rcu(net, dev) { in inet_select_addr()
1287 __be32 inet_confirm_addr(struct net *net, struct in_device *in_dev, in inet_confirm_addr() argument
1297 for_each_netdev_rcu(net, dev) { in inet_confirm_addr()
1566 struct net *net = sock_net(skb->sk); in inet_dump_ifaddr() local
1581 head = &net->dev_index_head[h]; in inet_dump_ifaddr()
1583 cb->seq = atomic_read(&net->ipv4.dev_addr_genid) ^ in inet_dump_ifaddr()
1584 net->dev_base_seq; in inet_dump_ifaddr()
1627 struct net *net; in rtmsg_ifa() local
1629 net = dev_net(ifa->ifa_dev->dev); in rtmsg_ifa()
1641 rtnl_notify(skb, net, portid, RTNLGRP_IPV4_IFADDR, nlh, GFP_KERNEL); in rtmsg_ifa()
1645 rtnl_set_sk_err(net, RTNLGRP_IPV4_IFADDR, err); in rtmsg_ifa()
1792 void inet_netconf_notify_devconf(struct net *net, int type, int ifindex, in inet_netconf_notify_devconf() argument
1810 rtnl_notify(skb, net, 0, RTNLGRP_IPV4_NETCONF, NULL, GFP_ATOMIC); in inet_netconf_notify_devconf()
1814 rtnl_set_sk_err(net, RTNLGRP_IPV4_NETCONF, err); in inet_netconf_notify_devconf()
1827 struct net *net = sock_net(in_skb->sk); in inet_netconf_get_devconf() local
1849 devconf = net->ipv4.devconf_all; in inet_netconf_get_devconf()
1852 devconf = net->ipv4.devconf_dflt; in inet_netconf_get_devconf()
1855 dev = __dev_get_by_index(net, ifindex); in inet_netconf_get_devconf()
1880 err = rtnl_unicast(skb, net, NETLINK_CB(in_skb).portid); in inet_netconf_get_devconf()
1888 struct net *net = sock_net(skb->sk); in inet_netconf_dump_devconf() local
1900 head = &net->dev_index_head[h]; in inet_netconf_dump_devconf()
1902 cb->seq = atomic_read(&net->ipv4.dev_addr_genid) ^ in inet_netconf_dump_devconf()
1903 net->dev_base_seq; in inet_netconf_dump_devconf()
1929 net->ipv4.devconf_all, in inet_netconf_dump_devconf()
1940 net->ipv4.devconf_dflt, in inet_netconf_dump_devconf()
1958 static void devinet_copy_dflt_conf(struct net *net, int i) in devinet_copy_dflt_conf() argument
1963 for_each_netdev_rcu(net, dev) { in devinet_copy_dflt_conf()
1968 in_dev->cnf.data[i] = net->ipv4.devconf_dflt->data[i]; in devinet_copy_dflt_conf()
1974 static void inet_forward_change(struct net *net) in inet_forward_change() argument
1977 int on = IPV4_DEVCONF_ALL(net, FORWARDING); in inet_forward_change()
1979 IPV4_DEVCONF_ALL(net, ACCEPT_REDIRECTS) = !on; in inet_forward_change()
1980 IPV4_DEVCONF_DFLT(net, FORWARDING) = on; in inet_forward_change()
1981 inet_netconf_notify_devconf(net, NETCONFA_FORWARDING, in inet_forward_change()
1983 net->ipv4.devconf_all); in inet_forward_change()
1984 inet_netconf_notify_devconf(net, NETCONFA_FORWARDING, in inet_forward_change()
1986 net->ipv4.devconf_dflt); in inet_forward_change()
1988 for_each_netdev(net, dev) { in inet_forward_change()
1996 inet_netconf_notify_devconf(net, NETCONFA_FORWARDING, in inet_forward_change()
2003 static int devinet_conf_ifindex(struct net *net, struct ipv4_devconf *cnf) in devinet_conf_ifindex() argument
2005 if (cnf == net->ipv4.devconf_dflt) in devinet_conf_ifindex()
2007 else if (cnf == net->ipv4.devconf_all) in devinet_conf_ifindex()
2026 struct net *net = ctl->extra2; in devinet_conf_proc() local
2032 if (cnf == net->ipv4.devconf_dflt) in devinet_conf_proc()
2033 devinet_copy_dflt_conf(net, i); in devinet_conf_proc()
2037 rt_cache_flush(net); in devinet_conf_proc()
2041 ifindex = devinet_conf_ifindex(net, cnf); in devinet_conf_proc()
2042 inet_netconf_notify_devconf(net, NETCONFA_RP_FILTER, in devinet_conf_proc()
2047 ifindex = devinet_conf_ifindex(net, cnf); in devinet_conf_proc()
2048 inet_netconf_notify_devconf(net, NETCONFA_PROXY_NEIGH, in devinet_conf_proc()
2066 struct net *net = ctl->extra2; in devinet_sysctl_forward() local
2068 if (valp != &IPV4_DEVCONF_DFLT(net, FORWARDING)) { in devinet_sysctl_forward()
2075 if (valp == &IPV4_DEVCONF_ALL(net, FORWARDING)) { in devinet_sysctl_forward()
2076 inet_forward_change(net); in devinet_sysctl_forward()
2083 inet_netconf_notify_devconf(net, in devinet_sysctl_forward()
2089 rt_cache_flush(net); in devinet_sysctl_forward()
2091 inet_netconf_notify_devconf(net, NETCONFA_FORWARDING, in devinet_sysctl_forward()
2093 net->ipv4.devconf_dflt); in devinet_sysctl_forward()
2106 struct net *net = ctl->extra2; in ipv4_doint_and_flush() local
2109 rt_cache_flush(net); in ipv4_doint_and_flush()
2182 static int __devinet_sysctl_register(struct net *net, char *dev_name, in __devinet_sysctl_register() argument
2196 t->devinet_vars[i].extra2 = net; in __devinet_sysctl_register()
2201 t->sysctl_header = register_net_sysctl(net, path, t->devinet_vars); in __devinet_sysctl_register()
2264 static __net_init int devinet_init_net(struct net *net) in devinet_init_net() argument
2277 if (!net_eq(net, &init_net)) { in devinet_init_net()
2293 tbl[0].extra2 = net; in devinet_init_net()
2298 err = __devinet_sysctl_register(net, "all", all); in devinet_init_net()
2302 err = __devinet_sysctl_register(net, "default", dflt); in devinet_init_net()
2307 forw_hdr = register_net_sysctl(net, "net/ipv4", tbl); in devinet_init_net()
2310 net->ipv4.forw_hdr = forw_hdr; in devinet_init_net()
2313 net->ipv4.devconf_all = all; in devinet_init_net()
2314 net->ipv4.devconf_dflt = dflt; in devinet_init_net()
2336 static __net_exit void devinet_exit_net(struct net *net) in devinet_exit_net() argument
2341 tbl = net->ipv4.forw_hdr->ctl_table_arg; in devinet_exit_net()
2342 unregister_net_sysctl_table(net->ipv4.forw_hdr); in devinet_exit_net()
2343 __devinet_sysctl_unregister(net->ipv4.devconf_dflt); in devinet_exit_net()
2344 __devinet_sysctl_unregister(net->ipv4.devconf_all); in devinet_exit_net()
2347 kfree(net->ipv4.devconf_dflt); in devinet_exit_net()
2348 kfree(net->ipv4.devconf_all); in devinet_exit_net()