All of lore.kernel.org
 help / color / mirror / Atom feed
* multilink with nodetach [PATCH]
@ 2010-08-24  9:07 Stephen Marron
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Marron @ 2010-08-24  9:07 UTC (permalink / raw)
  To: linux-ppp

Hi

This bug has been Reported in the Debian BTS as bug 538107

	http://bugs.debian.org/578070

If pppd is used with l2tpd (nodetach) in a multilink situation then this
feature of pppd causes problems

	MULTILINK
	If the first link terminates (for example, because of  a
	hangup or  a received  LCP  terminate-request)  the  bundle  is
	not destroyed unless there are no other links remaining in the
	bundle.  Rather than exiting, the first pppd keeps running
	after its link terminates, until all the links in the bundle
	have terminated.

pppd remains connected to l2tpd even though it is just acting as a
multilink master, causing l2tpd to believe that pppd is connected... i
have resolved the issue in my own system by instructing pppd to detach
from the terminal after it changes to PHASE_MASTER i have been using
this patch since 2009-02-19 in our production systems and havent had any
problems

The "if (!detached)" call is redundant since the detach function already
checks if the process is detached so can be optionally excluded

I have noticed other people complaining of similar issues when using
multilink/nodetach in other setups (eg pppoe) I believe that this patch
may also solve the problem for them, but i have not tested that setup

-----
diff --git a/pppd/auth.c b/pppd/auth.c
index fb71944..62648b8 100644
--- a/pppd/auth.c
+++ b/pppd/auth.c
@@ -669,8 +669,11 @@ link_terminated(unit)
        (*the_channel->cleanup)();

     if (doing_multilink && multilink_master) {
-       if (!bundle_terminating)
+       if (!bundle_terminating) {
            new_phase(PHASE_MASTER);
+           if (!detached)
+               detach();
+       }
        else
            mp_bundle_terminated();
     } else
-----

feedback is appreciated :)

Regards

Stephen


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: multilink with nodetach [PATCH]
@ 2010-10-20  5:35 Stephen Marron
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Marron @ 2010-10-20  5:35 UTC (permalink / raw)
  To: linux-ppp

*Bump* :)

Is there any chance of the below patch making it in to mainline?

Im happy to test it in any specific scenarios that someone might have
concerns with... or if further explanation is nessicary im happy to
answer any questions that you might have?

Regards

Stephen

On 24/08/10 18:25, Stephen Marron wrote:
> Hi
> 
> This bug has been Reported in the Debian BTS as bug 538107
> 
> 	http://bugs.debian.org/578070
> 
> If pppd is used with l2tpd (nodetach) in a multilink situation then this
> feature of pppd causes problems
> 
> 	MULTILINK
> 	If the first link terminates (for example, because of  a
> 	hangup or  a received  LCP  terminate-request)  the  bundle  is
> 	not destroyed unless there are no other links remaining in the
> 	bundle.  Rather than exiting, the first pppd keeps running
> 	after its link terminates, until all the links in the bundle
> 	have terminated.
> 
> pppd remains connected to l2tpd even though it is just acting as a
> multilink master, causing l2tpd to believe that pppd is connected... i
> have resolved the issue in my own system by instructing pppd to detach
> from the terminal after it changes to PHASE_MASTER i have been using
> this patch since 2009-02-19 in our production systems and havent had any
> problems
> 
> The "if (!detached)" call is redundant since the detach function already
> checks if the process is detached so can be optionally excluded
> 
> I have noticed other people complaining of similar issues when using
> multilink/nodetach in other setups (eg pppoe) I believe that this patch
> may also solve the problem for them, but i have not tested that setup
> 
> -----
> diff --git a/pppd/auth.c b/pppd/auth.c
> index fb71944..62648b8 100644
> --- a/pppd/auth.c
> +++ b/pppd/auth.c
> @@ -669,8 +669,11 @@ link_terminated(unit)
>         (*the_channel->cleanup)();
> 
>      if (doing_multilink && multilink_master) {
> -       if (!bundle_terminating)
> +       if (!bundle_terminating) {
>             new_phase(PHASE_MASTER);
> +           if (!detached)
> +               detach();
> +       }
>         else
>             mp_bundle_terminated();
>      } else
> -----
> 
> feedback is appreciated :)
> 
> Regards
> 
> Stephen

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-10-20  5:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-24  9:07 multilink with nodetach [PATCH] Stephen Marron
2010-10-20  5:35 Stephen Marron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.