l2tp: fix data packet sequence number handling
authorJames Chapman <jchapman@katalix.com>
Wed, 9 May 2012 23:43:09 +0000 (23:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 May 2012 03:27:34 +0000 (23:27 -0400)
If enabled, L2TP data packets have sequence numbers which a receiver
can use to drop out of sequence frames or try to reorder them. The
first frame has sequence number 0, but the L2TP code currently expects
it to be 1. This results in the first data frame being handled as out
of sequence.

This one-line patch fixes the problem.

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_core.c

index d1ab3a236cca50cc249be5665441776b0323fd8d..0d6aedc3a0ce40e502dea3f7b33f64735b4b797b 100644 (file)
@@ -1762,7 +1762,7 @@ struct l2tp_session *l2tp_session_create(int priv_size, struct l2tp_tunnel *tunn
 
                session->session_id = session_id;
                session->peer_session_id = peer_session_id;
-               session->nr = 1;
+               session->nr = 0;
 
                sprintf(&session->name[0], "sess %u/%u",
                        tunnel->tunnel_id, session->session_id);