summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorUlrich Weber <uweber@astaro.com>2010-09-22 08:45:11 +0200
committerDavid S. Miller <davem@davemloft.net>2010-09-23 05:25:48 +0200
commit94e2238969e89f5112297ad2a00103089dde7e8f (patch)
tree95a65a101132a512b70918cdecfd74d209a47862 /net
parentatl1: zero out CMB and SBM in atl1_free_ring_resources (diff)
downloadlinux-94e2238969e89f5112297ad2a00103089dde7e8f.tar.xz
linux-94e2238969e89f5112297ad2a00103089dde7e8f.zip
xfrm4: strip ECN bits from tos field
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>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/xfrm4_policy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c
index 869078d4eeb9..a580349f0b8a 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,