--- net-2.6/net/ipv4/multipath_rr.c 2007-02-10 13:01:22.000000000 +0100 +++ net-2.6-ed/net/ipv4/multipath_rr.c 2007-02-10 13:01:47.000000000 +0100 @@ -58,7 +58,7 @@ static void rr_select_route(const struct */ result = NULL; for (nh = rcu_dereference(first); nh; - nh = rcu_dereference(nh->u.rt_next)) { + nh = rcu_dereference(nh->u.dst.rt_next)) { if ((nh->u.dst.flags & DST_BALANCED) != 0 && multipath_comparekeys(&nh->fl, flp)) { nh->u.dst.lastuse = jiffies; --- net-2.6/net/ipv4/multipath_random.c 2007-02-10 13:04:28.000000000 +0100 +++ net-2.6-ed/net/ipv4/multipath_random.c 2007-02-10 13:04:47.000000000 +0100 @@ -74,7 +74,7 @@ static void random_select_route(const st /* count all candidate */ for (rt = rcu_dereference(first); rt; - rt = rcu_dereference(rt->u.rt_next)) { + rt = rcu_dereference(rt->u.dst.rt_next)) { if ((rt->u.dst.flags & DST_BALANCED) != 0 && multipath_comparekeys(&rt->fl, flp)) ++candidate_count; @@ -90,7 +90,7 @@ static void random_select_route(const st /* find chosen candidate and adjust GC data for all candidates * to ensure they stay in cache */ - for (rt = first; rt; rt = rt->u.rt_next) { + for (rt = first; rt; rt = rt->u.dst.rt_next) { if ((rt->u.dst.flags & DST_BALANCED) != 0 && multipath_comparekeys(&rt->fl, flp)) { rt->u.dst.lastuse = jiffies; --- net-2.6/net/ipv4/multipath_wrandom.c 2007-02-10 13:05:54.000000000 +0100 +++ net-2.6-ed/net/ipv4/multipath_wrandom.c 2007-02-10 13:06:16.000000000 +0100 @@ -167,7 +167,7 @@ static void wrandom_select_route(const s /* collect all candidates and identify their weights */ for (rt = rcu_dereference(first); rt; - rt = rcu_dereference(rt->u.rt_next)) { + rt = rcu_dereference(rt->u.dst.rt_next)) { if ((rt->u.dst.flags & DST_BALANCED) != 0 && multipath_comparekeys(&rt->fl, flp)) { struct multipath_candidate* mpc = --- net-2.6/net/ipv4/multipath_drr.c 2007-02-10 13:06:52.000000000 +0100 +++ net-2.6-ed/net/ipv4/multipath_drr.c 2007-02-10 13:07:04.000000000 +0100 @@ -143,7 +143,7 @@ static void drr_select_route(const struc result = NULL; cur_min = NULL; for (nh = rcu_dereference(first); nh; - nh = rcu_dereference(nh->u.rt_next)) { + nh = rcu_dereference(nh->u.dst.rt_next)) { if ((nh->u.dst.flags & DST_BALANCED) != 0 && multipath_comparekeys(&nh->fl, flp)) { int nh_ifidx = nh->u.dst.dev->ifindex;