Home
last modified time | relevance | path

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

/linux-6.12.1/net/6lowpan/
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 …]
Dnhc.h119 int lowpan_nhc_add(const struct lowpan_nhc *nhc);
126 void lowpan_nhc_del(const struct lowpan_nhc *nhc);
DMakefile4 6lowpan-y := core.o iphc.o nhc.o ndisc.o
/linux-6.12.1/include/trace/events/
Dfib.h16 const struct fib_nh_common *nhc, int err),
18 TP_ARGS(tb_id, flp, nhc, err),
67 dev = nhc ? nhc->nhc_dev : NULL;
70 if (nhc) {
71 if (nhc->nhc_gw_family == AF_INET) {
73 *p32 = nhc->nhc_gw.ipv4;
77 } else if (nhc->nhc_gw_family == AF_INET6) {
82 *in6 = nhc->nhc_gw.ipv6;
/linux-6.12.1/net/ipv4/
Dfib_semantics.c166 static void free_nh_exceptions(struct fib_nh_common *nhc) in free_nh_exceptions() argument
171 hash = rcu_dereference_protected(nhc->nhc_exceptions, 1); in free_nh_exceptions()
213 void fib_nh_common_release(struct fib_nh_common *nhc) in fib_nh_common_release() argument
215 netdev_put(nhc->nhc_dev, &nhc->nhc_dev_tracker); in fib_nh_common_release()
216 lwtstate_put(nhc->nhc_lwtstate); in fib_nh_common_release()
217 rt_fibinfo_free_cpus(nhc->nhc_pcpu_rth_output); in fib_nh_common_release()
218 rt_fibinfo_free(&nhc->nhc_rth_input); in fib_nh_common_release()
219 free_nh_exceptions(nhc); in fib_nh_common_release()
494 struct fib_nh_common *nhc = fib_info_nhc(fi, i); in fib_nlmsg_size() local
496 if (nhc->nhc_lwtstate) { in fib_nlmsg_size()
[all …]
Droute.c627 static void update_or_create_fnhe(struct fib_nh_common *nhc, __be32 daddr, in update_or_create_fnhe() argument
638 genid = fnhe_genid(dev_net(nhc->nhc_dev)); in update_or_create_fnhe()
643 hash = rcu_dereference(nhc->nhc_exceptions); in update_or_create_fnhe()
648 rcu_assign_pointer(nhc->nhc_exceptions, hash); in update_or_create_fnhe()
707 rt = rcu_dereference(nhc->nhc_rth_input); in update_or_create_fnhe()
714 prt = per_cpu_ptr(nhc->nhc_pcpu_rth_output, i); in update_or_create_fnhe()
780 struct fib_nh_common *nhc; in __ip_do_redirect() local
783 nhc = FIB_RES_NHC(res); in __ip_do_redirect()
784 update_or_create_fnhe(nhc, fl4->daddr, new_gw, in __ip_do_redirect()
1027 struct fib_nh_common *nhc; in __ip_rt_update_pmtu() local
[all …]
Dfib_trie.c1427 bool fib_lookup_good_nhc(const struct fib_nh_common *nhc, int fib_flags, in fib_lookup_good_nhc() argument
1430 if (nhc->nhc_flags & RTNH_F_DEAD) in fib_lookup_good_nhc()
1433 if (ip_ignore_linkdown(nhc->nhc_dev) && in fib_lookup_good_nhc()
1434 nhc->nhc_flags & RTNH_F_LINKDOWN && in fib_lookup_good_nhc()
1438 if (flp->flowi4_oif && flp->flowi4_oif != nhc->nhc_oif) in fib_lookup_good_nhc()
1576 struct fib_nh_common *nhc; in fib_table_lookup() local
1609 nhc = nexthop_get_nhc_lookup(fi->nh, fib_flags, flp, in fib_table_lookup()
1611 if (nhc) in fib_table_lookup()
1617 nhc = fib_info_nhc(fi, nhsel); in fib_table_lookup()
1619 if (!fib_lookup_good_nhc(nhc, fib_flags, flp)) in fib_table_lookup()
[all …]
Dfib_lookup.h53 res->nhc = fib_info_nhc(fi, 0); in fib_result_assign()
Dfib_rules.c153 struct fib_nh_common *nhc = fib_info_nhc(result->fi, 0); in fib4_rule_suppress() local
155 dev = nhc->nhc_dev; in fib4_rule_suppress()
Dfib_frontend.c226 struct fib_nh_common *nhc = fib_info_nhc(res.fi, 0); in __inet_dev_addr_type() local
228 if (!dev || dev == nhc->nhc_dev) in __inet_dev_addr_type()
319 const struct fib_nh_common *nhc = fib_info_nhc(fi, ret); in fib_info_nh_uses_dev() local
321 if (nhc_l3mdev_matches_dev(nhc, dev)) { in fib_info_nh_uses_dev()
/linux-6.12.1/include/net/
Dip_fib.h179 struct fib_nh_common *nhc; member
206 __be32 fib_info_update_nhc_saddr(struct net *net, struct fib_nh_common *nhc,
210 #define FIB_RES_NHC(res) ((res).nhc)
467 static inline bool nhc_l3mdev_matches_dev(const struct fib_nh_common *nhc, in nhc_l3mdev_matches_dev() argument
470 if (nhc->nhc_dev == dev || in nhc_l3mdev_matches_dev()
471 l3mdev_master_ifindex_rcu(nhc->nhc_dev) == dev->ifindex) in nhc_l3mdev_matches_dev()
483 void fib_nhc_update_mtu(struct fib_nh_common *nhc, u32 new, u32 orig);
570 int fib_nh_common_init(struct net *net, struct fib_nh_common *nhc,
574 void fib_nh_common_release(struct fib_nh_common *nhc);
580 bool fib_lookup_good_nhc(const struct fib_nh_common *nhc, int fib_flags,
[all …]
Dvxlan.h563 struct fib_nh_common *nhc; in vxlan_fdb_nh_path_select() local
565 nhc = nexthop_path_fdb_result(nh, hash >> 1); in vxlan_fdb_nh_path_select()
566 if (unlikely(!nhc)) in vxlan_fdb_nh_path_select()
569 switch (nhc->nhc_gw_family) { in vxlan_fdb_nh_path_select()
571 rdst->remote_ip.sin.sin_addr.s_addr = nhc->nhc_gw.ipv4; in vxlan_fdb_nh_path_select()
575 rdst->remote_ip.sin6.sin6_addr = nhc->nhc_gw.ipv6; in vxlan_fdb_nh_path_select()
Dnexthop.h355 struct fib_nh_common *nhc = &nhi->fib_nhc; in nexthop_mpath_fill_node() local
358 if (fib_add_nexthop(skb, nhc, weight, rt_family, 0) < 0) in nexthop_mpath_fill_node()
391 res->nhc = &nhi->fib_nhc; in nexthop_path_fib_result()
/linux-6.12.1/drivers/net/ethernet/marvell/prestera/
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-6.12.1/net/core/
Dfilter.c5897 struct fib_nh_common *nhc; in bpf_ipv4_fib_lookup() local
5986 nhc = res.nhc; in bpf_ipv4_fib_lookup()
5989 if (nhc->nhc_lwtstate) in bpf_ipv4_fib_lookup()
5992 dev = nhc->nhc_dev; in bpf_ipv4_fib_lookup()
6003 if (likely(nhc->nhc_gw_family != AF_INET6)) { in bpf_ipv4_fib_lookup()
6004 if (nhc->nhc_gw_family) in bpf_ipv4_fib_lookup()
6005 params->ipv4_dst = nhc->nhc_gw.ipv4; in bpf_ipv4_fib_lookup()
6010 *dst = nhc->nhc_gw.ipv6; in bpf_ipv4_fib_lookup()
6016 if (likely(nhc->nhc_gw_family != AF_INET6)) in bpf_ipv4_fib_lookup()