diff mbox

[net-next,1/1] net: ppp: reset nextseq counter when enabling SC_MULTILINK

Message ID 53C4F987.1040401@kristov.de
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Christoph Schulz July 15, 2014, 9:51 a.m. UTC
From: Christoph Schulz <develop@kristov.de>

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: Christoph Schulz <develop@kristov.de>
---
Note that the stock pppd does not yet support multilink PPP over a
demand-dialled interface. I used a locally patched version for testing.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller July 16, 2014, 5:52 a.m. UTC | #1
From: Christoph Schulz <develop@kristov.de>
Date: Tue, 15 Jul 2014 11:51:03 +0200

> From: Christoph Schulz <develop@kristov.de>
> 
> 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: Christoph Schulz <develop@kristov.de>
> ---
> Note that the stock pppd does not yet support multilink PPP over a
> demand-dialled interface. I used a locally patched version for testing.

Applied, thanks Christoph.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Schulz July 16, 2014, 9:19 p.m. UTC | #2
Hello!

David Miller schrieb am Tue, 15 Jul 2014 22:52:59 -0700 (PDT):

> Applied, thanks Christoph.

Sorry, the extra code has to be surrounded by

#ifdef CONFIG_PPP_MULTILINK
...
#endif

I will submit an updated patch ASAP.


Best regards,

Christoph Schulz

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Schulz July 16, 2014, 9:24 p.m. UTC | #3
Hello!

Christoph Schulz schrieb am Wed, 16 Jul 2014 23:19:50 +0200:

> I will submit an updated patch ASAP.

Sorry, how should I do it? Based on the *current* state of net-next,  
i.e. based on my original (but incomplete) patch? Or based on the  
net-next tree before my original patch was included?


Thank you in advance,

Christoph Schulz

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller July 16, 2014, 9:27 p.m. UTC | #4
From: Christoph Schulz <develop@kristov.de>
Date: Wed, 16 Jul 2014 23:19:50 +0200

> I will submit an updated patch ASAP.

"updated patch" makes no sense in this context, your patch has been applied
already.  Therefore you have to submit a relative patch that fixes the problem.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller July 16, 2014, 9:27 p.m. UTC | #5
From: Christoph Schulz <develop@kristov.de>
Date: Wed, 16 Jul 2014 23:24:43 +0200

> Sorry, how should I do it? Based on the *current* state of net-next,
> i.e. based on my original (but incomplete) patch? Or based on the
> net-next tree before my original patch was included?

Based upon the current state of net-next, you're sending me a bug
fix for the change you made.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Schulz July 16, 2014, 9:48 p.m. UTC | #6
Hello!

David Miller schrieb am Wed, 16 Jul 2014 14:27:54 -0700 (PDT):

>> Sorry, how should I do it? Based on the *current* state of net-next,
>> i.e. based on my original (but incomplete) patch? Or based on the
>> net-next tree before my original patch was included?
>
> Based upon the current state of net-next, you're sending me a bug
> fix for the change you made.

Thank you for the clarification. I just sent the bugfix patch to the  
mailing list. Sorry for my first erroneous patch -- I have never  
tested the patch without CONFIG_PPP_MULTILINK being defined. At least  
I learned something for the future...


Regards,

Christoph Schulz

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index 91d6c12..a0aae43 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -661,6 +661,8 @@  static long ppp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 			break;
 		ppp_lock(ppp);
 		cflags = ppp->flags & ~val;
+		if (!(ppp->flags & SC_MULTILINK) && (val & SC_MULTILINK))
+			ppp->nextseq = 0;
 		ppp->flags = val & SC_FLAG_BITS;
 		ppp_unlock(ppp);
 		if (cflags & SC_CCP_OPEN)