Lines Matching refs:fld

344 		if (compare_keys(&rth->fld, &rt->fld)) {
971 struct flowidn fld = {
1042 if (!fld.daddr) {
1043 fld.daddr = fld.saddr;
1050 if (!fld.daddr) {
1051 fld.daddr =
1052 fld.saddr = dnet_select_source(dev_out, 0,
1054 if (!fld.daddr)
1057 fld.flowidn_oif = LOOPBACK_IFINDEX;
1066 le16_to_cpu(fld.daddr), le16_to_cpu(fld.saddr),
1067 fld.flowidn_oif, try_hard);
1075 if (try_hard || (err = dn_fib_lookup(&fld, &res)) != 0) {
1090 neigh = neigh_lookup_nodev(&dn_neigh_table, &init_net, &fld.daddr);
1102 if (dn_dev_islocal(neigh->dev, fld.daddr)) {
1122 if (dn_dev_islocal(dev_out, fld.daddr)) {
1138 gateway = fld.daddr;
1139 if (fld.saddr == 0) {
1140 fld.saddr = dnet_select_source(dev_out, gateway,
1144 if (fld.saddr == 0 && res.type != RTN_LOCAL)
1147 fld.flowidn_oif = dev_out->ifindex;
1156 if (!fld.saddr)
1157 fld.saddr = fld.daddr;
1162 fld.flowidn_oif = dev_out->ifindex;
1169 if (res.fi->fib_nhs > 1 && fld.flowidn_oif == 0)
1170 dn_fib_select_multipath(&fld, &res);
1177 if (!fld.saddr)
1178 fld.saddr = DN_FIB_RES_PREFSRC(res);
1184 fld.flowidn_oif = dev_out->ifindex;
1195 memset(&rt->fld, 0, sizeof(rt->fld));
1196 rt->fld.saddr = oldflp->saddr;
1197 rt->fld.daddr = oldflp->daddr;
1198 rt->fld.flowidn_oif = oldflp->flowidn_oif;
1199 rt->fld.flowidn_iif = 0;
1200 rt->fld.flowidn_mark = oldflp->flowidn_mark;
1202 rt->rt_saddr = fld.saddr;
1203 rt->rt_daddr = fld.daddr;
1204 rt->rt_gateway = gateway ? gateway : fld.daddr;
1205 rt->rt_local_src = fld.saddr;
1207 rt->rt_dst_map = fld.daddr;
1208 rt->rt_src_map = fld.saddr;
1224 hash = dn_hash(rt->fld.saddr, rt->fld.daddr);
1264 if ((flp->daddr == rt->fld.daddr) &&
1265 (flp->saddr == rt->fld.saddr) &&
1266 (flp->flowidn_mark == rt->fld.flowidn_mark) &&
1268 (rt->fld.flowidn_oif == flp->flowidn_oif)) {
1325 struct flowidn fld = {
1342 if (fld.saddr == 0)
1356 err = dn_fib_lookup(&fld, &res);
1368 __le16 src_map = fld.saddr;
1379 src_map = fld.saddr; /* no NAT support for now */
1383 fld.daddr = dn_fib_rules_map_destination(fld.daddr, &res);
1386 if (dn_fib_lookup(&fld, &res))
1392 gateway = fld.daddr;
1394 fld.saddr = src_map;
1408 if (res.fi->fib_nhs > 1 && fld.flowidn_oif == 0)
1409 dn_fib_select_multipath(&fld, &res);
1427 fld.saddr = cb->dst;
1428 fld.daddr = cb->src;
1459 memset(&rt->fld, 0, sizeof(rt->fld));
1460 rt->rt_saddr = fld.saddr;
1461 rt->rt_daddr = fld.daddr;
1462 rt->rt_gateway = fld.daddr;
1467 rt->rt_dst_map = fld.daddr;
1468 rt->rt_src_map = fld.saddr;
1470 rt->fld.saddr = cb->src;
1471 rt->fld.daddr = cb->dst;
1472 rt->fld.flowidn_oif = 0;
1473 rt->fld.flowidn_iif = in_dev->ifindex;
1474 rt->fld.flowidn_mark = fld.flowidn_mark;
1500 hash = dn_hash(rt->fld.saddr, rt->fld.daddr);
1540 if ((rt->fld.saddr == cb->src) &&
1541 (rt->fld.daddr == cb->dst) &&
1542 (rt->fld.flowidn_oif == 0) &&
1543 (rt->fld.flowidn_mark == skb->mark) &&
1544 (rt->fld.flowidn_iif == cb->iif)) {
1586 if (rt->fld.saddr) {
1588 if (nla_put_le16(skb, RTA_SRC, rt->fld.saddr) < 0)
1616 nla_put_u32(skb, RTA_IIF, rt->fld.flowidn_iif) < 0)
1651 struct flowidn fld;
1661 memset(&fld, 0, sizeof(fld));
1662 fld.flowidn_proto = DNPROTO_NSP;
1671 fld.saddr = nla_get_le16(tb[RTA_SRC]);
1674 fld.daddr = nla_get_le16(tb[RTA_DST]);
1677 fld.flowidn_iif = nla_get_u32(tb[RTA_IIF]);
1679 if (fld.flowidn_iif) {
1681 dev = __dev_get_by_index(&init_net, fld.flowidn_iif);
1688 cb->src = fld.saddr;
1689 cb->dst = fld.daddr;
1699 fld.flowidn_oif = nla_get_u32(tb[RTA_OIF]);
1701 err = dn_route_output_key((struct dst_entry **)&rt, &fld, 0);