[IPV6]: Support Source Address Selection API (RFC5014).
[safe/jmp/linux-2.6] / net / ipv6 / ip6_output.c
index 2a4f08c..d34aa61 100644 (file)
@@ -920,7 +920,9 @@ static int ip6_dst_lookup_tail(struct sock *sk,
 
        if (ipv6_addr_any(&fl->fl6_src)) {
                err = ipv6_dev_get_saddr(ip6_dst_idev(*dst)->dev,
-                                        &fl->fl6_dst, &fl->fl6_src);
+                                        &fl->fl6_dst,
+                                        sk ? inet6_sk(sk)->srcprefs : 0,
+                                        &fl->fl6_src);
                if (err)
                        goto out_err_release;
        }