diff options
author | Ulrich Weber <uweber@astaro.com> | 2010-09-22 06:45:11 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-22 11:00:15 -0800 |
commit | badaad1d7392eebf646b2e2d4dfe2586e40a8f18 (patch) | |
tree | 644031e52fd286a36f4b5cadef6608d99d329136 /net | |
parent | e26158f99c3c79181eb3e314e898079565cc75fd (diff) |
xfrm4: strip ECN bits from tos field
[ Upstream commit 94e2238969e89f5112297ad2a00103089dde7e8f ]
otherwise ECT(1) bit will get interpreted as RTO_ONLINK
and routing will fail with XfrmOutBundleGenError.
Signed-off-by: Ulrich Weber <uweber@astaro.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/xfrm4_policy.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index 23883a48ebf..ce1e1b5fdd5 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c @@ -61,7 +61,7 @@ static int xfrm4_get_saddr(struct net *net, static int xfrm4_get_tos(struct flowi *fl) { - return fl->fl4_tos; + return IPTOS_RT_MASK & fl->fl4_tos; /* Strip ECN bits */ } static int xfrm4_init_path(struct xfrm_dst *path, struct dst_entry *dst, |