Home
last modified time | relevance | path

Searched refs:fi (Results 1 – 10 of 10) sorted by relevance

/net/ipv4/
Dfib_semantics.c67 #define for_nexthops(fi) { \ argument
69 for (nhsel = 0, nh = (fi)->fib_nh; \
70 nhsel < fib_info_num_path((fi)); \
73 #define change_nexthops(fi) { \ argument
75 for (nhsel = 0, nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \
76 nhsel < fib_info_num_path((fi)); \
83 #define for_nexthops(fi) { \ argument
84 int nhsel; const struct fib_nh *nh = (fi)->fib_nh; \
87 #define change_nexthops(fi) { \ argument
89 struct fib_nh *nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \
[all …]
Dfib_lookup.h38 int fib_nh_match(struct net *net, struct fib_config *cfg, struct fib_info *fi,
40 bool fib_metrics_match(struct fib_config *cfg, struct fib_info *fi);
45 size_t fib_nlmsg_size(struct fib_info *fi);
48 struct fib_info *fi) in fib_result_assign() argument
51 res->fi = fi; in fib_result_assign()
52 res->nhc = fib_info_nhc(fi, 0); in fib_result_assign()
Dfib_trie.c83 .fi = fa->fa_info, in call_fib_entry_notifier()
100 .fi = fa->fa_info, in call_fib_entry_notifiers()
1030 fa->fa_tos == fri->tos && fa->fa_info == fri->fi && in fib_find_matching_alias()
1217 struct fib_info *fi; in fib_table_insert() local
1231 fi = fib_create_info(cfg, extack); in fib_table_insert()
1232 if (IS_ERR(fi)) { in fib_table_insert()
1233 err = PTR_ERR(fi); in fib_table_insert()
1238 fa = l ? fib_find_alias(&l->leaf, slen, tos, fi->fib_priority, in fib_table_insert()
1251 fa->fa_info->fib_priority == fi->fib_priority) { in fib_table_insert()
1272 if (fa->fa_info->fib_priority != fi->fib_priority) in fib_table_insert()
[all …]
Droute.c1406 struct fib_info *fi = res->fi; in ip_mtu_from_fib_result() local
1410 fi->fib_metrics->metrics[RTAX_LOCK - 1] & (1 << RTAX_MTU)) in ip_mtu_from_fib_result()
1411 mtu = fi->fib_mtu; in ip_mtu_from_fib_result()
1574 struct fib_info *fi, u16 type, u32 itag, in rt_set_nexthop() argument
1579 if (fi) { in rt_set_nexthop()
1592 ip_dst_init_metrics(&rt->dst, fi->fib_metrics); in rt_set_nexthop()
1826 do_cache = res->fi && !itag; in __mkroute_input()
1880 rt_set_nexthop(rth, daddr, res, fnhe, res->fi, res->type, itag, in __mkroute_input()
2152 if (res->fi && fib_info_num_path(res->fi) > 1) { in ip_mkroute_input()
2153 int h = fib_multipath_hash(res->fi->fib_net, NULL, skb, hkeys); in ip_mkroute_input()
[all …]
Dfib_rules.c150 if (result->fi) { in fib4_rule_suppress()
151 struct fib_nh_common *nhc = fib_info_nhc(result->fi, 0); in fib4_rule_suppress()
172 fib_info_put(result->fi); in fib4_rule_suppress()
Dfib_frontend.c225 struct fib_nh_common *nhc = fib_info_nhc(res.fi, 0); in __inet_dev_addr_type()
308 bool fib_info_nh_uses_dev(struct fib_info *fi, const struct net_device *dev) in fib_info_nh_uses_dev() argument
312 if (unlikely(fi->nh)) { in fib_info_nh_uses_dev()
313 dev_match = nexthop_uses_dev(fi->nh, dev); in fib_info_nh_uses_dev()
317 for (ret = 0; ret < fib_info_num_path(fi); ret++) { in fib_info_nh_uses_dev()
318 const struct fib_nh_common *nhc = fib_info_nhc(fi, ret); in fib_info_nh_uses_dev()
327 if (fib_info_nhc(fi, 0)->nhc_dev == dev) in fib_info_nh_uses_dev()
385 dev_match = fib_info_nh_uses_dev(res.fi, dev); in __fib_validate_source()
Dnexthop.c1389 struct fib_info *fi; in fib_check_nh_list() local
1391 list_for_each_entry(fi, &old->fi_list, nh_list) { in fib_check_nh_list()
1394 err = fib_check_nexthop(new, fi->fib_scope, extack); in fib_check_nh_list()
1846 struct fib_info *fi; in __remove_nexthop_fib() local
1848 list_for_each_entry(fi, &nh->fi_list, nh_list) { in __remove_nexthop_fib()
1849 fi->fib_flags |= RTNH_F_DEAD; in __remove_nexthop_fib()
2187 struct fib_info *fi; in __nexthop_replace_notify() local
2193 list_for_each_entry(fi, &nh->fi_list, nh_list) in __nexthop_replace_notify()
2194 fi->nh_updated = true; in __nexthop_replace_notify()
2198 list_for_each_entry(fi, &nh->fi_list, nh_list) in __nexthop_replace_notify()
[all …]
/net/ipv4/netfilter/
Dipt_rpfilter.c45 return fib_info_nh_uses_dev(res.fi, dev) || flags & XT_RPFILTER_LOOSE; in rpfilter_lookup_reverse()
Dnft_fib_ipv4.c139 if (!fib_info_nh_uses_dev(res.fi, oif)) in nft_fib4_eval()
/net/core/
Dfilter.c5485 if (fib_info_num_path(res.fi) > 1) in bpf_ipv4_fib_lookup()
5504 params->rt_metric = res.fi->fib_priority; in bpf_ipv4_fib_lookup()