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>
This commit is contained in:
Eric W. Biederman 2015-03-07 16:23:23 -06:00 committed by David S. Miller
parent 0f7bbd5805
commit aa7da93756

View File

@ -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;