Home
last modified time | relevance | path

Searched refs:nhc (Results 1 – 11 of 11) sorted by relevance

/linux/net/6lowpan/
H A Dnhc.c20 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 && nhc->compress)) in lowpan_nhc_check_compression()
62 const struct lowpan_nhc *nhc; in lowpan_nhc_do_compression() local
66 nhc = lowpan_nexthdr_nhcs[hdr->nexthdr]; in lowpan_nhc_do_compression()
[all …]
H A Dnhc.h119 int lowpan_nhc_add(const struct lowpan_nhc *nhc);
126 void lowpan_nhc_del(const struct lowpan_nhc *nhc);
H A DMakefile4 6lowpan-y := core.o iphc.o nhc.o ndisc.o
/linux/net/ipv4/
H A Dfib_semantics.c155 static void free_nh_exceptions(struct fib_nh_common *nhc) in free_nh_exceptions() argument
160 hash = rcu_dereference_protected(nhc->nhc_exceptions, 1); in free_nh_exceptions()
202 void fib_nh_common_release(struct fib_nh_common *nhc) in fib_nh_common_release() argument
204 netdev_put(nhc->nhc_dev, &nhc->nhc_dev_tracker); in fib_nh_common_release()
205 lwtstate_put(nhc->nhc_lwtstate); in fib_nh_common_release()
206 rt_fibinfo_free_cpus(nhc->nhc_pcpu_rth_output); in fib_nh_common_release()
207 rt_fibinfo_free(&nhc->nhc_rth_input); in fib_nh_common_release()
208 free_nh_exceptions(nhc); in fib_nh_common_release()
524 struct fib_nh_common *nhc = fib_info_nhc(fi, i); in fib_nlmsg_size() local
526 if (nhc->nhc_lwtstate) { in fib_nlmsg_size()
[all …]
H A Droute.c644 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
[all …]
H A Dfib_trie.c1402 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_flags, flp)) in fib_table_lookup()
[all …]
H A Dfib_lookup.h53 res->nhc = fib_info_nhc(fi, 0); in fib_result_assign()
/linux/drivers/net/ethernet/marvell/prestera/
H A Dprestera_router.c107 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/include/net/
H A Dvxlan.h568 struct fib_nh_common *nhc; in vxlan_fdb_nh_path_select() local
570 nhc = nexthop_path_fdb_result(nh, hash >> 1); in vxlan_fdb_nh_path_select()
571 if (unlikely(!nhc)) in vxlan_fdb_nh_path_select()
574 switch (nhc->nhc_gw_family) { in vxlan_fdb_nh_path_select()
576 rdst->remote_ip.sin.sin_addr.s_addr = nhc->nhc_gw.ipv4; in vxlan_fdb_nh_path_select()
580 rdst->remote_ip.sin6.sin6_addr = nhc->nhc_gw.ipv6; in vxlan_fdb_nh_path_select()
H A Dnexthop.h357 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/core/
H A Dfilter.c6092 struct fib_nh_common *nhc; in bpf_ipv4_fib_lookup() local
6181 nhc = res.nhc; in bpf_ipv4_fib_lookup()
6184 if (nhc->nhc_lwtstate) in bpf_ipv4_fib_lookup()
6187 dev = nhc->nhc_dev; in bpf_ipv4_fib_lookup()
6198 if (likely(nhc->nhc_gw_family != AF_INET6)) { in bpf_ipv4_fib_lookup()
6199 if (nhc->nhc_gw_family) in bpf_ipv4_fib_lookup()
6200 params->ipv4_dst = nhc->nhc_gw.ipv4; in bpf_ipv4_fib_lookup()
6205 *dst = nhc->nhc_gw.ipv6; in bpf_ipv4_fib_lookup()
6211 if (likely(nhc->nhc_gw_family != AF_INET6)) in bpf_ipv4_fib_lookup()