Lines Matching refs:in_dev
228 struct in_device *in_dev; in arp_constructor() local
237 in_dev = __in_dev_get_rcu(dev); in arp_constructor()
238 if (!in_dev) { in arp_constructor()
245 parms = in_dev->arp_parms; in arp_constructor()
341 struct in_device *in_dev; in arp_solicit() local
345 in_dev = __in_dev_get_rcu(dev); in arp_solicit()
346 if (!in_dev) { in arp_solicit()
350 switch (IN_DEV_ARP_ANNOUNCE(in_dev)) { in arp_solicit()
364 if (inet_addr_onlink(in_dev, target, saddr)) in arp_solicit()
397 static int arp_ignore(struct in_device *in_dev, __be32 sip, __be32 tip) in arp_ignore() argument
399 struct net *net = dev_net(in_dev->dev); in arp_ignore()
402 switch (IN_DEV_ARP_IGNORE(in_dev)) { in arp_ignore()
418 in_dev = NULL; in arp_ignore()
430 return !inet_confirm_addr(net, in_dev, sip, tip, scope); in arp_ignore()
433 static int arp_accept(struct in_device *in_dev, __be32 sip) in arp_accept() argument
435 struct net *net = dev_net(in_dev->dev); in arp_accept()
438 switch (IN_DEV_ARP_ACCEPT(in_dev)) { in arp_accept()
447 return !!inet_confirm_addr(net, in_dev, sip, 0, scope); in arp_accept()
475 static inline int arp_fwd_proxy(struct in_device *in_dev, in arp_fwd_proxy() argument
484 if (!IN_DEV_PROXY_ARP(in_dev)) in arp_fwd_proxy()
486 imi = IN_DEV_MEDIUM_ID(in_dev); in arp_fwd_proxy()
520 static inline int arp_fwd_pvlan(struct in_device *in_dev, in arp_fwd_pvlan() argument
532 if (IN_DEV_PROXY_ARP_PVLAN(in_dev)) in arp_fwd_pvlan()
706 struct in_device *in_dev = __in_dev_get_rcu(dev); in arp_process() local
723 if (!in_dev) in arp_process()
792 (!IN_DEV_ROUTE_LOCALNET(in_dev) && ipv4_is_loopback(tip))) in arp_process()
800 if (sip == tip && IN_DEV_ORCONF(in_dev, DROP_GRATUITOUS_ARP)) in arp_process()
835 !arp_ignore(in_dev, sip, tip)) in arp_process()
850 dont_send = arp_ignore(in_dev, sip, tip); in arp_process()
851 if (!dont_send && IN_DEV_ARPFILTER(in_dev)) in arp_process()
864 } else if (IN_DEV_FORWARD(in_dev)) { in arp_process()
866 (arp_fwd_proxy(in_dev, dev, rt) || in arp_process()
867 arp_fwd_pvlan(in_dev, dev, rt, sip, tip) || in arp_process()
876 NEIGH_VAR(in_dev->arp_parms, PROXY_DELAY) == 0) { in arp_process()
883 in_dev->arp_parms, skb); in arp_process()
896 if (n || arp_accept(in_dev, sip)) { in arp_process()
901 if (arp_accept(in_dev, sip)) { in arp_process()
1329 struct in_device *in_dev; in arp_netdev_event() local
1342 in_dev = __in_dev_get_rtnl(dev); in arp_netdev_event()
1343 if (!in_dev) in arp_netdev_event()
1346 evict_nocarrier = IN_DEV_ARP_EVICT_NOCARRIER(in_dev); in arp_netdev_event()