Lines Matching refs:idev

403 	struct inet6_dev *idev = __in6_dev_get(dev);  in ndisc_allow_add()  local
405 if (!idev || idev->cnf.disable_ipv6) { in ndisc_allow_add()
446 struct inet6_dev *idev; in ip6_nd_hdr() local
450 idev = __in6_dev_get(skb->dev); in ip6_nd_hdr()
451 tclass = idev ? READ_ONCE(idev->cnf.ndisc_tclass) : 0; in ip6_nd_hdr()
474 struct inet6_dev *idev; in ndisc_send_skb() local
509 idev = __in6_dev_get(dev); in ndisc_send_skb()
510 IP6_INC_STATS(net, idev, IPSTATS_MIB_OUTREQUESTS); in ndisc_send_skb()
516 ICMP6MSGOUT_INC_STATS(net, idev, type); in ndisc_send_skb()
517 ICMP6_INC_STATS(net, idev, ICMP6_MIB_OUTMSGS); in ndisc_send_skb()
541 inc_opt |= READ_ONCE(ifp->idev->cnf.force_tllao); in ndisc_send_na()
582 struct inet6_dev *idev; in ndisc_send_unsol_na() local
585 idev = in6_dev_get(dev); in ndisc_send_unsol_na()
586 if (!idev) in ndisc_send_unsol_na()
589 read_lock_bh(&idev->lock); in ndisc_send_unsol_na()
590 list_for_each_entry(ifa, &idev->addr_list, if_list) { in ndisc_send_unsol_na()
597 /*router=*/ !!idev->cnf.forwarding, in ndisc_send_unsol_na()
601 read_unlock_bh(&idev->lock); in ndisc_send_unsol_na()
603 in6_dev_put(idev); in ndisc_send_unsol_na()
798 struct inet6_dev *idev = NULL; in ndisc_recv_ns() local
857 ifp->idev->dev->name, &ifp->addr, np); in ndisc_recv_ns()
879 idev = ifp->idev; in ndisc_recv_ns()
895 idev = in6_dev_get(dev); in ndisc_recv_ns()
896 if (!idev) { in ndisc_recv_ns()
902 (READ_ONCE(idev->cnf.forwarding) && in ndisc_recv_ns()
904 READ_ONCE(idev->cnf.proxy_ndp)) && in ndisc_recv_ns()
909 NEIGH_VAR(idev->nd_parms, PROXY_DELAY) != 0) { in ndisc_recv_ns()
919 pneigh_enqueue(&nd_tbl, idev->nd_parms, n); in ndisc_recv_ns()
929 is_router = READ_ONCE(idev->cnf.forwarding); in ndisc_recv_ns()
965 in6_dev_put(idev); in ndisc_recv_ns()
971 struct inet6_dev *idev = __in6_dev_get(dev); in accept_untracked_na() local
973 switch (READ_ONCE(idev->cnf.accept_untracked_na)) { in accept_untracked_na()
998 struct inet6_dev *idev = __in6_dev_get(dev); in ndisc_recv_na() local
1023 if (!msg->icmph.icmp6_solicited && idev && in ndisc_recv_na()
1024 READ_ONCE(idev->cnf.drop_unsolicited_na)) in ndisc_recv_na()
1056 ifp->idev->dev->name); in ndisc_recv_na()
1079 if (!neigh && lladdr && idev && READ_ONCE(idev->cnf.forwarding)) { in ndisc_recv_na()
1132 struct inet6_dev *idev; in ndisc_recv_rs() local
1141 idev = __in6_dev_get(skb->dev); in ndisc_recv_rs()
1142 if (!idev) { in ndisc_recv_rs()
1148 if (!READ_ONCE(idev->cnf.forwarding)) in ndisc_recv_rs()
1789 struct inet6_dev *idev = __in6_dev_get(skb->dev); in ndisc_suppress_frag_ndisc() local
1791 if (!idev) in ndisc_suppress_frag_ndisc()
1794 READ_ONCE(idev->cnf.suppress_frag_ndisc)) { in ndisc_suppress_frag_ndisc()
1857 struct inet6_dev *idev; in ndisc_netdev_event() local
1866 idev = in6_dev_get(dev); in ndisc_netdev_event()
1867 if (!idev) in ndisc_netdev_event()
1869 if (READ_ONCE(idev->cnf.ndisc_notify) || in ndisc_netdev_event()
1872 in6_dev_put(idev); in ndisc_netdev_event()
1875 idev = in6_dev_get(dev); in ndisc_netdev_event()
1876 if (!idev) in ndisc_netdev_event()
1879 evict_nocarrier = READ_ONCE(idev->cnf.ndisc_evict_nocarrier) && in ndisc_netdev_event()
1881 in6_dev_put(idev); in ndisc_netdev_event()
1929 struct inet6_dev *idev; in ndisc_ifinfo_sysctl_change() local
1950 if (write && ret == 0 && dev && (idev = in6_dev_get(dev)) != NULL) { in ndisc_ifinfo_sysctl_change()
1951 if (ctl->data == &NEIGH_VAR(idev->nd_parms, BASE_REACHABLE_TIME)) in ndisc_ifinfo_sysctl_change()
1952 idev->nd_parms->reachable_time = in ndisc_ifinfo_sysctl_change()
1953 neigh_rand_reach_time(NEIGH_VAR(idev->nd_parms, BASE_REACHABLE_TIME)); in ndisc_ifinfo_sysctl_change()
1954 WRITE_ONCE(idev->tstamp, jiffies); in ndisc_ifinfo_sysctl_change()
1955 inet6_ifinfo_notify(RTM_NEWLINK, idev); in ndisc_ifinfo_sysctl_change()
1956 in6_dev_put(idev); in ndisc_ifinfo_sysctl_change()