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()
473 static inline int arp_fwd_proxy(struct in_device *in_dev, in arp_fwd_proxy() argument
482 if (!IN_DEV_PROXY_ARP(in_dev)) in arp_fwd_proxy()
484 imi = IN_DEV_MEDIUM_ID(in_dev); in arp_fwd_proxy()
518 static inline int arp_fwd_pvlan(struct in_device *in_dev, in arp_fwd_pvlan() argument
530 if (IN_DEV_PROXY_ARP_PVLAN(in_dev)) in arp_fwd_pvlan()
701 struct in_device *in_dev = __in_dev_get_rcu(dev); in arp_process() local
718 if (!in_dev) in arp_process()
787 (!IN_DEV_ROUTE_LOCALNET(in_dev) && ipv4_is_loopback(tip))) in arp_process()
795 if (sip == tip && IN_DEV_ORCONF(in_dev, DROP_GRATUITOUS_ARP)) in arp_process()
830 !arp_ignore(in_dev, sip, tip)) in arp_process()
845 dont_send = arp_ignore(in_dev, sip, tip); in arp_process()
846 if (!dont_send && IN_DEV_ARPFILTER(in_dev)) in arp_process()
859 } else if (IN_DEV_FORWARD(in_dev)) { in arp_process()
861 (arp_fwd_proxy(in_dev, dev, rt) || in arp_process()
862 arp_fwd_pvlan(in_dev, dev, rt, sip, tip) || in arp_process()
871 NEIGH_VAR(in_dev->arp_parms, PROXY_DELAY) == 0) { in arp_process()
878 in_dev->arp_parms, skb); in arp_process()
891 if (n || arp_accept(in_dev, sip)) { in arp_process()
896 if (arp_accept(in_dev, sip)) { in arp_process()
1276 struct in_device *in_dev; in arp_netdev_event() local
1289 in_dev = __in_dev_get_rtnl(dev); in arp_netdev_event()
1290 if (!in_dev) in arp_netdev_event()
1293 evict_nocarrier = IN_DEV_ARP_EVICT_NOCARRIER(in_dev); in arp_netdev_event()