/net/ipv4/ |
H A D | fib_semantics.c | 62 #define for_nexthops(fi) { \ 64 for (nhsel = 0, nh = (fi)->fib_nh; \ 65 nhsel < (fi)->fib_nhs; \ 68 #define change_nexthops(fi) { \ 70 for (nhsel = 0, nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \ 71 nhsel < (fi)->fib_nhs; \ 78 #define for_nexthops(fi) { \ 79 int nhsel; const struct fib_nh *nh = (fi)->fib_nh; \ 82 #define change_nexthops(fi) { \ 84 struct fib_nh *nexthop_nh = (struct fib_nh *)((fi) 202 struct fib_info *fi = container_of(head, struct fib_info, rcu); local 219 free_fib_info(struct fib_info *fi) argument 235 fib_release_info(struct fib_info *fi) argument 253 nh_comp(const struct fib_info *fi, const struct fib_info *ofi) argument 283 fib_info_hashfn(const struct fib_info *fi) argument 301 struct fib_info *fi; local 354 fib_nlmsg_size(struct fib_info *fi) argument 428 fib_detect_death(struct fib_info *fi, int order, struct fib_info **last_resort, int *last_idx, int dflt) argument 466 fib_get_nhs(struct fib_info *fi, struct rtnexthop *rtnh, int remaining, struct fib_config *cfg) argument 502 fib_nh_match(struct fib_config *cfg, struct fib_info *fi) argument 599 fib_check_nh(struct fib_config *cfg, struct fib_info *fi, struct fib_nh *nh) argument 724 struct fib_info *fi; local 742 struct fib_info *fi; local 777 struct fib_info *fi = NULL; local 995 fib_dump_info(struct sk_buff *skb, u32 portid, u32 seq, int event, u32 tb_id, u8 type, __be32 dst, int dst_len, u8 tos, struct fib_info *fi, unsigned int flags) argument 1098 struct fib_info *fi; local 1127 struct fib_info *fi = nh->nh_parent; local 1168 struct fib_info *fi = NULL, *last_resort = NULL; local 1244 struct fib_info *fi = nh->nh_parent; local 1286 struct fib_info *fi = res->fi; local [all...] |
H A D | fib_lookup.h | 29 extern int fib_nh_match(struct fib_config *cfg, struct fib_info *fi); 32 int dst_len, u8 tos, struct fib_info *fi, 39 extern int fib_detect_death(struct fib_info *fi, int order, 44 struct fib_info *fi) 47 res->fi = fi; 43 fib_result_assign(struct fib_result *res, struct fib_info *fi) argument
|
H A D | fib_trie.c | 1177 struct fib_info *fi; local 1198 fi = fib_create_info(cfg); 1199 if (IS_ERR(fi)) { 1200 err = PTR_ERR(fi); 1209 fa = fib_find_alias(fa_head, tos, fi->fib_priority); 1224 fa->fa_info->fib_priority == fi->fib_priority) { 1242 if (fa->fa_info->fib_priority != fi->fib_priority) 1245 fa->fa_info == fi) { 1268 new_fa->fa_info = fi; 1303 new_fa->fa_info = fi; 1354 struct fib_info *fi = fa->fa_info; local 1663 struct fib_info *fi = fa->fa_info; local 1715 struct fib_info *fi = fa->fa_info; local 2494 fib_flag_trans(int type, __be32 mask, const struct fib_info *fi) argument 2534 const struct fib_info *fi = fa->fa_info; local [all...] |
H A D | route.c | 11 * Linus Torvalds, <Linus.Torvalds@helsinki.fi> 1331 struct fib_info *fi, u16 type, u32 itag) 1335 if (fi) { 1342 dst_init_metrics(&rt->dst, fi->fib_metrics, true); 1508 do_cache = res->fi && !itag; 1560 rt_set_nexthop(rth, daddr, res, NULL, res->fi, res->type, itag); 1575 if (res->fi && res->fi->fib_nhs > 1) 1619 res.fi = NULL; 1695 if (res.fi) { 1328 rt_set_nexthop(struct rtable *rt, __be32 daddr, const struct fib_result *res, struct fib_nh_exception *fnhe, struct fib_info *fi, u16 type, u32 itag) argument 1823 struct fib_info *fi = res->fi; local [all...] |
H A D | fib_frontend.c | 175 if (!dev || dev == res.fi->fib_dev) 275 for (ret = 0; ret < res.fi->fib_nhs; ret++) { 276 struct fib_nh *nh = &res.fi->fib_nh[ret];
|
/net/decnet/ |
H A D | dn_fib.c | 47 #define for_fib_info() { struct dn_fib_info *fi;\ 48 for(fi = dn_fib_info_list; fi; fi = fi->fib_next) 51 #define for_nexthops(fi) { int nhsel; const struct dn_fib_nh *nh;\ 52 for(nhsel = 0, nh = (fi)->fib_nh; nhsel < (fi)->fib_nhs; nh++, nhsel++) 54 #define change_nexthops(fi) { int nhsel; struct dn_fib_nh *nh;\ 55 for(nhsel = 0, nh = (struct dn_fib_nh *)((fi) 85 dn_fib_free_info(struct dn_fib_info *fi) argument 100 dn_fib_release_info(struct dn_fib_info *fi) argument 116 dn_fib_nh_comp(const struct dn_fib_info *fi, const struct dn_fib_info *ofi) argument 163 dn_fib_get_nhs(struct dn_fib_info *fi, const struct nlattr *attr, const struct rtmsg *r) argument 191 dn_fib_check_nh(const struct rtmsg *r, struct dn_fib_info *fi, struct dn_fib_nh *nh) argument 267 struct dn_fib_info *fi = NULL; local 411 dn_fib_semantic_match(int type, struct dn_fib_info *fi, const struct flowidn *fld, struct dn_fib_res *res) argument 455 struct dn_fib_info *fi = res->fi; local [all...] |
H A D | dn_table.c | 62 #define for_nexthops(fi) { int nhsel; const struct dn_fib_nh *nh;\ 63 for(nhsel = 0, nh = (fi)->fib_nh; nhsel < (fi)->fib_nhs; nh++, nhsel++) 65 #define endfor_nexthops(fi) } 226 static int dn_fib_nh_match(struct rtmsg *r, struct nlmsghdr *nlh, struct nlattr *attrs[], struct dn_fib_info *fi) argument 232 nla_get_u32(attrs[RTA_PRIORITY]) != fi->fib_priority) 236 if ((!attrs[RTA_OIF] || nla_get_u32(attrs[RTA_OIF]) == fi->fib_nh->nh_oif) && 237 (!attrs[RTA_GATEWAY] || nla_get_le16(attrs[RTA_GATEWAY]) != fi->fib_nh->nh_gw)) 248 for_nexthops(fi) { 266 } endfor_nexthops(fi); 271 dn_fib_nlmsg_size(struct dn_fib_info *fi) argument 297 dn_fib_dump_info(struct sk_buff *skb, u32 portid, u32 seq, int event, u32 tb_id, u8 type, u8 scope, void *dst, int dst_len, struct dn_fib_info *fi, unsigned int flags) argument 529 struct dn_fib_info *fi; local 697 struct dn_fib_info *fi = DN_FIB_INFO(f); local 748 struct dn_fib_info *fi = DN_FIB_INFO(f); local [all...] |
H A D | dn_route.c | 874 struct dn_fib_info *fi = res->fi; local 879 if (fi) { 883 dst_init_metrics(&rt->dst, fi->fib_metrics, true); 954 return (daddr&~mask)|res->fi->fib_nh->nh_gw; 972 struct dn_fib_res res = { .fi = NULL, .type = RTN_UNICAST }; 1151 if (res.fi) 1152 dn_fib_info_put(res.fi); 1153 res.fi = NULL; 1157 if (res.fi [all...] |
/net/ipv4/netfilter/ |
H A D | ipt_rpfilter.c | 52 for (ret = 0; ret < res.fi->fib_nhs; ret++) { 53 struct fib_nh *nh = &res.fi->fib_nh[ret];
|