| /linux/net/6lowpan/ |
| H A D | nhc.c | 13 #include "nhc.h" 20 const struct lowpan_nhc *nhc; in lowpan_nhc_by_nhcid() local 30 nhc = lowpan_nexthdr_nhcs[i]; in lowpan_nhc_by_nhcid() 31 if (!nhc) in lowpan_nhc_by_nhcid() 34 if ((id & nhc->idmask) == nhc->id) in lowpan_nhc_by_nhcid() 35 return nhc; in lowpan_nhc_by_nhcid() 44 const struct lowpan_nhc *nhc; in lowpan_nhc_check_compression() local 49 nhc = lowpan_nexthdr_nhcs[hdr->nexthdr]; in lowpan_nhc_check_compression() 50 if (!(nhc in lowpan_nhc_check_compression() 62 const struct lowpan_nhc *nhc; lowpan_nhc_do_compression() local 105 const struct lowpan_nhc *nhc; lowpan_nhc_do_uncompression() local 141 lowpan_nhc_add(const struct lowpan_nhc * nhc) lowpan_nhc_add() argument 159 lowpan_nhc_del(const struct lowpan_nhc * nhc) lowpan_nhc_del() argument [all...] |
| H A D | nhc.h | 119 int lowpan_nhc_add(const struct lowpan_nhc *nhc); 126 void lowpan_nhc_del(const struct lowpan_nhc *nhc);
|
| H A D | Makefile | 4 6lowpan-y := core.o iphc.o nhc.o ndisc.o
|
| /linux/include/net/ |
| H A D | ip_fib.h | 181 struct fib_nh_common *nhc; member 208 __be32 fib_info_update_nhc_saddr(struct net *net, struct fib_nh_common *nhc, 212 #define FIB_RES_NHC(res) ((res).nhc) 480 static inline bool nhc_l3mdev_matches_dev(const struct fib_nh_common *nhc, 483 if (nhc->nhc_dev == dev || in nhc_l3mdev_matches_dev() 484 l3mdev_master_ifindex_rcu(nhc->nhc_dev) == dev->ifindex) in nhc_l3mdev_matches_dev() 496 void fib_nhc_update_mtu(struct fib_nh_common *nhc, u32 new, u32 orig); 584 int fib_nh_common_init(struct net *net, struct fib_nh_common *nhc, 588 void fib_nh_common_release(struct fib_nh_common *nhc); 594 bool fib_lookup_good_nhc(const struct fib_nh_common *nhc, in 482 nhc_l3mdev_matches_dev(const struct fib_nh_common * nhc,const struct net_device * dev) nhc_l3mdev_matches_dev() argument 602 struct fib_nh_common *nhc = res->nhc; fib_combine_itag() local [all...] |
| H A D | vxlan.h | 569 struct fib_nh_common *nhc; in vxlan_fdb_nh_path_select() 571 nhc = nexthop_path_fdb_result(nh, hash >> 1); in vxlan_fdb_nh_path_select() 572 if (unlikely(!nhc)) in vxlan_fdb_nh_path_select() 575 switch (nhc->nhc_gw_family) { in vxlan_fdb_nh_path_select() 577 rdst->remote_ip.sin.sin_addr.s_addr = nhc->nhc_gw.ipv4; in vxlan_fdb_nh_path_select() 581 rdst->remote_ip.sin6.sin6_addr = nhc->nhc_gw.ipv6; in vxlan_fdb_nh_path_select() 568 struct fib_nh_common *nhc; vxlan_fdb_nh_path_select() local
|
| H A D | nexthop.h | 357 struct fib_nh_common *nhc = &nhi->fib_nhc; in nexthop_mpath_fill_node() 360 if (fib_add_nexthop(skb, nhc, weight, rt_family, 0) < 0) in nexthop_mpath_fill_node() 393 res->nhc = &nhi->fib_nhc; 355 struct fib_nh_common *nhc = &nhi->fib_nhc; nexthop_mpath_fill_node() local
|
| /linux/net/ipv4/ |
| H A D | route.c | 644 static void update_or_create_fnhe(struct fib_nh_common *nhc, __be32 daddr, in update_or_create_fnhe() argument 655 genid = fnhe_genid(dev_net(nhc->nhc_dev)); in update_or_create_fnhe() 660 hash = rcu_dereference(nhc->nhc_exceptions); in update_or_create_fnhe() 665 rcu_assign_pointer(nhc->nhc_exceptions, hash); in update_or_create_fnhe() 724 rt = rcu_dereference(nhc->nhc_rth_input); in update_or_create_fnhe() 731 prt = per_cpu_ptr(nhc->nhc_pcpu_rth_output, i); in update_or_create_fnhe() 797 struct fib_nh_common *nhc; in __ip_do_redirect() local 800 nhc = FIB_RES_NHC(res); in __ip_do_redirect() 801 update_or_create_fnhe(nhc, fl4->daddr, new_gw, in __ip_do_redirect() 1047 struct fib_nh_common *nhc; in __ip_rt_update_pmtu() local 1349 ip_del_fnhe(struct fib_nh_common * nhc,__be32 daddr) ip_del_fnhe() argument 1383 find_exception(struct fib_nh_common * nhc,__be32 daddr) find_exception() argument 1417 struct fib_nh_common *nhc = res->nhc; ip_mtu_from_fib_result() local 1490 rt_cache_route(struct fib_nh_common * nhc,struct rtable * rt) rt_cache_route() argument 1595 struct fib_nh_common *nhc = FIB_RES_NHC(*res); rt_set_nexthop() local 1817 struct fib_nh_common *nhc = FIB_RES_NHC(*res); __mkroute_input() local 2240 struct fib_nh_common *nhc = res->fi ? res->nhc : NULL; ip_rt_get_dev() local 2419 struct fib_nh_common *nhc = FIB_RES_NHC(*res); ip_route_input_slow() local 2448 struct fib_nh_common *nhc = FIB_RES_NHC(*res); ip_route_input_slow() local 2631 struct fib_nh_common *nhc = FIB_RES_NHC(*res); __mkroute_output() local 3138 struct fib_nh_common *nhc = fib_info_nhc(fi, nhsel); fib_dump_info_fnhe() local [all...] |
| H A D | fib_trie.c | 1402 bool fib_lookup_good_nhc(const struct fib_nh_common *nhc, int fib_flags, in fib_lookup_good_nhc() argument 1405 if (nhc->nhc_flags & RTNH_F_DEAD) in fib_lookup_good_nhc() 1408 if (ip_ignore_linkdown(nhc->nhc_dev) && in fib_lookup_good_nhc() 1409 nhc->nhc_flags & RTNH_F_LINKDOWN && in fib_lookup_good_nhc() 1413 if (flp->flowi4_oif && flp->flowi4_oif != nhc->nhc_oif) in fib_lookup_good_nhc() 1551 struct fib_nh_common *nhc; in fib_table_lookup() local 1584 nhc = nexthop_get_nhc_lookup(fi->nh, fib_flags, flp, in fib_table_lookup() 1586 if (nhc) in fib_table_lookup() 1592 nhc = fib_info_nhc(fi, nhsel); in fib_table_lookup() 1594 if (!fib_lookup_good_nhc(nhc, fib_flag in fib_table_lookup() 2924 const struct fib_nh_common *nhc = fib_info_nhc(fi, 0); fib_flag_trans() local 2973 struct fib_nh_common *nhc = fib_info_nhc(fi, 0); fib_route_seq_show() local [all...] |
| /linux/drivers/net/ethernet/marvell/prestera/ |
| H A D | prestera_router.c | 107 struct fib_nh_common *nhc, in prestera_util_nhc2nc_key() argument 111 if (nhc->nhc_gw_family == AF_INET) { in prestera_util_nhc2nc_key() 113 nk->addr.u.ipv4 = nhc->nhc_gw.ipv4; in prestera_util_nhc2nc_key() 116 nk->addr.u.ipv6 = nhc->nhc_gw.ipv6; in prestera_util_nhc2nc_key() 119 nk->dev = nhc->nhc_dev; in prestera_util_nhc2nc_key() 134 struct fib_nh_common *nhc, in prestera_util_nhc_eq_n_cache_key() argument 140 err = prestera_util_nhc2nc_key(sw, nhc, &tk); in prestera_util_nhc_eq_n_cache_key() 304 prestera_util_kern_set_nh_offload(struct fib_nh_common *nhc, bool offloaded, bool trap) in prestera_util_kern_set_nh_offload() argument 307 nhc->nhc_flags |= RTNH_F_OFFLOAD; in prestera_util_kern_set_nh_offload() 309 nhc->nhc_flags &= ~RTNH_F_OFFLOAD; in prestera_util_kern_set_nh_offload() [all …]
|
| /linux/net/core/ |
| H A D | filter.c | 6220 struct fib_nh_common *nhc; in bpf_ipv4_fib_lookup() 6308 nhc = res.nhc; in bpf_ipv6_fib_lookup() 6311 if (nhc->nhc_lwtstate) in bpf_ipv6_fib_lookup() 6314 dev = nhc->nhc_dev; in bpf_ipv6_fib_lookup() 6325 if (likely(nhc->nhc_gw_family != AF_INET6)) { in bpf_ipv6_fib_lookup() 6326 if (nhc->nhc_gw_family) in bpf_ipv6_fib_lookup() 6327 params->ipv4_dst = nhc->nhc_gw.ipv4; in bpf_ipv6_fib_lookup() 6332 *dst = nhc->nhc_gw.ipv6; in bpf_ipv6_fib_lookup() 6338 if (likely(nhc in bpf_ipv6_fib_lookup() 6138 struct fib_nh_common *nhc; bpf_ipv4_fib_lookup() local [all...] |