[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

interaction problem with pppd persist option



I've encountered a potential interaction problem between pppd,
hotplug, and ifupdown, but I'm not sure how to solve it, if it is my
configuration, if it is indeed a bug, and if so, where to file it.  My
feeling is that since this appears to be a common need, it should work
per the default installation of these packages.

Here's the chain of events:

1) ppp link goes down.
2) pppd detects a link down condition because no responses to echo
   requests were made.
3) pppd brings down interface or tries to "transfer ppp unit to
   loopback"?

A hotplug event is initiated by the events triggered by the
following code in pppd (ppp 2.4.2+20040202-3, main.c, line 596):

        /*
         * If we may want to bring the link up again, transfer
         * the ppp unit back to the loopback.  Set the
         * real serial device back to its normal mode of operation.
         */
         
         ... 

         the_channel->disestablish_ppp(devfd);

4) kernel sends hotplug event to deregister ppp0.
5) hotplug net.agent calls ifdown ppp0.
6) ifdown calls poff.
7) poff SIGTERMs pppd, defeating the purpose of the persist option.

So, everything seems to be working per design, but at a high level the
combination of these events don't allow the pppd persist option to
perform its function.

Any ideas on how to solve this?

--
Chris Ruffin <c.ruffin@ieee.org>

Attachment: signature.asc
Description: Digital signature


Reply to: