diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-01 14:22:19 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-01 14:22:19 -0800 |
commit | 5df65e5567a497a28067019b8ff08f98fb026629 (patch) | |
tree | 776a8a2cfa2cf5962ea0d53dea8c6c8360a0c58d /include/net | |
parent | 420d44daa7aa1cc847e9e527f0a27a9ce61768ca (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 'include/net')
-rw-r--r-- | include/net/flow.h | 1 | ||||
-rw-r--r-- | include/net/route.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/flow.h b/include/net/flow.h index f2080e65276d..fd0413873b8e 100644 --- a/include/net/flow.h +++ b/include/net/flow.h @@ -50,6 +50,7 @@ struct flowi { __u8 flags; #define FLOWI_FLAG_ANYSRC 0x01 #define FLOWI_FLAG_PRECOW_METRICS 0x02 +#define FLOWI_FLAG_CAN_SLEEP 0x04 union { struct { __be16 sport; diff --git a/include/net/route.h b/include/net/route.h index 6de4333d6002..1be5c05a0905 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -185,6 +185,8 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst, fl.flags |= FLOWI_FLAG_ANYSRC; if (protocol == IPPROTO_TCP) fl.flags |= FLOWI_FLAG_PRECOW_METRICS; + if (can_sleep) + fl.flags |= FLOWI_FLAG_CAN_SLEEP; if (!dst || !src) { err = __ip_route_output_key(net, rp, &fl); |