Lines Matching refs:fld

326 		if (compare_keys(&rth->fld, &rt->fld)) {  in dn_insert_route()
947 struct flowidn fld = { in dn_route_output_slow() local
1018 if (!fld.daddr) { in dn_route_output_slow()
1019 fld.daddr = fld.saddr; in dn_route_output_slow()
1029 if (!fld.daddr) { in dn_route_output_slow()
1030 fld.daddr = in dn_route_output_slow()
1031 fld.saddr = dnet_select_source(dev_out, 0, in dn_route_output_slow()
1033 if (!fld.daddr) in dn_route_output_slow()
1036 fld.flowidn_oif = LOOPBACK_IFINDEX; in dn_route_output_slow()
1045 le16_to_cpu(fld.daddr), le16_to_cpu(fld.saddr), in dn_route_output_slow()
1046 fld.flowidn_oif, try_hard); in dn_route_output_slow()
1054 if (try_hard || (err = dn_fib_lookup(&fld, &res)) != 0) { in dn_route_output_slow()
1069 neigh = neigh_lookup_nodev(&dn_neigh_table, &init_net, &fld.daddr); in dn_route_output_slow()
1081 if (dn_dev_islocal(neigh->dev, fld.daddr)) { in dn_route_output_slow()
1103 if (dn_dev_islocal(dev_out, fld.daddr)) { in dn_route_output_slow()
1119 gateway = fld.daddr; in dn_route_output_slow()
1120 if (fld.saddr == 0) { in dn_route_output_slow()
1121 fld.saddr = dnet_select_source(dev_out, gateway, in dn_route_output_slow()
1125 if (fld.saddr == 0 && res.type != RTN_LOCAL) in dn_route_output_slow()
1128 fld.flowidn_oif = dev_out->ifindex; in dn_route_output_slow()
1137 if (!fld.saddr) in dn_route_output_slow()
1138 fld.saddr = fld.daddr; in dn_route_output_slow()
1145 fld.flowidn_oif = dev_out->ifindex; in dn_route_output_slow()
1152 if (res.fi->fib_nhs > 1 && fld.flowidn_oif == 0) in dn_route_output_slow()
1153 dn_fib_select_multipath(&fld, &res); in dn_route_output_slow()
1160 if (!fld.saddr) in dn_route_output_slow()
1161 fld.saddr = DN_FIB_RES_PREFSRC(res); in dn_route_output_slow()
1167 fld.flowidn_oif = dev_out->ifindex; in dn_route_output_slow()
1179 memset(&rt->fld, 0, sizeof(rt->fld)); in dn_route_output_slow()
1180 rt->fld.saddr = oldflp->saddr; in dn_route_output_slow()
1181 rt->fld.daddr = oldflp->daddr; in dn_route_output_slow()
1182 rt->fld.flowidn_oif = oldflp->flowidn_oif; in dn_route_output_slow()
1183 rt->fld.flowidn_iif = 0; in dn_route_output_slow()
1184 rt->fld.flowidn_mark = oldflp->flowidn_mark; in dn_route_output_slow()
1186 rt->rt_saddr = fld.saddr; in dn_route_output_slow()
1187 rt->rt_daddr = fld.daddr; in dn_route_output_slow()
1188 rt->rt_gateway = gateway ? gateway : fld.daddr; in dn_route_output_slow()
1189 rt->rt_local_src = fld.saddr; in dn_route_output_slow()
1191 rt->rt_dst_map = fld.daddr; in dn_route_output_slow()
1192 rt->rt_src_map = fld.saddr; in dn_route_output_slow()
1208 hash = dn_hash(rt->fld.saddr, rt->fld.daddr); in dn_route_output_slow()
1249 if ((flp->daddr == rt->fld.daddr) && in __dn_route_output_key()
1250 (flp->saddr == rt->fld.saddr) && in __dn_route_output_key()
1251 (flp->flowidn_mark == rt->fld.flowidn_mark) && in __dn_route_output_key()
1253 (rt->fld.flowidn_oif == flp->flowidn_oif)) { in __dn_route_output_key()
1310 struct flowidn fld = { in dn_route_input_slow() local
1327 if (fld.saddr == 0) in dn_route_input_slow()
1341 err = dn_fib_lookup(&fld, &res); in dn_route_input_slow()
1353 __le16 src_map = fld.saddr; in dn_route_input_slow()
1364 src_map = fld.saddr; /* no NAT support for now */ in dn_route_input_slow()
1368 fld.daddr = dn_fib_rules_map_destination(fld.daddr, &res); in dn_route_input_slow()
1371 if (dn_fib_lookup(&fld, &res)) in dn_route_input_slow()
1377 gateway = fld.daddr; in dn_route_input_slow()
1379 fld.saddr = src_map; in dn_route_input_slow()
1393 if (res.fi->fib_nhs > 1 && fld.flowidn_oif == 0) in dn_route_input_slow()
1394 dn_fib_select_multipath(&fld, &res); in dn_route_input_slow()
1412 fld.saddr = cb->dst; in dn_route_input_slow()
1413 fld.daddr = cb->src; in dn_route_input_slow()
1445 memset(&rt->fld, 0, sizeof(rt->fld)); in dn_route_input_slow()
1446 rt->rt_saddr = fld.saddr; in dn_route_input_slow()
1447 rt->rt_daddr = fld.daddr; in dn_route_input_slow()
1448 rt->rt_gateway = fld.daddr; in dn_route_input_slow()
1453 rt->rt_dst_map = fld.daddr; in dn_route_input_slow()
1454 rt->rt_src_map = fld.saddr; in dn_route_input_slow()
1456 rt->fld.saddr = cb->src; in dn_route_input_slow()
1457 rt->fld.daddr = cb->dst; in dn_route_input_slow()
1458 rt->fld.flowidn_oif = 0; in dn_route_input_slow()
1459 rt->fld.flowidn_iif = in_dev->ifindex; in dn_route_input_slow()
1460 rt->fld.flowidn_mark = fld.flowidn_mark; in dn_route_input_slow()
1486 hash = dn_hash(rt->fld.saddr, rt->fld.daddr); in dn_route_input_slow()
1527 if ((rt->fld.saddr == cb->src) && in dn_route_input()
1528 (rt->fld.daddr == cb->dst) && in dn_route_input()
1529 (rt->fld.flowidn_oif == 0) && in dn_route_input()
1530 (rt->fld.flowidn_mark == skb->mark) && in dn_route_input()
1531 (rt->fld.flowidn_iif == cb->iif)) { in dn_route_input()
1573 if (rt->fld.saddr) { in dn_rt_fill_info()
1575 if (nla_put_le16(skb, RTA_SRC, rt->fld.saddr) < 0) in dn_rt_fill_info()
1603 nla_put_u32(skb, RTA_IIF, rt->fld.flowidn_iif) < 0) in dn_rt_fill_info()
1640 struct flowidn fld; in dn_cache_getroute() local
1651 memset(&fld, 0, sizeof(fld)); in dn_cache_getroute()
1652 fld.flowidn_proto = DNPROTO_NSP; in dn_cache_getroute()
1661 fld.saddr = nla_get_le16(tb[RTA_SRC]); in dn_cache_getroute()
1664 fld.daddr = nla_get_le16(tb[RTA_DST]); in dn_cache_getroute()
1667 fld.flowidn_iif = nla_get_u32(tb[RTA_IIF]); in dn_cache_getroute()
1669 if (fld.flowidn_iif) { in dn_cache_getroute()
1671 dev = __dev_get_by_index(&init_net, fld.flowidn_iif); in dn_cache_getroute()
1678 cb->src = fld.saddr; in dn_cache_getroute()
1679 cb->dst = fld.daddr; in dn_cache_getroute()
1689 fld.flowidn_oif = nla_get_u32(tb[RTA_OIF]); in dn_cache_getroute()
1691 err = dn_route_output_key((struct dst_entry **)&rt, &fld, 0); in dn_cache_getroute()