/net/ipv6/ |
D | mcast.c | 82 static void mld_ifc_event(struct inet6_dev *idev); 83 static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *pmc); 84 static void mld_del_delrec(struct inet6_dev *idev, const struct in6_addr *addr); 85 static void mld_clear_delrec(struct inet6_dev *idev); 86 static bool mld_in_v1_mode(const struct inet6_dev *idev); 90 static int ip6_mc_del_src(struct inet6_dev *idev, const struct in6_addr *pmca, 93 static int ip6_mc_add_src(struct inet6_dev *idev, const struct in6_addr *pmca, 97 struct inet6_dev *idev); 123 static int unsolicited_report_interval(struct inet6_dev *idev) in unsolicited_report_interval() argument 127 if (mld_in_v1_mode(idev)) in unsolicited_report_interval() [all …]
|
D | addrconf.c | 132 static int addrconf_sysctl_register(struct inet6_dev *idev); 133 static void addrconf_sysctl_unregister(struct inet6_dev *idev); 135 static inline int addrconf_sysctl_register(struct inet6_dev *idev) in addrconf_sysctl_register() argument 140 static inline void addrconf_sysctl_unregister(struct inet6_dev *idev) in addrconf_sysctl_unregister() argument 145 static void __ipv6_regen_rndid(struct inet6_dev *idev); 146 static void __ipv6_try_regen_rndid(struct inet6_dev *idev, struct in6_addr *tmpaddr); 150 static int ipv6_count_addresses(struct inet6_dev *idev); 180 static void addrconf_dad_run(struct inet6_dev *idev); 185 static void inet6_prefix_notify(int event, struct inet6_dev *idev, 278 static void addrconf_del_rs_timer(struct inet6_dev *idev) in addrconf_del_rs_timer() argument [all …]
|
D | anycast.c | 57 struct inet6_dev *idev; in ipv6_sock_ac_join() local 100 idev = __in6_dev_get(dev); in ipv6_sock_ac_join() 101 if (!idev) { in ipv6_sock_ac_join() 109 ishost = !idev->cnf.forwarding; in ipv6_sock_ac_join() 125 err = __ipv6_dev_ac_inc(idev, addr); in ipv6_sock_ac_join() 223 struct inet6_dev *idev = rt->rt6i_idev; in aca_alloc() local 231 in6_dev_hold(idev); in aca_alloc() 232 aca->aca_idev = idev; in aca_alloc() 245 int __ipv6_dev_ac_inc(struct inet6_dev *idev, const struct in6_addr *addr) in __ipv6_dev_ac_inc() argument 253 write_lock_bh(&idev->lock); in __ipv6_dev_ac_inc() [all …]
|
D | addrconf_core.c | 129 static void snmp6_free_dev(struct inet6_dev *idev) in snmp6_free_dev() argument 131 kfree(idev->stats.icmpv6msgdev); in snmp6_free_dev() 132 kfree(idev->stats.icmpv6dev); in snmp6_free_dev() 133 free_percpu(idev->stats.ipv6); in snmp6_free_dev() 138 void in6_dev_finish_destroy(struct inet6_dev *idev) in in6_dev_finish_destroy() argument 140 struct net_device *dev = idev->dev; in in6_dev_finish_destroy() 142 WARN_ON(!list_empty(&idev->addr_list)); in in6_dev_finish_destroy() 143 WARN_ON(idev->mc_list != NULL); in in6_dev_finish_destroy() 144 WARN_ON(timer_pending(&idev->rs_timer)); in in6_dev_finish_destroy() 150 if (!idev->dead) { in in6_dev_finish_destroy() [all …]
|
D | ip6_input.c | 69 struct inet6_dev *idev; in ipv6_rcv() local 79 idev = __in6_dev_get(skb->dev); in ipv6_rcv() 81 IP6_UPD_PO_STATS_BH(net, idev, IPSTATS_MIB_IN, skb->len); in ipv6_rcv() 84 !idev || unlikely(idev->cnf.disable_ipv6)) { in ipv6_rcv() 85 IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INDISCARDS); in ipv6_rcv() 112 IP6_ADD_STATS_BH(dev_net(dev), idev, in ipv6_rcv() 163 idev, IPSTATS_MIB_INTRUNCATEDPKTS); in ipv6_rcv() 167 IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INHDRERRORS); in ipv6_rcv() 175 IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INHDRERRORS); in ipv6_rcv() 189 IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_INHDRERRORS); in ipv6_rcv() [all …]
|
D | proc.c | 245 struct inet6_dev *idev = (struct inet6_dev *)seq->private; in snmp6_dev_seq_show() local 247 seq_printf(seq, "%-32s\t%u\n", "ifIndex", idev->dev->ifindex); in snmp6_dev_seq_show() 248 snmp6_seq_show_item64(seq, idev->stats.ipv6, in snmp6_dev_seq_show() 250 snmp6_seq_show_item(seq, NULL, idev->stats.icmpv6dev->mibs, in snmp6_dev_seq_show() 252 snmp6_seq_show_icmpv6msg(seq, idev->stats.icmpv6msgdev->mibs); in snmp6_dev_seq_show() 269 int snmp6_register_dev(struct inet6_dev *idev) in snmp6_register_dev() argument 274 if (!idev || !idev->dev) in snmp6_register_dev() 277 net = dev_net(idev->dev); in snmp6_register_dev() 281 p = proc_create_data(idev->dev->name, S_IRUGO, in snmp6_register_dev() 283 &snmp6_dev_seq_fops, idev); in snmp6_register_dev() [all …]
|
D | ndisc.c | 426 struct inet6_dev *idev; in ndisc_send_skb() local 454 idev = __in6_dev_get(dst->dev); in ndisc_send_skb() 455 IP6_UPD_PO_STATS(net, idev, IPSTATS_MIB_OUT, skb->len); in ndisc_send_skb() 460 ICMP6MSGOUT_INC_STATS(net, idev, type); in ndisc_send_skb() 461 ICMP6_INC_STATS(net, idev, ICMP6_MIB_OUTMSGS); in ndisc_send_skb() 485 inc_opt |= ifp->idev->cnf.force_tllao; in ndisc_send_na() 525 struct inet6_dev *idev; in ndisc_send_unsol_na() local 528 idev = in6_dev_get(dev); in ndisc_send_unsol_na() 529 if (!idev) in ndisc_send_unsol_na() 532 read_lock_bh(&idev->lock); in ndisc_send_unsol_na() [all …]
|
D | output_core.c | 96 struct inet6_dev *idev; in ip6_dst_hoplimit() local 99 idev = __in6_dev_get(dev); in ip6_dst_hoplimit() 100 if (idev) in ip6_dst_hoplimit() 101 hoplimit = idev->cnf.hop_limit; in ip6_dst_hoplimit()
|
D | route.c | 324 struct inet6_dev *idev = rt->rt6i_idev; in ip6_dst_destroy() local 330 if (idev) { in ip6_dst_destroy() 332 in6_dev_put(idev); in ip6_dst_destroy() 348 struct inet6_dev *idev = rt->rt6i_idev; in ip6_dst_ifdown() local 353 if (idev && idev->dev == dev) { in ip6_dst_ifdown() 358 in6_dev_put(idev); in ip6_dst_ifdown() 1331 struct inet6_dev *idev; in ip6_mtu() local 1340 idev = __in6_dev_get(dst->dev); in ip6_mtu() 1341 if (idev) in ip6_mtu() 1342 mtu = idev->cnf.mtu6; in ip6_mtu() [all …]
|
D | icmp.c | 394 struct inet6_dev *idev = NULL; in icmp6_send() local 519 idev = __in6_dev_get(skb->dev); in icmp6_send() 527 ICMP6_INC_STATS(net, idev, ICMP6_MIB_OUTERRORS); in icmp6_send() 552 struct inet6_dev *idev; in icmpv6_echo_reply() local 606 idev = __in6_dev_get(skb->dev); in icmpv6_echo_reply() 619 ICMP6_INC_STATS_BH(net, idev, ICMP6_MIB_OUTERRORS); in icmpv6_echo_reply() 681 struct inet6_dev *idev = __in6_dev_get(dev); in icmpv6_rcv() local 706 ICMP6_INC_STATS_BH(dev_net(dev), idev, ICMP6_MIB_INMSGS); in icmpv6_rcv() 725 ICMP6MSGIN_INC_STATS_BH(dev_net(dev), idev, type); in icmpv6_rcv() 801 ICMP6_INC_STATS_BH(dev_net(dev), idev, ICMP6_MIB_CSUMERRORS); in icmpv6_rcv() [all …]
|
D | ip6_output.c | 71 struct inet6_dev *idev = ip6_dst_idev(skb_dst(skb)); in ip6_finish_output2() local 89 IP6_INC_STATS(dev_net(dev), idev, in ip6_finish_output2() 96 IP6_UPD_PO_STATS(dev_net(dev), idev, IPSTATS_MIB_OUTMCAST, in ip6_finish_output2() 138 struct inet6_dev *idev = ip6_dst_idev(skb_dst(skb)); in ip6_output() local 139 if (unlikely(idev->cnf.disable_ipv6)) { in ip6_output() 140 IP6_INC_STATS(dev_net(dev), idev, in ip6_output() 327 struct inet6_dev *idev; in ip6_dst_mtu_forward() local 337 idev = __in6_dev_get(dst->dev); in ip6_dst_mtu_forward() 338 if (idev) in ip6_dst_mtu_forward() 339 mtu = idev->cnf.mtu6; in ip6_dst_mtu_forward() [all …]
|
D | exthdrs.c | 298 struct inet6_dev *idev; in ipv6_rthdr_rcv() local 305 idev = __in6_dev_get(skb->dev); in ipv6_rthdr_rcv() 306 if (idev && accept_source_route > idev->cnf.accept_source_route) in ipv6_rthdr_rcv() 307 accept_source_route = idev->cnf.accept_source_route; in ipv6_rthdr_rcv()
|
/net/ipv4/ |
D | devinet.c | 183 static int devinet_sysctl_register(struct in_device *idev); 184 static void devinet_sysctl_unregister(struct in_device *idev); 186 static int devinet_sysctl_register(struct in_device *idev) in devinet_sysctl_register() argument 190 static void devinet_sysctl_unregister(struct in_device *idev) in devinet_sysctl_unregister() argument 215 void in_dev_finish_destroy(struct in_device *idev) in in_dev_finish_destroy() argument 217 struct net_device *dev = idev->dev; in in_dev_finish_destroy() 219 WARN_ON(idev->ifa_list); in in_dev_finish_destroy() 220 WARN_ON(idev->mc_list); in in_dev_finish_destroy() 221 kfree(rcu_dereference_protected(idev->mc_hash, 1)); in in_dev_finish_destroy() 223 pr_debug("%s: %p=%s\n", __func__, idev, dev ? dev->name : "NIL"); in in_dev_finish_destroy() [all …]
|
D | fib_frontend.c | 244 int rpf, struct in_device *idev, u32 *itag) in __fib_validate_source() argument 259 no_addr = idev->ifa_list == NULL; in __fib_validate_source() 261 fl4.flowi4_mark = IN_DEV_SRC_VMARK(idev) ? skb->mark : 0; in __fib_validate_source() 267 (res.type != RTN_LOCAL || !IN_DEV_ACCEPT_LOCAL(idev))) in __fib_validate_source() 270 (dev->ifindex != oif || !IN_DEV_TX_REDIRECTS(idev))) in __fib_validate_source() 320 struct in_device *idev, u32 *itag) in fib_validate_source() argument 322 int r = secpath_exists(skb) ? 0 : IN_DEV_RPFILTER(idev); in fib_validate_source() 325 IN_DEV_ACCEPT_LOCAL(idev) && in fib_validate_source() 326 (dev->ifindex != oif || !IN_DEV_TX_REDIRECTS(idev))) { in fib_validate_source() 330 return __fib_validate_source(skb, src, dst, tos, oif, dev, r, idev, itag); in fib_validate_source()
|
D | igmp.c | 1534 struct in_device *idev = NULL; in ip_mc_find_dev() local 1537 idev = inetdev_by_index(net, imr->imr_ifindex); in ip_mc_find_dev() 1538 return idev; in ip_mc_find_dev() 1557 idev = __in_dev_get_rtnl(dev); in ip_mc_find_dev() 1559 return idev; in ip_mc_find_dev() 2610 struct in_device *idev; member 2623 state->idev = NULL; in igmp_mcf_get_first() 2626 struct in_device *idev; in igmp_mcf_get_first() local 2627 idev = __in_dev_get_rcu(state->dev); in igmp_mcf_get_first() 2628 if (unlikely(idev == NULL)) in igmp_mcf_get_first() [all …]
|
/net/netfilter/ |
D | xt_REDIRECT.c | 45 struct inet6_dev *idev; in redirect_tg6() local 50 idev = __in6_dev_get(skb->dev); in redirect_tg6() 51 if (idev != NULL) { in redirect_tg6() 52 list_for_each_entry(ifa, &idev->addr_list, if_list) { in redirect_tg6()
|
D | xt_qtaguid.c | 1424 BUG_ON(!ifa || !ifa->idev); in iface_inet6addr_event_handler() 1425 dev = (struct net_device *)ifa->idev->dev; in iface_inet6addr_event_handler() 1431 BUG_ON(!ifa || !ifa->idev); in iface_inet6addr_event_handler() 1432 dev = (struct net_device *)ifa->idev->dev; in iface_inet6addr_event_handler()
|
/net/ipv4/netfilter/ |
D | nf_nat_masquerade_ipv4.c | 111 struct in_device *idev = ((struct in_ifaddr *)ptr)->ifa_dev; in masq_inet_event() local 119 if (idev->dead) in masq_inet_event() 122 netdev_notifier_info_init(&info, idev->dev); in masq_inet_event()
|
/net/core/ |
D | netpoll.c | 729 struct inet6_dev *idev; in netpoll_setup() local 732 idev = __in6_dev_get(ndev); in netpoll_setup() 733 if (idev) { in netpoll_setup() 736 read_lock_bh(&idev->lock); in netpoll_setup() 737 list_for_each_entry(ifp, &idev->addr_list, if_list) { in netpoll_setup() 744 read_unlock_bh(&idev->lock); in netpoll_setup()
|
D | pktgen.c | 2101 struct inet6_dev *idev; in pktgen_setup_inject() local 2125 idev = __in6_dev_get(pkt_dev->odev); in pktgen_setup_inject() 2126 if (idev) { in pktgen_setup_inject() 2129 read_lock_bh(&idev->lock); in pktgen_setup_inject() 2130 list_for_each_entry(ifp, &idev->addr_list, if_list) { in pktgen_setup_inject() 2138 read_unlock_bh(&idev->lock); in pktgen_setup_inject()
|
/net/mac80211/ |
D | main.c | 303 struct in_device *idev; in ieee80211_ifa_changed() local 323 idev = __in_dev_get_rtnl(sdata->dev); in ieee80211_ifa_changed() 324 if (!idev) in ieee80211_ifa_changed() 331 ifa = idev->ifa_list; in ieee80211_ifa_changed() 357 struct inet6_dev *idev = ifa->idev; in ieee80211_ifa6_changed() local 358 struct net_device *ndev = ifa->idev->dev; in ieee80211_ifa6_changed() 377 drv_ipv6_addr_change(local, sdata, idev); in ieee80211_ifa6_changed()
|
D | driver-ops.h | 1177 struct inet6_dev *idev) in drv_ipv6_addr_change() argument 1181 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); in drv_ipv6_addr_change()
|
/net/sctp/ |
D | ipv6.c | 95 struct net *net = dev_net(ifa->idev->dev); in sctp_inet6addr_event() 105 addr->a.v6.sin6_scope_id = ifa->idev->dev->ifindex; in sctp_inet6addr_event() 144 struct inet6_dev *idev; in sctp_v6_err() local 153 idev = in6_dev_get(skb->dev); in sctp_v6_err() 165 ICMP6_INC_STATS_BH(net, idev, ICMP6_MIB_INERRORS); in sctp_v6_err() 203 if (likely(idev != NULL)) in sctp_v6_err() 204 in6_dev_put(idev); in sctp_v6_err()
|
/net/ipv6/netfilter/ |
D | nf_nat_masquerade_ipv6.c | 87 netdev_notifier_info_init(&info, ifa->idev->dev); in masq_inet_event()
|