diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2015-03-07 16:23:23 -0600 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-08 19:30:06 -0400 |
commit | aa7da9375677d31dd53ed6253f55cb19e3075811 (patch) | |
tree | ac11af07cf40a14c90b6bbd00c3c795719516992 /net/mpls/af_mpls.c | |
parent | 0f7bbd5805e3d32e3ee58d1a802a8404a724f2fc (diff) | |
download | lwn-aa7da9375677d31dd53ed6253f55cb19e3075811.tar.gz lwn-aa7da9375677d31dd53ed6253f55cb19e3075811.zip |
mpls: Correct the ttl decrement.
According to RFC3032 section 2.4.2 packets with an outgoing
ttl of 0 MUST NOT be forwarded. According to section 2.4.1
an outgoing TTL of 0 comes from an incomming TTL <= 1.
Therefore any packets that is received with a ttl <= 1 should
not have it's ttl decremented and forwarded.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mpls/af_mpls.c')
-rw-r--r-- | net/mpls/af_mpls.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 5c99e3fc1b72..e120074157de 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c @@ -162,7 +162,7 @@ static int mpls_forward(struct sk_buff *skb, struct net_device *dev, skb_forward_csum(skb); /* Verify ttl is valid */ - if (dec.ttl <= 2) + if (dec.ttl <= 1) goto drop; dec.ttl -= 1; |