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()
702 struct in_device *in_dev = __in_dev_get_rcu(dev); in arp_process() local
719 if (!in_dev) in arp_process()
788 (!IN_DEV_ROUTE_LOCALNET(in_dev) && ipv4_is_loopback(tip))) in arp_process()
796 if (sip == tip && IN_DEV_ORCONF(in_dev, DROP_GRATUITOUS_ARP)) in arp_process()
831 !arp_ignore(in_dev, sip, tip)) in arp_process()
846 dont_send = arp_ignore(in_dev, sip, tip); in arp_process()
847 if (!dont_send && IN_DEV_ARPFILTER(in_dev)) in arp_process()
860 } else if (IN_DEV_FORWARD(in_dev)) { in arp_process()
862 (arp_fwd_proxy(in_dev, dev, rt) || in arp_process()
863 arp_fwd_pvlan(in_dev, dev, rt, sip, tip) || in arp_process()
872 NEIGH_VAR(in_dev->arp_parms, PROXY_DELAY) == 0) { in arp_process()
879 in_dev->arp_parms, skb); in arp_process()
892 if (n || arp_accept(in_dev, sip)) { in arp_process()
897 if (arp_accept(in_dev, sip)) { in arp_process()
1323 struct in_device *in_dev; in arp_netdev_event() local
1336 in_dev = __in_dev_get_rtnl(dev); in arp_netdev_event()
1337 if (!in_dev) in arp_netdev_event()
1340 evict_nocarrier = IN_DEV_ARP_EVICT_NOCARRIER(in_dev); in arp_netdev_event()