Lines Matching refs:fld
328 if (compare_keys(&rth->fld, &rt->fld)) { in dn_insert_route()
951 struct flowidn fld = { in dn_route_output_slow() local
1022 if (!fld.daddr) { in dn_route_output_slow()
1023 fld.daddr = fld.saddr; in dn_route_output_slow()
1033 if (!fld.daddr) { in dn_route_output_slow()
1034 fld.daddr = in dn_route_output_slow()
1035 fld.saddr = dnet_select_source(dev_out, 0, in dn_route_output_slow()
1037 if (!fld.daddr) in dn_route_output_slow()
1040 fld.flowidn_oif = LOOPBACK_IFINDEX; in dn_route_output_slow()
1049 le16_to_cpu(fld.daddr), le16_to_cpu(fld.saddr), in dn_route_output_slow()
1050 fld.flowidn_oif, try_hard); in dn_route_output_slow()
1058 if (try_hard || (err = dn_fib_lookup(&fld, &res)) != 0) { in dn_route_output_slow()
1073 neigh = neigh_lookup_nodev(&dn_neigh_table, &init_net, &fld.daddr); in dn_route_output_slow()
1085 if (dn_dev_islocal(neigh->dev, fld.daddr)) { in dn_route_output_slow()
1107 if (dn_dev_islocal(dev_out, fld.daddr)) { in dn_route_output_slow()
1123 gateway = fld.daddr; in dn_route_output_slow()
1124 if (fld.saddr == 0) { in dn_route_output_slow()
1125 fld.saddr = dnet_select_source(dev_out, gateway, in dn_route_output_slow()
1129 if (fld.saddr == 0 && res.type != RTN_LOCAL) in dn_route_output_slow()
1132 fld.flowidn_oif = dev_out->ifindex; in dn_route_output_slow()
1141 if (!fld.saddr) in dn_route_output_slow()
1142 fld.saddr = fld.daddr; in dn_route_output_slow()
1149 fld.flowidn_oif = dev_out->ifindex; in dn_route_output_slow()
1156 if (res.fi->fib_nhs > 1 && fld.flowidn_oif == 0) in dn_route_output_slow()
1157 dn_fib_select_multipath(&fld, &res); in dn_route_output_slow()
1164 if (!fld.saddr) in dn_route_output_slow()
1165 fld.saddr = DN_FIB_RES_PREFSRC(res); in dn_route_output_slow()
1171 fld.flowidn_oif = dev_out->ifindex; in dn_route_output_slow()
1183 memset(&rt->fld, 0, sizeof(rt->fld)); in dn_route_output_slow()
1184 rt->fld.saddr = oldflp->saddr; in dn_route_output_slow()
1185 rt->fld.daddr = oldflp->daddr; in dn_route_output_slow()
1186 rt->fld.flowidn_oif = oldflp->flowidn_oif; in dn_route_output_slow()
1187 rt->fld.flowidn_iif = 0; in dn_route_output_slow()
1188 rt->fld.flowidn_mark = oldflp->flowidn_mark; in dn_route_output_slow()
1190 rt->rt_saddr = fld.saddr; in dn_route_output_slow()
1191 rt->rt_daddr = fld.daddr; in dn_route_output_slow()
1192 rt->rt_gateway = gateway ? gateway : fld.daddr; in dn_route_output_slow()
1193 rt->rt_local_src = fld.saddr; in dn_route_output_slow()
1195 rt->rt_dst_map = fld.daddr; in dn_route_output_slow()
1196 rt->rt_src_map = fld.saddr; in dn_route_output_slow()
1212 hash = dn_hash(rt->fld.saddr, rt->fld.daddr); in dn_route_output_slow()
1253 if ((flp->daddr == rt->fld.daddr) && in __dn_route_output_key()
1254 (flp->saddr == rt->fld.saddr) && in __dn_route_output_key()
1255 (flp->flowidn_mark == rt->fld.flowidn_mark) && in __dn_route_output_key()
1257 (rt->fld.flowidn_oif == flp->flowidn_oif)) { in __dn_route_output_key()
1314 struct flowidn fld = { in dn_route_input_slow() local
1331 if (fld.saddr == 0) in dn_route_input_slow()
1345 err = dn_fib_lookup(&fld, &res); in dn_route_input_slow()
1357 __le16 src_map = fld.saddr; in dn_route_input_slow()
1368 src_map = fld.saddr; /* no NAT support for now */ in dn_route_input_slow()
1372 fld.daddr = dn_fib_rules_map_destination(fld.daddr, &res); in dn_route_input_slow()
1375 if (dn_fib_lookup(&fld, &res)) in dn_route_input_slow()
1381 gateway = fld.daddr; in dn_route_input_slow()
1383 fld.saddr = src_map; in dn_route_input_slow()
1397 if (res.fi->fib_nhs > 1 && fld.flowidn_oif == 0) in dn_route_input_slow()
1398 dn_fib_select_multipath(&fld, &res); in dn_route_input_slow()
1416 fld.saddr = cb->dst; in dn_route_input_slow()
1417 fld.daddr = cb->src; in dn_route_input_slow()
1449 memset(&rt->fld, 0, sizeof(rt->fld)); in dn_route_input_slow()
1450 rt->rt_saddr = fld.saddr; in dn_route_input_slow()
1451 rt->rt_daddr = fld.daddr; in dn_route_input_slow()
1452 rt->rt_gateway = fld.daddr; in dn_route_input_slow()
1457 rt->rt_dst_map = fld.daddr; in dn_route_input_slow()
1458 rt->rt_src_map = fld.saddr; in dn_route_input_slow()
1460 rt->fld.saddr = cb->src; in dn_route_input_slow()
1461 rt->fld.daddr = cb->dst; in dn_route_input_slow()
1462 rt->fld.flowidn_oif = 0; in dn_route_input_slow()
1463 rt->fld.flowidn_iif = in_dev->ifindex; in dn_route_input_slow()
1464 rt->fld.flowidn_mark = fld.flowidn_mark; in dn_route_input_slow()
1490 hash = dn_hash(rt->fld.saddr, rt->fld.daddr); in dn_route_input_slow()
1531 if ((rt->fld.saddr == cb->src) && in dn_route_input()
1532 (rt->fld.daddr == cb->dst) && in dn_route_input()
1533 (rt->fld.flowidn_oif == 0) && in dn_route_input()
1534 (rt->fld.flowidn_mark == skb->mark) && in dn_route_input()
1535 (rt->fld.flowidn_iif == cb->iif)) { in dn_route_input()
1577 if (rt->fld.saddr) { in dn_rt_fill_info()
1579 if (nla_put_le16(skb, RTA_SRC, rt->fld.saddr) < 0) in dn_rt_fill_info()
1607 nla_put_u32(skb, RTA_IIF, rt->fld.flowidn_iif) < 0) in dn_rt_fill_info()
1644 struct flowidn fld; in dn_cache_getroute() local
1655 memset(&fld, 0, sizeof(fld)); in dn_cache_getroute()
1656 fld.flowidn_proto = DNPROTO_NSP; in dn_cache_getroute()
1665 fld.saddr = nla_get_le16(tb[RTA_SRC]); in dn_cache_getroute()
1668 fld.daddr = nla_get_le16(tb[RTA_DST]); in dn_cache_getroute()
1671 fld.flowidn_iif = nla_get_u32(tb[RTA_IIF]); in dn_cache_getroute()
1673 if (fld.flowidn_iif) { in dn_cache_getroute()
1675 dev = __dev_get_by_index(&init_net, fld.flowidn_iif); in dn_cache_getroute()
1682 cb->src = fld.saddr; in dn_cache_getroute()
1683 cb->dst = fld.daddr; in dn_cache_getroute()
1693 fld.flowidn_oif = nla_get_u32(tb[RTA_OIF]); in dn_cache_getroute()
1695 err = dn_route_output_key((struct dst_entry **)&rt, &fld, 0); in dn_cache_getroute()