Commit d762d038 authored by Christoph Schulz's avatar Christoph Schulz Committed by David S. Miller

net: ppp: reset nextseq counter when enabling SC_MULTILINK

If using a demand-dialled PPP unit for a PPP multilink master, the pppd
daemon needs to reset the sequence counter between two connections. This
allows the daemon to reuse the PPP unit instead of destroying and recreating
it. As there is no API to reset the counter, this patch resets the counter
whenever the SC_MULTILINK flag is set.
Signed-off-by: default avatarChristoph Schulz <develop@kristov.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c8ad0f29
...@@ -661,6 +661,8 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -661,6 +661,8 @@ static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
break; break;
ppp_lock(ppp); ppp_lock(ppp);
cflags = ppp->flags & ~val; cflags = ppp->flags & ~val;
if (!(ppp->flags & SC_MULTILINK) && (val & SC_MULTILINK))
ppp->nextseq = 0;
ppp->flags = val & SC_FLAG_BITS; ppp->flags = val & SC_FLAG_BITS;
ppp_unlock(ppp); ppp_unlock(ppp);
if (cflags & SC_CCP_OPEN) if (cflags & SC_CCP_OPEN)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment