Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec...
[sfrench/cifs-2.6.git] / net / ipv4 / xfrm4_policy.c
index 414ab0420604a9dc66b973d705f281314bc48b99..cdef8f9a3b0166942c3bad33b649dffa97578ca8 100644 (file)
@@ -85,8 +85,11 @@ static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev,
        xdst->u.rt.rt_flags = rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST |
                                              RTCF_LOCAL);
        xdst->u.rt.rt_type = rt->rt_type;
-       xdst->u.rt.rt_gateway = rt->rt_gateway;
-       xdst->u.rt.rt_uses_gateway = rt->rt_uses_gateway;
+       xdst->u.rt.rt_gw_family = rt->rt_gw_family;
+       if (rt->rt_gw_family == AF_INET)
+               xdst->u.rt.rt_gw4 = rt->rt_gw4;
+       else if (rt->rt_gw_family == AF_INET6)
+               xdst->u.rt.rt_gw6 = rt->rt_gw6;
        xdst->u.rt.rt_pmtu = rt->rt_pmtu;
        xdst->u.rt.rt_mtu_locked = rt->rt_mtu_locked;
        INIT_LIST_HEAD(&xdst->u.rt.rt_uncached);