aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_output.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-01 17:22:19 -0500
committerDavid S. Miller <davem@davemloft.net>2011-03-01 17:22:19 -0500
commit5df65e5567a497a28067019b8ff08f98fb026629 (patch)
tree776a8a2cfa2cf5962ea0d53dea8c6c8360a0c58d /net/ipv6/ip6_output.c
parent420d44daa7aa1cc847e9e527f0a27a9ce61768ca (diff)
net: Add FLOWI_FLAG_CAN_SLEEP.
And set is in contexts where the route resolution can sleep. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r--net/ipv6/ip6_output.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 28209b2d254d..77b1942f335b 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1026,6 +1026,7 @@ struct dst_entry *ip6_dst_lookup_flow(struct sock *sk, struct flowi *fl,
1026 if (final_dst) 1026 if (final_dst)
1027 ipv6_addr_copy(&fl->fl6_dst, final_dst); 1027 ipv6_addr_copy(&fl->fl6_dst, final_dst);
1028 if (want_blackhole) { 1028 if (want_blackhole) {
1029 fl->flags |= FLOWI_FLAG_CAN_SLEEP;
1029 err = __xfrm_lookup(sock_net(sk), &dst, fl, sk, XFRM_LOOKUP_WAIT); 1030 err = __xfrm_lookup(sock_net(sk), &dst, fl, sk, XFRM_LOOKUP_WAIT);
1030 if (err == -EREMOTE) 1031 if (err == -EREMOTE)
1031 err = ip6_dst_blackhole(sk, &dst, fl); 1032 err = ip6_dst_blackhole(sk, &dst, fl);
@@ -1070,6 +1071,7 @@ struct dst_entry *ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi *fl,
1070 if (final_dst) 1071 if (final_dst)
1071 ipv6_addr_copy(&fl->fl6_dst, final_dst); 1072 ipv6_addr_copy(&fl->fl6_dst, final_dst);
1072 if (want_blackhole) { 1073 if (want_blackhole) {
1074 fl->flags |= FLOWI_FLAG_CAN_SLEEP;
1073 err = __xfrm_lookup(sock_net(sk), &dst, fl, sk, XFRM_LOOKUP_WAIT); 1075 err = __xfrm_lookup(sock_net(sk), &dst, fl, sk, XFRM_LOOKUP_WAIT);
1074 if (err == -EREMOTE) 1076 if (err == -EREMOTE)
1075 err = ip6_dst_blackhole(sk, &dst, fl); 1077 err = ip6_dst_blackhole(sk, &dst, fl);