Lines Matching refs:fib_nh
63 int nhsel; const struct fib_nh *nh; \
64 for (nhsel = 0, nh = (fi)->fib_nh; \
69 int nhsel; struct fib_nh *nexthop_nh; \
70 for (nhsel = 0, nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \
79 int nhsel; const struct fib_nh *nh = (fi)->fib_nh; \
84 struct fib_nh *nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \
158 static void free_nh_exceptions(struct fib_nh *nh) in free_nh_exceptions()
257 const struct fib_nh *onh = ofi->fib_nh; in nh_comp()
335 struct fib_nh *nh; in ip_fib_check_default()
420 n = neigh_lookup(&arp_tbl, &fi->fib_nh[0].nh_gw, fi->fib_dev); in fib_detect_death()
499 if ((!cfg->fc_oif || cfg->fc_oif == fi->fib_nh->nh_oif) && in fib_nh_match()
500 (!cfg->fc_gw || cfg->fc_gw == fi->fib_nh->nh_gw)) in fib_nh_match()
586 struct fib_nh *nh) in fib_check_nh()
750 __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh) in fib_info_update_nh_saddr()
805 fi = kzalloc(sizeof(*fi)+nhs*sizeof(struct fib_nh), GFP_KERNEL); in fib_create_info()
868 if (cfg->fc_oif && fi->fib_nh->nh_oif != cfg->fc_oif) in fib_create_info()
870 if (cfg->fc_gw && fi->fib_nh->nh_gw != cfg->fc_gw) in fib_create_info()
873 if (cfg->fc_flow && fi->fib_nh->nh_tclassid != cfg->fc_flow) in fib_create_info()
880 struct fib_nh *nh = fi->fib_nh; in fib_create_info()
916 struct fib_nh *nh = fi->fib_nh; in fib_create_info()
922 nh->nh_dev = dev_get_by_index(net, fi->fib_nh->nh_oif); in fib_create_info()
1030 if (fi->fib_nh->nh_gw && in fib_dump_info()
1031 nla_put_in_addr(skb, RTA_GATEWAY, fi->fib_nh->nh_gw)) in fib_dump_info()
1033 if (fi->fib_nh->nh_oif && in fib_dump_info()
1034 nla_put_u32(skb, RTA_OIF, fi->fib_nh->nh_oif)) in fib_dump_info()
1037 if (fi->fib_nh[0].nh_tclassid && in fib_dump_info()
1038 nla_put_u32(skb, RTA_FLOW, fi->fib_nh[0].nh_tclassid)) in fib_dump_info()
1117 struct fib_nh *nh; in fib_sync_down_dev()
1179 if (!next_fi->fib_nh[0].nh_gw || in fib_select_default()
1180 next_fi->fib_nh[0].nh_scope != RT_SCOPE_LINK) in fib_select_default()
1228 struct fib_nh *nh; in fib_sync_up()