Lines Matching refs:in_dev

227 	struct in_device *in_dev;  in arp_constructor()  local
236 in_dev = __in_dev_get_rcu(dev); in arp_constructor()
237 if (!in_dev) { in arp_constructor()
244 parms = in_dev->arp_parms; in arp_constructor()
340 struct in_device *in_dev; in arp_solicit() local
344 in_dev = __in_dev_get_rcu(dev); in arp_solicit()
345 if (!in_dev) { in arp_solicit()
349 switch (IN_DEV_ARP_ANNOUNCE(in_dev)) { in arp_solicit()
363 if (inet_addr_onlink(in_dev, target, saddr)) in arp_solicit()
396 static int arp_ignore(struct in_device *in_dev, __be32 sip, __be32 tip) in arp_ignore() argument
398 struct net *net = dev_net(in_dev->dev); in arp_ignore()
401 switch (IN_DEV_ARP_IGNORE(in_dev)) { in arp_ignore()
417 in_dev = NULL; in arp_ignore()
429 return !inet_confirm_addr(net, in_dev, sip, tip, scope); in arp_ignore()
432 static int arp_accept(struct in_device *in_dev, __be32 sip) in arp_accept() argument
434 struct net *net = dev_net(in_dev->dev); in arp_accept()
437 switch (IN_DEV_ARP_ACCEPT(in_dev)) { in arp_accept()
446 return !!inet_confirm_addr(net, in_dev, sip, 0, scope); in arp_accept()
474 static inline int arp_fwd_proxy(struct in_device *in_dev, in arp_fwd_proxy() argument
483 if (!IN_DEV_PROXY_ARP(in_dev)) in arp_fwd_proxy()
485 imi = IN_DEV_MEDIUM_ID(in_dev); in arp_fwd_proxy()
519 static inline int arp_fwd_pvlan(struct in_device *in_dev, in arp_fwd_pvlan() argument
531 if (IN_DEV_PROXY_ARP_PVLAN(in_dev)) in arp_fwd_pvlan()
704 struct in_device *in_dev = __in_dev_get_rcu(dev); in arp_process() local
721 if (!in_dev) in arp_process()
790 (!IN_DEV_ROUTE_LOCALNET(in_dev) && ipv4_is_loopback(tip))) in arp_process()
798 if (sip == tip && IN_DEV_ORCONF(in_dev, DROP_GRATUITOUS_ARP)) in arp_process()
833 !arp_ignore(in_dev, sip, tip)) in arp_process()
848 dont_send = arp_ignore(in_dev, sip, tip); in arp_process()
849 if (!dont_send && IN_DEV_ARPFILTER(in_dev)) in arp_process()
862 } else if (IN_DEV_FORWARD(in_dev)) { in arp_process()
864 (arp_fwd_proxy(in_dev, dev, rt) || in arp_process()
865 arp_fwd_pvlan(in_dev, dev, rt, sip, tip) || in arp_process()
874 NEIGH_VAR(in_dev->arp_parms, PROXY_DELAY) == 0) { in arp_process()
881 in_dev->arp_parms, skb); in arp_process()
894 if (n || arp_accept(in_dev, sip)) { in arp_process()
899 if (arp_accept(in_dev, sip)) { in arp_process()
1327 struct in_device *in_dev; in arp_netdev_event() local
1340 in_dev = __in_dev_get_rtnl(dev); in arp_netdev_event()
1341 if (!in_dev) in arp_netdev_event()
1344 evict_nocarrier = IN_DEV_ARP_EVICT_NOCARRIER(in_dev); in arp_netdev_event()