nhc 172 include/net/ip_fib.h struct fib_nh_common *nhc; nhc 199 include/net/ip_fib.h __be32 fib_info_update_nhc_saddr(struct net *net, struct fib_nh_common *nhc, nhc 203 include/net/ip_fib.h #define FIB_RES_NHC(res) ((res).nhc) nhc 425 include/net/ip_fib.h static inline bool nhc_l3mdev_matches_dev(const struct fib_nh_common *nhc, nhc 428 include/net/ip_fib.h if (nhc->nhc_dev == dev || nhc 429 include/net/ip_fib.h l3mdev_master_ifindex_rcu(nhc->nhc_dev) == dev->ifindex) nhc 441 include/net/ip_fib.h void fib_nhc_update_mtu(struct fib_nh_common *nhc, u32 new, u32 orig); nhc 457 include/net/ip_fib.h int fib_nh_common_init(struct fib_nh_common *nhc, struct nlattr *fc_encap, nhc 460 include/net/ip_fib.h void fib_nh_common_release(struct fib_nh_common *nhc); nhc 469 include/net/ip_fib.h struct fib_nh_common *nhc = res->nhc; nhc 473 include/net/ip_fib.h if (nhc->nhc_family == AF_INET) { nhc 476 include/net/ip_fib.h nh = container_of(nhc, struct fib_nh, nh_common); nhc 173 include/net/nexthop.h struct fib_nh_common *nhc = &nhi->fib_nhc; nhc 176 include/net/nexthop.h if (fib_add_nexthop(skb, nhc, weight, rt_family) < 0) nhc 209 include/net/nexthop.h res->nhc = &nhi->fib_nhc; nhc 16 include/trace/events/fib.h const struct fib_nh_common *nhc, int err), nhc 18 include/trace/events/fib.h TP_ARGS(tb_id, flp, nhc, err), nhc 68 include/trace/events/fib.h dev = nhc ? nhc->nhc_dev : NULL; nhc 71 include/trace/events/fib.h if (nhc) { nhc 72 include/trace/events/fib.h if (nhc->nhc_gw_family == AF_INET) { nhc 74 include/trace/events/fib.h *p32 = nhc->nhc_gw.ipv4; nhc 78 include/trace/events/fib.h } else if (nhc->nhc_gw_family == AF_INET6) { nhc 83 include/trace/events/fib.h *in6 = nhc->nhc_gw.ipv6; nhc 19 net/6lowpan/nhc.c static int lowpan_nhc_insert(struct lowpan_nhc *nhc) nhc 29 net/6lowpan/nhc.c len_dif = nhc->idlen - this->idlen; nhc 31 net/6lowpan/nhc.c if (nhc->idlen < this->idlen) nhc 32 net/6lowpan/nhc.c len = nhc->idlen; nhc 36 net/6lowpan/nhc.c result = memcmp(nhc->id, this->id, len); nhc 50 net/6lowpan/nhc.c rb_link_node(&nhc->node, parent, new); nhc 51 net/6lowpan/nhc.c rb_insert_color(&nhc->node, &rb_root); nhc 56 net/6lowpan/nhc.c static void lowpan_nhc_remove(struct lowpan_nhc *nhc) nhc 58 net/6lowpan/nhc.c rb_erase(&nhc->node, &rb_root); nhc 67 net/6lowpan/nhc.c struct lowpan_nhc *nhc = rb_entry(node, struct lowpan_nhc, nhc 72 net/6lowpan/nhc.c if (nhcid_skb_ptr + nhc->idlen > skb->data + skb->len) nhc 76 net/6lowpan/nhc.c memcpy(nhcid_skb_ptr_masked, nhcid_skb_ptr, nhc->idlen); nhc 77 net/6lowpan/nhc.c for (i = 0; i < nhc->idlen; i++) nhc 78 net/6lowpan/nhc.c nhcid_skb_ptr_masked[i] &= nhc->idmask[i]; nhc 80 net/6lowpan/nhc.c result = memcmp(nhcid_skb_ptr_masked, nhc->id, nhc->idlen); nhc 86 net/6lowpan/nhc.c return nhc; nhc 95 net/6lowpan/nhc.c struct lowpan_nhc *nhc; nhc 100 net/6lowpan/nhc.c nhc = lowpan_nexthdr_nhcs[hdr->nexthdr]; nhc 101 net/6lowpan/nhc.c if (!(nhc && nhc->compress)) nhc 113 net/6lowpan/nhc.c struct lowpan_nhc *nhc; nhc 117 net/6lowpan/nhc.c nhc = lowpan_nexthdr_nhcs[hdr->nexthdr]; nhc 128 net/6lowpan/nhc.c if (unlikely(!nhc || !nhc->compress)) { nhc 139 net/6lowpan/nhc.c ret = nhc->compress(skb, hc_ptr); nhc 144 net/6lowpan/nhc.c skb_pull(skb, nhc->nexthdrlen); nhc 156 net/6lowpan/nhc.c struct lowpan_nhc *nhc; nhc 161 net/6lowpan/nhc.c nhc = lowpan_nhc_by_nhcid(skb); nhc 162 net/6lowpan/nhc.c if (nhc) { nhc 163 net/6lowpan/nhc.c if (nhc->uncompress) { nhc 164 net/6lowpan/nhc.c ret = nhc->uncompress(skb, sizeof(struct ipv6hdr) + nhc 165 net/6lowpan/nhc.c nhc->nexthdrlen); nhc 173 net/6lowpan/nhc.c nhc->name); nhc 182 net/6lowpan/nhc.c hdr->nexthdr = nhc->nexthdr; nhc 185 net/6lowpan/nhc.c skb_transport_header(skb), nhc->nexthdrlen); nhc 192 net/6lowpan/nhc.c int lowpan_nhc_add(struct lowpan_nhc *nhc) nhc 196 net/6lowpan/nhc.c if (!nhc->idlen || !nhc->idsetup) nhc 199 net/6lowpan/nhc.c WARN_ONCE(nhc->idlen > LOWPAN_NHC_MAX_ID_LEN, nhc 201 net/6lowpan/nhc.c nhc->idlen); nhc 203 net/6lowpan/nhc.c nhc->idsetup(nhc); nhc 207 net/6lowpan/nhc.c if (lowpan_nexthdr_nhcs[nhc->nexthdr]) { nhc 212 net/6lowpan/nhc.c ret = lowpan_nhc_insert(nhc); nhc 216 net/6lowpan/nhc.c lowpan_nexthdr_nhcs[nhc->nexthdr] = nhc; nhc 223 net/6lowpan/nhc.c void lowpan_nhc_del(struct lowpan_nhc *nhc) nhc 227 net/6lowpan/nhc.c lowpan_nhc_remove(nhc); nhc 228 net/6lowpan/nhc.c lowpan_nexthdr_nhcs[nhc->nexthdr] = NULL; nhc 76 net/6lowpan/nhc.h void (*idsetup)(struct lowpan_nhc *nhc); nhc 129 net/6lowpan/nhc.h int lowpan_nhc_add(struct lowpan_nhc *nhc); nhc 136 net/6lowpan/nhc.h void lowpan_nhc_del(struct lowpan_nhc *nhc); nhc 13 net/6lowpan/nhc_dest.c static void dest_nhid_setup(struct lowpan_nhc *nhc) nhc 15 net/6lowpan/nhc_dest.c nhc->id[0] = LOWPAN_NHC_DEST_ID_0; nhc 16 net/6lowpan/nhc_dest.c nhc->idmask[0] = LOWPAN_NHC_DEST_MASK_0; nhc 12 net/6lowpan/nhc_fragment.c static void fragment_nhid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_fragment.c nhc->id[0] = LOWPAN_NHC_FRAGMENT_ID_0; nhc 15 net/6lowpan/nhc_fragment.c nhc->idmask[0] = LOWPAN_NHC_FRAGMENT_MASK_0; nhc 12 net/6lowpan/nhc_ghc_ext_dest.c static void dest_ghid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ghc_ext_dest.c nhc->id[0] = LOWPAN_GHC_EXT_DEST_ID_0; nhc 15 net/6lowpan/nhc_ghc_ext_dest.c nhc->idmask[0] = LOWPAN_GHC_EXT_DEST_MASK_0; nhc 12 net/6lowpan/nhc_ghc_ext_frag.c static void frag_ghid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ghc_ext_frag.c nhc->id[0] = LOWPAN_GHC_EXT_FRAG_ID_0; nhc 15 net/6lowpan/nhc_ghc_ext_frag.c nhc->idmask[0] = LOWPAN_GHC_EXT_FRAG_MASK_0; nhc 12 net/6lowpan/nhc_ghc_ext_hop.c static void hop_ghid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ghc_ext_hop.c nhc->id[0] = LOWPAN_GHC_EXT_HOP_ID_0; nhc 15 net/6lowpan/nhc_ghc_ext_hop.c nhc->idmask[0] = LOWPAN_GHC_EXT_HOP_MASK_0; nhc 12 net/6lowpan/nhc_ghc_ext_route.c static void route_ghid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ghc_ext_route.c nhc->id[0] = LOWPAN_GHC_EXT_ROUTE_ID_0; nhc 15 net/6lowpan/nhc_ghc_ext_route.c nhc->idmask[0] = LOWPAN_GHC_EXT_ROUTE_MASK_0; nhc 12 net/6lowpan/nhc_ghc_icmpv6.c static void icmpv6_ghid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ghc_icmpv6.c nhc->id[0] = LOWPAN_GHC_ICMPV6_ID_0; nhc 15 net/6lowpan/nhc_ghc_icmpv6.c nhc->idmask[0] = LOWPAN_GHC_ICMPV6_MASK_0; nhc 12 net/6lowpan/nhc_ghc_udp.c static void udp_ghid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ghc_udp.c nhc->id[0] = LOWPAN_GHC_UDP_ID_0; nhc 15 net/6lowpan/nhc_ghc_udp.c nhc->idmask[0] = LOWPAN_GHC_UDP_MASK_0; nhc 12 net/6lowpan/nhc_hop.c static void hop_nhid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_hop.c nhc->id[0] = LOWPAN_NHC_HOP_ID_0; nhc 15 net/6lowpan/nhc_hop.c nhc->idmask[0] = LOWPAN_NHC_HOP_MASK_0; nhc 12 net/6lowpan/nhc_ipv6.c static void ipv6_nhid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_ipv6.c nhc->id[0] = LOWPAN_NHC_IPV6_ID_0; nhc 15 net/6lowpan/nhc_ipv6.c nhc->idmask[0] = LOWPAN_NHC_IPV6_MASK_0; nhc 12 net/6lowpan/nhc_mobility.c static void mobility_nhid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_mobility.c nhc->id[0] = LOWPAN_NHC_MOBILITY_ID_0; nhc 15 net/6lowpan/nhc_mobility.c nhc->idmask[0] = LOWPAN_NHC_MOBILITY_MASK_0; nhc 12 net/6lowpan/nhc_routing.c static void routing_nhid_setup(struct lowpan_nhc *nhc) nhc 14 net/6lowpan/nhc_routing.c nhc->id[0] = LOWPAN_NHC_ROUTING_ID_0; nhc 15 net/6lowpan/nhc_routing.c nhc->idmask[0] = LOWPAN_NHC_ROUTING_MASK_0; nhc 172 net/6lowpan/nhc_udp.c static void udp_nhid_setup(struct lowpan_nhc *nhc) nhc 174 net/6lowpan/nhc_udp.c nhc->id[0] = LOWPAN_NHC_UDP_ID; nhc 175 net/6lowpan/nhc_udp.c nhc->idmask[0] = LOWPAN_NHC_UDP_MASK; nhc 4617 net/core/filter.c struct fib_nh_common *nhc; nhc 4694 net/core/filter.c nhc = res.nhc; nhc 4697 net/core/filter.c if (nhc->nhc_lwtstate) nhc 4700 net/core/filter.c dev = nhc->nhc_dev; nhc 4707 net/core/filter.c if (likely(nhc->nhc_gw_family != AF_INET6)) { nhc 4708 net/core/filter.c if (nhc->nhc_gw_family) nhc 4709 net/core/filter.c params->ipv4_dst = nhc->nhc_gw.ipv4; nhc 4717 net/core/filter.c *dst = nhc->nhc_gw.ipv6; nhc 235 net/ipv4/fib_frontend.c struct fib_nh_common *nhc = fib_info_nhc(res.fi, 0); nhc 237 net/ipv4/fib_frontend.c if (!dev || dev == nhc->nhc_dev) nhc 328 net/ipv4/fib_frontend.c const struct fib_nh_common *nhc = fib_info_nhc(fi, ret); nhc 330 net/ipv4/fib_frontend.c if (nhc_l3mdev_matches_dev(nhc, dev)) { nhc 49 net/ipv4/fib_lookup.h res->nhc = fib_info_nhc(fi, 0); nhc 146 net/ipv4/fib_rules.c struct fib_nh_common *nhc = fib_info_nhc(result->fi, 0); nhc 148 net/ipv4/fib_rules.c dev = nhc->nhc_dev; nhc 162 net/ipv4/fib_semantics.c static void free_nh_exceptions(struct fib_nh_common *nhc) nhc 167 net/ipv4/fib_semantics.c hash = rcu_dereference_protected(nhc->nhc_exceptions, 1); nhc 209 net/ipv4/fib_semantics.c void fib_nh_common_release(struct fib_nh_common *nhc) nhc 211 net/ipv4/fib_semantics.c if (nhc->nhc_dev) nhc 212 net/ipv4/fib_semantics.c dev_put(nhc->nhc_dev); nhc 214 net/ipv4/fib_semantics.c lwtstate_put(nhc->nhc_lwtstate); nhc 215 net/ipv4/fib_semantics.c rt_fibinfo_free_cpus(nhc->nhc_pcpu_rth_output); nhc 216 net/ipv4/fib_semantics.c rt_fibinfo_free(&nhc->nhc_rth_input); nhc 217 net/ipv4/fib_semantics.c free_nh_exceptions(nhc); nhc 484 net/ipv4/fib_semantics.c struct fib_nh_common *nhc = fib_info_nhc(fi, i); nhc 486 net/ipv4/fib_semantics.c if (nhc->nhc_lwtstate) { nhc 489 net/ipv4/fib_semantics.c nhc->nhc_lwtstate); nhc 536 net/ipv4/fib_semantics.c const struct fib_nh_common *nhc = fib_info_nhc(fi, 0); nhc 540 net/ipv4/fib_semantics.c if (likely(nhc->nhc_gw_family == AF_INET)) nhc 541 net/ipv4/fib_semantics.c n = neigh_lookup(&arp_tbl, &nhc->nhc_gw.ipv4, nhc->nhc_dev); nhc 542 net/ipv4/fib_semantics.c else if (nhc->nhc_gw_family == AF_INET6) nhc 543 net/ipv4/fib_semantics.c n = neigh_lookup(ipv6_stub->nd_tbl, &nhc->nhc_gw.ipv6, nhc 544 net/ipv4/fib_semantics.c nhc->nhc_dev); nhc 566 net/ipv4/fib_semantics.c int fib_nh_common_init(struct fib_nh_common *nhc, struct nlattr *encap, nhc 572 net/ipv4/fib_semantics.c nhc->nhc_pcpu_rth_output = alloc_percpu_gfp(struct rtable __rcu *, nhc 574 net/ipv4/fib_semantics.c if (!nhc->nhc_pcpu_rth_output) nhc 585 net/ipv4/fib_semantics.c err = lwtunnel_build_state(encap_type, encap, nhc->nhc_family, nhc 590 net/ipv4/fib_semantics.c nhc->nhc_lwtstate = lwtstate_get(lwtstate); nhc 596 net/ipv4/fib_semantics.c rt_fibinfo_free_cpus(nhc->nhc_pcpu_rth_output); nhc 597 net/ipv4/fib_semantics.c nhc->nhc_pcpu_rth_output = NULL; nhc 1280 net/ipv4/fib_semantics.c __be32 fib_info_update_nhc_saddr(struct net *net, struct fib_nh_common *nhc, nhc 1285 net/ipv4/fib_semantics.c if (nhc->nhc_family != AF_INET) nhc 1286 net/ipv4/fib_semantics.c return inet_select_addr(nhc->nhc_dev, 0, scope); nhc 1288 net/ipv4/fib_semantics.c nh = container_of(nhc, struct fib_nh, nh_common); nhc 1297 net/ipv4/fib_semantics.c struct fib_nh_common *nhc = res->nhc; nhc 1302 net/ipv4/fib_semantics.c if (nhc->nhc_family == AF_INET) { nhc 1305 net/ipv4/fib_semantics.c nh = container_of(nhc, struct fib_nh, nh_common); nhc 1310 net/ipv4/fib_semantics.c return fib_info_update_nhc_saddr(net, nhc, res->fi->fib_scope); nhc 1584 net/ipv4/fib_semantics.c int fib_nexthop_info(struct sk_buff *skb, const struct fib_nh_common *nhc, nhc 1587 net/ipv4/fib_semantics.c if (nhc->nhc_flags & RTNH_F_DEAD) nhc 1590 net/ipv4/fib_semantics.c if (nhc->nhc_flags & RTNH_F_LINKDOWN) { nhc 1594 net/ipv4/fib_semantics.c switch (nhc->nhc_family) { nhc 1596 net/ipv4/fib_semantics.c if (ip_ignore_linkdown(nhc->nhc_dev)) nhc 1600 net/ipv4/fib_semantics.c if (ip6_ignore_linkdown(nhc->nhc_dev)) nhc 1607 net/ipv4/fib_semantics.c switch (nhc->nhc_gw_family) { nhc 1609 net/ipv4/fib_semantics.c if (nla_put_in_addr(skb, RTA_GATEWAY, nhc->nhc_gw.ipv4)) nhc 1616 net/ipv4/fib_semantics.c if (rt_family != nhc->nhc_gw_family) { nhc 1627 net/ipv4/fib_semantics.c memcpy(via->rtvia_addr, &nhc->nhc_gw.ipv6, alen); nhc 1629 net/ipv4/fib_semantics.c &nhc->nhc_gw.ipv6) < 0) { nhc 1635 net/ipv4/fib_semantics.c *flags |= (nhc->nhc_flags & RTNH_F_ONLINK); nhc 1636 net/ipv4/fib_semantics.c if (nhc->nhc_flags & RTNH_F_OFFLOAD) nhc 1639 net/ipv4/fib_semantics.c if (!skip_oif && nhc->nhc_dev && nhc 1640 net/ipv4/fib_semantics.c nla_put_u32(skb, RTA_OIF, nhc->nhc_dev->ifindex)) nhc 1643 net/ipv4/fib_semantics.c if (nhc->nhc_lwtstate && nhc 1644 net/ipv4/fib_semantics.c lwtunnel_fill_encap(skb, nhc->nhc_lwtstate, nhc 1656 net/ipv4/fib_semantics.c int fib_add_nexthop(struct sk_buff *skb, const struct fib_nh_common *nhc, nhc 1659 net/ipv4/fib_semantics.c const struct net_device *dev = nhc->nhc_dev; nhc 1670 net/ipv4/fib_semantics.c if (fib_nexthop_info(skb, nhc, rt_family, &flags, true) < 0) nhc 1776 net/ipv4/fib_semantics.c const struct fib_nh_common *nhc = fib_info_nhc(fi, 0); nhc 1779 net/ipv4/fib_semantics.c if (fib_nexthop_info(skb, nhc, AF_INET, &flags, false) < 0) nhc 1784 net/ipv4/fib_semantics.c if (nhc->nhc_family == AF_INET) { nhc 1787 net/ipv4/fib_semantics.c nh = container_of(nhc, struct fib_nh, nh_common); nhc 1874 net/ipv4/fib_semantics.c void fib_nhc_update_mtu(struct fib_nh_common *nhc, u32 new, u32 orig) nhc 1879 net/ipv4/fib_semantics.c bucket = rcu_dereference_protected(nhc->nhc_exceptions, 1); nhc 2002 net/ipv4/fib_semantics.c struct fib_nh_common *nhc; nhc 2025 net/ipv4/fib_semantics.c nhc = fib_info_nhc(next_fi, 0); nhc 2026 net/ipv4/fib_semantics.c if (!nhc->nhc_gw_family || nhc->nhc_scope != RT_SCOPE_LINK) nhc 2175 net/ipv4/fib_semantics.c res->nhc = &nexthop_nh->nh_common; nhc 2184 net/ipv4/fib_semantics.c res->nhc = &nexthop_nh->nh_common; nhc 1474 net/ipv4/fib_trie.c struct fib_nh_common *nhc = fib_info_nhc(fi, nhsel); nhc 1476 net/ipv4/fib_trie.c if (nhc->nhc_flags & RTNH_F_DEAD) nhc 1478 net/ipv4/fib_trie.c if (ip_ignore_linkdown(nhc->nhc_dev) && nhc 1479 net/ipv4/fib_trie.c nhc->nhc_flags & RTNH_F_LINKDOWN && nhc 1484 net/ipv4/fib_trie.c flp->flowi4_oif != nhc->nhc_oif) nhc 1494 net/ipv4/fib_trie.c res->nhc = nhc; nhc 1503 net/ipv4/fib_trie.c trace_fib_table_lookup(tb->tb_id, flp, nhc, err); nhc 2761 net/ipv4/fib_trie.c const struct fib_nh_common *nhc = fib_info_nhc(fi, 0); nhc 2763 net/ipv4/fib_trie.c if (nhc->nhc_gw.ipv4) nhc 2810 net/ipv4/fib_trie.c struct fib_nh_common *nhc = fib_info_nhc(fi, 0); nhc 2813 net/ipv4/fib_trie.c if (nhc->nhc_gw_family == AF_INET) nhc 2814 net/ipv4/fib_trie.c gw = nhc->nhc_gw.ipv4; nhc 2819 net/ipv4/fib_trie.c nhc->nhc_dev ? nhc->nhc_dev->name : "*", nhc 643 net/ipv4/route.c static void update_or_create_fnhe(struct fib_nh_common *nhc, __be32 daddr, nhc 654 net/ipv4/route.c genid = fnhe_genid(dev_net(nhc->nhc_dev)); nhc 659 net/ipv4/route.c hash = rcu_dereference(nhc->nhc_exceptions); nhc 664 net/ipv4/route.c rcu_assign_pointer(nhc->nhc_exceptions, hash); nhc 716 net/ipv4/route.c rt = rcu_dereference(nhc->nhc_rth_input); nhc 722 net/ipv4/route.c prt = per_cpu_ptr(nhc->nhc_pcpu_rth_output, i); nhc 788 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(res); nhc 790 net/ipv4/route.c update_or_create_fnhe(nhc, fl4->daddr, new_gw, nhc 1036 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(res); nhc 1038 net/ipv4/route.c update_or_create_fnhe(nhc, fl4->daddr, 0, mtu, lock, nhc 1325 net/ipv4/route.c static void ip_del_fnhe(struct fib_nh_common *nhc, __be32 daddr) nhc 1333 net/ipv4/route.c hash = rcu_dereference_protected(nhc->nhc_exceptions, nhc 1359 net/ipv4/route.c static struct fib_nh_exception *find_exception(struct fib_nh_common *nhc, nhc 1362 net/ipv4/route.c struct fnhe_hash_bucket *hash = rcu_dereference(nhc->nhc_exceptions); nhc 1376 net/ipv4/route.c ip_del_fnhe(nhc, daddr); nhc 1393 net/ipv4/route.c struct fib_nh_common *nhc = res->nhc; nhc 1394 net/ipv4/route.c struct net_device *dev = nhc->nhc_dev; nhc 1405 net/ipv4/route.c fnhe = find_exception(nhc, daddr); nhc 1413 net/ipv4/route.c return mtu - lwtunnel_headroom(nhc->nhc_lwtstate, mtu); nhc 1466 net/ipv4/route.c static bool rt_cache_route(struct fib_nh_common *nhc, struct rtable *rt) nhc 1472 net/ipv4/route.c p = (struct rtable **)&nhc->nhc_rth_input; nhc 1474 net/ipv4/route.c p = (struct rtable **)raw_cpu_ptr(nhc->nhc_pcpu_rth_output); nhc 1569 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(*res); nhc 1571 net/ipv4/route.c if (nhc->nhc_gw_family && nhc->nhc_scope == RT_SCOPE_LINK) { nhc 1573 net/ipv4/route.c rt->rt_gw_family = nhc->nhc_gw_family; nhc 1575 net/ipv4/route.c if (likely(nhc->nhc_gw_family == AF_INET)) nhc 1576 net/ipv4/route.c rt->rt_gw4 = nhc->nhc_gw.ipv4; nhc 1578 net/ipv4/route.c rt->rt_gw6 = nhc->nhc_gw.ipv6; nhc 1584 net/ipv4/route.c if (nhc->nhc_family == AF_INET) { nhc 1587 net/ipv4/route.c nh = container_of(nhc, struct fib_nh, nh_common); nhc 1591 net/ipv4/route.c rt->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); nhc 1595 net/ipv4/route.c cached = rt_cache_route(nhc, rt); nhc 1786 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(*res); nhc 1787 net/ipv4/route.c struct net_device *dev = nhc->nhc_dev; nhc 1816 net/ipv4/route.c gw = nhc->nhc_gw_family == AF_INET ? nhc->nhc_gw.ipv4 : 0; nhc 1837 net/ipv4/route.c fnhe = find_exception(nhc, daddr); nhc 1842 net/ipv4/route.c rth = rcu_dereference(nhc->nhc_rth_input); nhc 2168 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(*res); nhc 2170 net/ipv4/route.c rth = rcu_dereference(nhc->nhc_rth_input); nhc 2198 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(*res); nhc 2200 net/ipv4/route.c rth->dst.lwtstate = lwtstate_get(nhc->nhc_lwtstate); nhc 2207 net/ipv4/route.c if (unlikely(!rt_cache_route(nhc, rth))) nhc 2378 net/ipv4/route.c struct fib_nh_common *nhc = FIB_RES_NHC(*res); nhc 2381 net/ipv4/route.c fnhe = find_exception(nhc, fl4->daddr); nhc 2389 net/ipv4/route.c !(nhc->nhc_gw_family && nhc 2390 net/ipv4/route.c nhc->nhc_scope == RT_SCOPE_LINK))) { nhc 2394 net/ipv4/route.c prth = raw_cpu_ptr(nhc->nhc_pcpu_rth_output); nhc 2923 net/ipv4/route.c struct fib_nh_common *nhc = fib_info_nhc(fi, nhsel); nhc 2927 net/ipv4/route.c if (nhc->nhc_flags & RTNH_F_DEAD) nhc 2931 net/ipv4/route.c bucket = rcu_dereference(nhc->nhc_exceptions);