<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>144194</bug_id>
          
          <creation_ts>2006-08-17 05:24 0000</creation_ts>
          <short_desc>wrong pppoa usage specs with &gt;=sys-apps/baselayout-1.12.4-r4</short_desc>
          <delta_ts>2006-09-14 03:22:12 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>baselayout</component>
          <version>2006.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>g.tomassoni@libero.it</reporter>
          <assigned_to>uberlord@gentoo.org</assigned_to>
          <cc>net-dialup@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 05:24:16 0000</bug_when>
            <thetext>Dears,

there is a problem with the new way &gt;=sys-apps/baselayout-1.12.4-r4 allows defining a pppd connection.

When using pppd for a PPPoA connection, there is no way to specify pppoatm.so plugin&apos;s options, like &apos;vc-encaps&apos;, &apos;llc-encaps&apos; or even the [itf.]vpi.vci address because the &apos;plugin pppoatm.so&apos; directive is appended after the pppd options themself in the pppd runstring, thereby causing &apos;unknown option&apos; errors.

The problem is easily circumvented by:

1) specifing link_ppp0=&apos;/dev/null&apos;
2) not specifing the plugins_ppp0=( &apos;pppoa&apos; )
3) specifing the pppoa plugin and its options in the pppd_ppp0=( ) array.

Anyway, this basically defeats the purposes of the plugins_ppp0 parameter, is an inelegant solution and may need external actions, like in loading the pppoatm kernel module.

The fastest fix for this is to specify plugins at the beginning of the pppd runstring, thereby allowing them to interpret their own options correctly.

Maybe it is too late, but I would also suggest a different schema for the pppd parameters, in which the high-level (i.e.: lcp, ipcp and network) options are specified by the pppd_ppp0=( ) array, while low-level (i.e.: device and connect) options are specified by arrays which resemble the device type. Non-device and non-connect plugins (like the auth ones) may still be specified by the plugins_ppp0=( ) array, provided they are placed early in the runstring.

Examples:

A modem dialup: async_ppp0=( &apos;/dev/null&apos; &apos;modem&apos; &apos;ctsrts&apos; )

A pppoa: pppoa_ppp0=( &apos;0.8.35&apos; &apos;vc-encaps&apos; )

A pppoe: pppoe_ppp0=( &apos;eth1&apos; )

Regards,</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 05:33:49 0000</bug_when>
            <thetext>Well, this would be much more usefull...

A modem dialup: async_ppp0=( &apos;/dev/ttyS0&apos; &apos;modem&apos; &apos;ctsrts&apos; )
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-17 06:10:01 0000</bug_when>
            <thetext>We designed plugins_ppp0 to cope with the eventual parameters of the plugins.
Lets say you need to pass bar param to the foo plugin. This could be accomplished as follows:
   plugins_ppp0=( &apos;foo bar&apos; )

@Roy: Maybe this should be mentioned in net.example...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 06:26:46 0000</bug_when>
            <thetext>Well, I have this in /etc/conf.d/net:

config_ppp0=( &apos;ppp&apos; )
link_ppp0=&apos;/dev/null&apos;
plugins_ppp0=( &apos;pppoa&apos; )
username_ppp0=&apos;myusername&apos;
password_ppp0=&apos;mypassword&apos;
pppd_ppp0=(
        &apos;updetach&apos;
        &apos;defaultroute&apos;
        &apos;persist&apos;
        &apos;maxfail 0&apos;
        &apos;holdoff 5&apos;
        &apos;mtu 1456&apos;
        &apos;pppoa 0.8.35 vc-encaps&apos;
        &apos;ipcp-accept-remote&apos;
        &apos;ipcp-accept-local&apos;
)


and I get this (sys-apps/baselayout-1.12.4-r6):

 * Caching service dependencies ...                                                                             [ ok ]
 * Service net.ppp0 starting
/usr/sbin/pppd: unrecognized option &apos;pppoa&apos;
pppd version 2.4.3
Usage: /usr/sbin/pppd [ options ], where options are:
        &lt;device&gt;        Communicate over the named device
        &lt;speed&gt;         Set the baud rate to &lt;speed&gt;
        &lt;loc&gt;:&lt;rem&gt;     Set the local and/or remote interface IP
                        addresses.  Either one may be omitted.
        asyncmap &lt;n&gt;    Set the desired async map to hex &lt;n&gt;
        auth            Require authentication from peer
        connect &lt;p&gt;     Invoke shell command &lt;p&gt; to set up the serial line
        crtscts         Use hardware RTS/CTS flow control
        defaultroute    Add default route through interface
        file &lt;f&gt;        Take options from file &lt;f&gt;
        modem           Use modem control lines
        mru &lt;n&gt;         Set MRU value to &lt;n&gt; for negotiation
See pppd(8) for more options.
 * Service net.ppp0 started
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>uberlord@gentoo.org</who>
            <bug_when>2006-08-17 06:29:10 0000</bug_when>
            <thetext>(In reply to comment #2)
&gt; We designed plugins_ppp0 to cope with the eventual parameters of the plugins.
&gt; Lets say you need to pass bar param to the foo plugin. This could be
&gt; accomplished as follows:
&gt;    plugins_ppp0=( &apos;foo bar&apos; )
&gt; 
&gt; @Roy: Maybe this should be mentioned in net.example...
&gt; 

Something like this?

#plugins_ppp0=(
#       &quot;pppoe&quot;                         # Required plugin for PPPoE
#       &quot;pppoa 0.8.35 vc-encaps&quot;        # Example plugin for PPPoA
#       &quot;capi&quot;                          # Required plugin for ISDN
#)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 06:35:21 0000</bug_when>
            <thetext>Oh, sorry: my fail. Its ok.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-17 06:55:02 0000</bug_when>
            <thetext>(In reply to comment #4)
&gt; #       &quot;pppoa 0.8.35 vc-encaps&quot;        # Example plugin for PPPoA

That should do it. Anyway, most plugins have parameters, even though you need to take a look in the plugin&apos;s source for discovering it.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 07:10:24 0000</bug_when>
            <thetext>&gt; Something like this?
&gt; #plugins_ppp0=(
&gt; #       &quot;pppoe&quot;                         # Required plugin for PPPoE
&gt; #       &quot;pppoa 0.8.35 vc-encaps&quot;        # Example plugin for PPPoA
&gt; #       &quot;capi&quot;                          # Required plugin for ISDN
&gt; #)

There is a thing I don&apos;t like too much: the fact that some ppp conn types are handled specially with respect to others. In pppoa, the &apos;0.8.35&apos; option may be seen as the ppp link device. In pppoe, in example, the &apos;ethX&apos; link device is specified through the link_pppY variable, not by plugin options.

There should be a way to abstract this details in a common setup interface in order to &apos;get things simpler&apos; to the user.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>uberlord@gentoo.org</who>
            <bug_when>2006-08-17 07:25:49 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; There is a thing I don&apos;t like too much: the fact that some ppp conn types are
&gt; handled specially with respect to others. In pppoa, the &apos;0.8.35&apos; option may be
&gt; seen as the ppp link device. In pppoe, in example, the &apos;ethX&apos; link device is
&gt; specified through the link_pppY variable, not by plugin options.
&gt; 
&gt; There should be a way to abstract this details in a common setup interface in
&gt; order to &apos;get things simpler&apos; to the user.

OK, think of something.
Once Alin (mrness here) agrees to it then I&apos;ll put it into baselayout</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-17 07:27:59 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; ... In pppoa, the &apos;0.8.35&apos; option may be seen as the ppp link device.

Not true. These are simple parameters (in this case, VPI&amp;VCI) to an unnamed interface (although for ISDN and PPPoA /dev/null must be used as interface name). 

In PPPoE case we used link_ppp0 to pass the interface name, which is in fact one of the parameters of the plugin, but I cannot invent a name for PPPoA &amp; ISDN. It isn&apos;t our fault, blame it on those who implemented ATM without associated interfaces, prolly thinking you will never have more than one such interface on your computer.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 07:37:21 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; ... In pppoa, the &apos;0.8.35&apos; option may be seen as the ppp link device.
&gt; Not true. These are simple parameters (in this case, VPI&amp;VCI) to an unnamed
&gt; interface (although for ISDN and PPPoA /dev/null must be used as interface
&gt; name).

No, 0.8.35 isn&apos;t: it is the atm address to which to bound the atm pvc. It is needed and has semantically the same meaning of eth0 in pppoe or ttyS0 in async.

vc-encaps is a true option.


&gt; In PPPoE case we used link_ppp0 to pass the interface name, which is in fact
&gt; one of the parameters of the plugin, but I cannot invent a name for PPPoA &amp;
&gt; ISDN. It isn&apos;t our fault, blame it on those who implemented ATM without
&gt; associated interfaces, prolly thinking you will never have more than one such
&gt; interface on your computer.

What about the same? link_ppp0=&apos;0.8.35&apos; would be fine. Encaps and qos parameters in plugin options are more than reasonable.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 07:54:26 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; It isn&apos;t our fault, blame it on those who implemented ATM without
&gt; associated interfaces, prolly thinking you will never have more than one such
&gt; interface on your computer.

Trust me, I would have to blame the Linux&apos;s ATM stack a lot. But not for this. There can&apos;t be such a thing like an &apos;ATM associated interfaces&apos; simply because ATM is a circuit standard, not a transport or media one. You use the socket() and connect() calls to open a VC with a given [itf.]vpi.vci and that&apos;s a (the only?) correct thing to do with ATM.

From the pppd viewpoint, a &apos;device&apos; is something linking the daemon to its peer. A [itf.]vpi.vci address is a pppd device when pppoatm is around, as well as ethX (and you don&apos;t have /dev/ethX) is with pppoe.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-17 08:04:20 0000</bug_when>
            <thetext>(In reply to comment #10)
&gt; No, 0.8.35 isn&apos;t: it is the atm address to which to bound the atm pvc. It is
&gt; needed and has semantically the same meaning of eth0 in pppoe or ttyS0 in
&gt; async.
&gt; 
&gt; vc-encaps is a true option.

What about ADSL concentrators made by Zyxel? I have a command named &quot;show pvcs&quot;, which displays the PVCs on all interfaces, from 1-n. All interfaces have the same VPI.VCI settings which, according to you, broke the written rule that says every interface is uniquely identified by its name.

When I say interface, I usually imagine some device connecting 2 things. In PPPoA case, is the ADSL modem.
But if you consider those numbers a &quot;interface&quot;, you should also consider the encapsulation (VC or LLC). As PVC (another name for VPI.VCI if you ask me), encapsulation is a mandatory ATM parameter, needed for properly configuring the interface.

Anyway, I&apos;m against considering PVC as interface name.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-17 08:56:21 0000</bug_when>
            <thetext>&gt; (In reply to comment #10)
&gt; What about ADSL concentrators made by Zyxel? I have a command named &quot;show
&gt; pvcs&quot;, which displays the PVCs on all interfaces, from 1-n. All interfaces have
&gt; the same VPI.VCI settings which, according to you, broke the written rule that
&gt; says every interface is uniquely identified by its name.

But that&apos;s not the interface to have that address: it is just that each interface has only one VC open.

You&apos;re talking of &apos;show pvcs&apos;, not something like &apos;show itfs&apos;: in such a command (don&apos;t know if it exists in that Zyxel) you wouldn&apos;t see the PVC address, because an ATM interface is not a PVC. A pvc is a link to a specific peer *through* an interface, not an ATM interface itself.

With ADSL this doesn&apos;t happen (yet), but you may use an interface with multiple VCs at the same time. That&apos;s quite the same thing with ISDN, but more powerfull: not just at most 2-3 VCs, but as many as you like.


&gt; When I say interface, I usually imagine some device connecting 2 things.

Well, right. In ATM they connect a customer with an ATM provider.


&gt; In PPPoA case, is the ADSL modem.

Wrong. The ADSL modem is (often) connected to your ATM provide, which may even not be your Internet provider. Usually, this is the way things go, but the ATM standard is more powerful than this.

In pppd you have to specify the &apos;device&apos; which connects you to your ISP, not your telephone company. Think the ADSL modem is the media device. The VC may rightly be tought as the &apos;link&apos;.

After all, you have the link_pppX= option, not the interface_pppX= or device_pppX=. So...

A peer-to-peer link in ATM is a VC. That&apos;s a quite common mistake to think that a vpi.vci address is like, say, the mac one on ethernet interfaces, or -even worse- the IP address assigned to an ethernet interface. But this isn&apos;t. A VC is conceptually much more close to a /dev/ttyS0 than an ATM interface.

This confusion will be wiped as soon as ADSL lines will start carring ATM voice channels too through the very same ADSL line (and without using the imperfect VoIP). Then, the zyxel&apos;s &apos;show pvcs&apos; will probably carry more than one line per interface...


&gt; But if you consider those numbers a &quot;interface&quot;, you should also consider the
&gt; encapsulation (VC or LLC). As PVC (another name for VPI.VCI if you ask me),
&gt; encapsulation is a mandatory ATM parameter, needed for properly configuring
&gt; the interface.

No, encapsulation is out of the ATM VC specs and is not mandatory: if you don&apos;t specify it, the pppoatm plugin enters in a &apos;discovery mode&apos; for it (see pppoatm.c sources).

A peer-to-peer channel in an ATM interface is a VC (Virtual Circuit), which is identified just by it&apos;s vpi.vci address. So, a &quot;link&quot; in the ppp meaning is uniquely identified by a itf.vpi.vci address.


&gt; Anyway, I&apos;m against considering PVC as interface name.

It&apos;s a circuit, a link. It&apos;s like an asynchronous line. link_ppp0= is great for it.

Anyway, pppd.sh works the way it is now too, so...

PS: is it politically correct to have this debate here? Do we have to move to some forum?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-17 10:03:33 0000</bug_when>
            <thetext>OK, you convinced me. You seem to be a wiz in ATM, while my knowledge about it is minimal at best.

Roy, there are following things to consider when you made the change.
1) The old style config must be compatible with the new module. This means /dev/null should be considered a valid link for PPPoA.
2) When link_ppp0 is configured in the new style, the module should append /dev/null to the command line, just as it does now (not sure if it is necessary  though).
3) net.example should be changed according to the new style. Also, it should make it clear that plugins accept additional parameters.  </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>uberlord@gentoo.org</who>
            <bug_when>2006-08-22 16:32:54 0000</bug_when>
            <thetext>(In reply to comment #14)
&gt; Roy, there are following things to consider when you made the change.

I find myself short of time and am going on holiday soon.
If this is required in a month or so, I suggest someone donates a patch :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-23 06:27:29 0000</bug_when>
            <thetext>Created an attachment (id=94931)
Patch for pppd.sh 2200

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-23 06:32:13 0000</bug_when>
            <thetext>Created an attachment (id=94932)
Patch for net.example rev.2101 for pppoa

I don&apos;t know if you are asking that to me, Roy. But, after all, I&apos;m the reported of this bug, so...

Have a look at the two attached files. They do work with this in conf.d/net:

config_ppp0=( &apos;ppp&apos; )
link_ppp0=&apos;0.8.35&apos;
plugins_ppp0=( &apos;pppoa vc-encaps&apos; )
username_ppp0=&apos;your_username&apos;
password_ppp0=&apos;your_password&apos;
pppd_ppp0=(
        &apos;updetach&apos;
        &apos;defaultroute&apos;
        &apos;ipcp-accept-remote&apos;
        &apos;ipcp-accept-local&apos;
)

The net side effect is that this is quite incompatible with the previous way. You may, however, avoid strict conformance to the new one by deleting the lines in which I&apos;m checking ${!link} content.

Oh, by the way: whom do I have to send the invoice to, Roy? :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-23 06:45:05 0000</bug_when>
            <thetext>Not good enough. See comment #14, paragraph 1 and 2.
link_ppp0=/dev/null *must* be considered valid in PPPoA case.

Also, I don&apos;t understand the &quot;connect true&quot; sequence. Why do you think it is necessary?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-23 06:52:20 0000</bug_when>
            <thetext>(In reply to comment #18)
&gt; Not good enough. See comment #14, paragraph 1 and 2.
&gt; link_ppp0=/dev/null *must* be considered valid in PPPoA case.

These lines from the patch enforce an ATM address in ppp0_link:

+		if [[ ! ( ${!link} =~ &apos;^[ \t]*([1-9]*[0-9]\.){1,2}[1-9]*[0-9][ \t]*$&apos; ) ]] ; then
+			eerror &quot;an [itf.]vpi.vci ATM address was expected in ${link}&quot;
+			return 1
+		fi
+

Removing them you have a backward-compatible patch. I added them just to enforce a common behaviour in users, which shurely helps when gentoo will have to change things again.


&gt; Also, I don&apos;t understand the &quot;connect true&quot; sequence. Why do you think it is
&gt; necessary?

It was in the pppoe case and it doesn&apos;t hurt: both pppoe and pppoa don&apos;t need a connect script. I guess it&apos;s there to avoid problems to people used to the &apos;call&apos; option. In the overall: I wanted to minimize changes.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-23 07:02:36 0000</bug_when>
            <thetext>(In reply to comment #19)
&gt; Removing them you have a backward-compatible patch. I added them just to
&gt; enforce a common behaviour in users, which shurely helps when gentoo will have
&gt; to change things again.

You&apos;re welcome to try explaining it to all PPPoA users. I&apos;m sure they&apos;ll be glad to break their working setup, especially those who don&apos;t have physical access to the computer.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-23 07:11:13 0000</bug_when>
            <thetext>(In reply to comment #20)
&gt; You&apos;re welcome to try explaining it to all PPPoA users. I&apos;m sure they&apos;ll be
&gt; glad to break their working setup, especially those who don&apos;t have physical
&gt; access to the computer.

Well, this already happened: I posted this bug report because my pppd setup was rejected by the new baselayout. If you don&apos;t like this, no problem: remove the check lines. Or replace &apos;eerror&apos; with &apos;ewarning&apos; (does it exists?).

However, Alin, I just sent my own view of a short-and-simple patch with respect to the issue here raised. If you have your own view, well, submit it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-23 07:28:46 0000</bug_when>
            <thetext>Created an attachment (id=94936)
Patch for pppd.sh 2200

This is a more complete patch, with backward-compatibility.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mrness@gentoo.org</who>
            <bug_when>2006-08-25 08:49:30 0000</bug_when>
            <thetext>Yeah, this version looks OK to me.

Does it work for your PPPoA link for both variants of link_ppp0? I&apos;m asking because, when you set PVC in link_ppp0, you don&apos;t have /dev/null appended to your options.
 </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-08-25 10:20:33 0000</bug_when>
            <thetext>(In reply to comment #23)
&gt; Does it work for your PPPoA link for both variants of link_ppp0? I&apos;m asking
&gt; because, when you set PVC in link_ppp0, you don&apos;t have /dev/null appended to
&gt; your options.

With net-dialup/ppp-2.4.3-r16 it seems ok: /proc/net/atm/pvc reports an open VC with the address specified in link_ppp0. Also, pppd doesn&apos;t complain about the missing /dev/null.

However, I have a CLIP connection here: the pppoa one is a 30Km apart, on a server on which I don&apos;t have direct access (nor I want attempt a remote reboot now).

But I wouldn&apos;t dislike to have it further tested if you have an &apos;handy&apos; pppoa ADSL link.

If you prefer, I can attach the patched pppoa.sh script instead of just the patch file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>uberlord@gentoo.org</who>
            <bug_when>2006-09-06 01:59:47 0000</bug_when>
            <thetext>Comitted to svn, thanks for the patch.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.tomassoni@libero.it</who>
            <bug_when>2006-09-11 07:25:10 0000</bug_when>
            <thetext>Just to avoid putting my name on non-working stuff, I did take the time to test the pppd script.

I did put both the &apos;old&apos; and &apos;new&apos; confs under test. They were something like this (in /etc/conf.d/net, of course):

#
# First test conf
# (the old way)
config_ppp0=( &apos;ppp&apos; )
username_ppp0=&apos;my-user-name&apos;
password_ppp0=&apos;my-password&apos;
link_ppp0=&apos;/dev/null&apos;
plugins_ppp0=( &apos;pppoa 0.8.35 vc-encaps&apos; )
pppd_ppp0=(
        &apos;defaultroute&apos;
        &apos;persist&apos;
        &apos;maxfail 0&apos;
        &apos;holdoff 30&apos;
        &apos;ipcp-accept-remote&apos;
        &apos;lcp-echo-interval 12&apos;
        &apos;lcp-echo-failure 5&apos;
)

#
# Second test conf
# (the new way)
config_ppp0=( &apos;ppp&apos; )
username_ppp0=&apos;my-user-name&apos;
password_ppp0=&apos;my-password&apos;
link_ppp0=&apos;0.8.35&apos;
plugins_ppp0=( &apos;pppoa vc-encaps&apos; )
pppd_ppp0=(
       &apos;defaultroute&apos;
       &apos;persist&apos;
       &apos;maxfail 0&apos;
       &apos;holdoff 30&apos;
       &apos;ipcp-accept-remote&apos;
       &apos;lcp-echo-interval 12&apos;
       &apos;lcp-echo-failure 5&apos;
)


Both worked as expected. The former reported a:

    WARNING: An [itf.]vpi.vci ATM address was expected in link_ppp0

but of course operations proceeded anyway.

Just wondering the why of the /dev/null parameter in the pppd runstring: I even tried running pppd by hand with a runstring equivalent to both the confs, and didn&apos;t see any difference in keeping or removing the /dev/null option. I mean, in example, this:

echo -n my-password | ( sleep 1; pppd /dev/null unit 0 remotename ppp0 user &apos;my-user-name&apos; linkname ppp0 defaultroute persist maxfail 0 holdoff 30 ipcp-accept-remote lcp-echo-interval 12 lcp-echo-failure 5 plugin passwordfd.so passwordfd 3 plugin pppoatm.so 0.8.35 vc-encaps 3&lt;&amp;0 )

and this:

echo -n my-password | ( sleep 1; pppd unit 0 remotename ppp0 user &apos;my-user-name&apos; linkname ppp0 defaultroute persist maxfail 0 holdoff 30 ipcp-accept-remote lcp-echo-interval 12 lcp-echo-failure 5 plugin passwordfd.so passwordfd 3 plugin pppoatm.so 0.8.35 vc-encaps 3&lt;&amp;0 )

did behave the same.

Bye.

PS: You&apos;re welcome, Roy.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>uberlord@gentoo.org</who>
            <bug_when>2006-09-14 03:22:12 0000</bug_when>
            <thetext>Fixed</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94931</attachid>
            <date>2006-08-23 06:27 0000</date>
            <desc>Patch for pppd.sh 2200</desc>
            <filename>pppd.sh-pppoa.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIHBwcGQuc2gtMjEwMQkyMDA2LTA4LTIzIDEzOjE2OjU4LjAwMDAwMDAwMCArMDIwMAorKysg
cHBwZC5zaAkyMDA2LTA4LTIzIDE0OjA0OjEyLjAwMDAwMDAwMCArMDIwMApAQCAtMTQ0LDkgKzE0
NCwxMSBAQAogCQlbWyAke3BsdWdpblswXX0gPT0gInBwcG9hIiBdXSAmJiBwbHVnaW5bMF09InBw
cG9hdG0iCiAJCVtbICR7cGx1Z2luWzBdfSA9PSAiY2FwaSIgXV0gJiYgcGx1Z2luWzBdPSJjYXBp
cGx1Z2luIgogCi0JCVtbICR7cGx1Z2luWzBdfSA9PSAicnAtcHBwb2UiIF1dICYmIG9wdHM9IiR7
b3B0c30gY29ubmVjdCB0cnVlIgotCQlvcHRzPSIke29wdHN9IHBsdWdpbiAke3BsdWdpblswXX0u
c28gJHtwbHVnaW5bQF06MX0iCi0JCVtbICR7cGx1Z2luWzBdfSA9PSAicnAtcHBwb2UiIF1dICYm
IG9wdHM9IiR7b3B0c30gJHshbGlua30iCisJCWlmIFtbICR7cGx1Z2luWzBdfSA9PSAicnAtcHBw
b2UiIHx8ICR7cGx1Z2luWzBdfSA9PSAicHBwb2F0bSIgXV0gOyB0aGVuCisJCQlvcHRzPSIke29w
dHN9IGNvbm5lY3QgdHJ1ZSBwbHVnaW4gJHtwbHVnaW5bMF19LnNvICR7cGx1Z2luW0BdOjF9ICR7
IWxpbmt9IgorCQllbHNlCisJCQlvcHRzPSIke29wdHN9IHBsdWdpbiAke3BsdWdpblswXX0uc28g
JHtwbHVnaW5bQF06MX0iCisJCWZpCiAJZG9uZQogCiAJI1NwZWNpYWxpemVkIHN0dWZmLiBJbnNl
cnQgaGVyZSBhY3Rpb25zIHBhcnRpY3VsYXIgdG8gY29ubmVjdGlvbiB0eXBlIChwcHBvZSxwcHBv
YSxjYXBpKQpAQCAtMTY4LDYgKzE3MCwxMSBAQAogCWZpCiAKIAlpZiBbWyAiICR7b3B0c30gIiA9
PSAqIiBwbHVnaW4gcHBwb2F0bS5zbyAiKiBdXSA7IHRoZW4KKwkJaWYgW1sgISAoICR7IWxpbmt9
ID1+ICdeWyBcdF0qKFsxLTldKlswLTldXC4pezEsMn1bMS05XSpbMC05XVsgXHRdKiQnICkgXV0g
OyB0aGVuCisJCQllZXJyb3IgImFuIFtpdGYuXXZwaS52Y2kgQVRNIGFkZHJlc3Mgd2FzIGV4cGVj
dGVkIGluICR7bGlua30iCisJCQlyZXR1cm4gMQorCQlmaQorCiAJCWlmIFtbICEgLWQgL3Byb2Mv
bmV0L2F0bSBdXSA7IHRoZW4KIAkJCSMgTG9hZCB0aGUgUFBQb0Ega2VybmVsIG1vZHVsZQogCQkJ
aWYgISBtb2Rwcm9iZSBwcHBvYXRtIDsgdGhlbgpAQCAtMTc1LDYgKzE4Miw4IEBACiAJCQkJcmV0
dXJuIDEKIAkJCWZpCiAJCWZpCisKKwkJaW5zZXJ0X2xpbmtfaW5fb3B0cz0wCiAJZmkKIAlbWyAk
e2luc2VydF9saW5rX2luX29wdHN9IC1lcSAwIF1dIHx8IG9wdHM9IiR7IWxpbmt9ICR7b3B0c30i
CiAK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94932</attachid>
            <date>2006-08-23 06:32 0000</date>
            <desc>Patch for net.example rev.2101 for pppoa</desc>
            <filename>net.example-pppoa.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIG5ldC5leGFtcGxlLTIyMDAJMjAwNi0wOC0yMyAxNDoyMDoyOC4wMDAwMDAwMDAgKzAyMDAK
KysrIG5ldC5leGFtcGxlCTIwMDYtMDgtMjMgMTQ6MjQ6NTguMDAwMDAwMDAwICswMjAwCkBAIC0z
OTMsNyArMzkzLDggQEAKICMgRWFjaCBQUFAgaW50ZXJmYWNlIHJlcXVpcmVzIGFuIGludGVyZmFj
ZSB0byB1c2UgYXMgYSAiTGluayIKICNsaW5rX3BwcDA9Ii9kZXYvdHR5UzAiIAkJIyBNb3N0IFBQ
UCBsaW5rcyB3aWxsIHVzZSBhIHNlcmlhbCBwb3J0CiAjbGlua19wcHAwPSJldGgwIiAgICAgICAJ
CSMgUFBQb0UgcmVxdWlyZXMgYW4gZXRoZXJuZXQgaW50ZXJmYWNlCi0jbGlua19wcHAwPSIvZGV2
L251bGwiCQkJIyBQUFBvQSBhbmQgSVNETiBsaW5rcyBzaG91bGQgaGF2ZSB0aGlzCisjbGlua19w
cHAwPSJbaXRmLl12cGkudmNpIgkJIyBQUFBvQSByZXF1aXJlcyB0aGUgQVRNIFZDJ3MgYWRkcmVz
cworI2xpbmtfcHBwMD0iL2Rldi9udWxsIgkJCSMgSVNETiBsaW5rcyBzaG91bGQgaGF2ZSB0aGlz
CiAjbGlua19wcHAwPSJwdHkgJ3lvdXJfbGlua19jb21tYW5kJyIJIyBQUFAgbGlua3Mgb3ZlciBz
c2gsIHJzaCwgZXRjCiAjCiAjIEhlcmUgeW91IHNob3VsZCBzcGVjaWZ5IHdoYXQgcHBwZCBwbHVn
aW5zIHlvdSB3YW50IHRvIHVzZQpAQCAtNDAxLDcgKzQwMiw3IEBACiAjCQkJIHJhZGF0dHIsIHJh
ZHJlYWxtcyBhbmQgd2luYmluZCAKICNwbHVnaW5zX3BwcDA9KAogIwkicHBwb2UiCQkJCSMgUmVx
dWlyZWQgcGx1Z2luIGZvciBQUFBvRQotIwkicHBwb2EgMC44LjM1IHZjLWVuY2FwcyIJIyBFeGFt
cGxlIHBsdWdpbiBmb3IgUFBQb0EKKyMJInBwcG9hIHZjLWVuY2FwcyIJCSMgUmVxdWlyZWQgcGx1
Z2luIGZvciBQUFBvQSB3aXRoIGFuIG9wdGlvbgogIwkiY2FwaSIJCQkJIyBSZXF1aXJlZCBwbHVn
aW4gZm9yIElTRE4KICMpCiAjCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94936</attachid>
            <date>2006-08-23 07:28 0000</date>
            <desc>Patch for pppd.sh 2200</desc>
            <filename>pppd.sh-pppoa.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIHBwcGQuc2gtMjEwMQkyMDA2LTA4LTIzIDEzOjE2OjU4LjAwMDAwMDAwMCArMDIwMAorKysg
cHBwZC5zaAkyMDA2LTA4LTIzIDE1OjI4OjI5LjAwMDAwMDAwMCArMDIwMApAQCAtMTQ0LDkgKzE0
NCwxMSBAQAogCQlbWyAke3BsdWdpblswXX0gPT0gInBwcG9hIiBdXSAmJiBwbHVnaW5bMF09InBw
cG9hdG0iCiAJCVtbICR7cGx1Z2luWzBdfSA9PSAiY2FwaSIgXV0gJiYgcGx1Z2luWzBdPSJjYXBp
cGx1Z2luIgogCi0JCVtbICR7cGx1Z2luWzBdfSA9PSAicnAtcHBwb2UiIF1dICYmIG9wdHM9IiR7
b3B0c30gY29ubmVjdCB0cnVlIgotCQlvcHRzPSIke29wdHN9IHBsdWdpbiAke3BsdWdpblswXX0u
c28gJHtwbHVnaW5bQF06MX0iCi0JCVtbICR7cGx1Z2luWzBdfSA9PSAicnAtcHBwb2UiIF1dICYm
IG9wdHM9IiR7b3B0c30gJHshbGlua30iCisJCWlmIFtbICR7cGx1Z2luWzBdfSA9PSAicnAtcHBw
b2UiIHx8ICggJHtwbHVnaW5bMF19ID09ICJwcHBvYXRtIiAmJiAkeyFsaW5rfSAhPSAnL2Rldi9u
dWxsJyApIF1dIDsgdGhlbgorCQkJb3B0cz0iJHtvcHRzfSBjb25uZWN0IHRydWUgcGx1Z2luICR7
cGx1Z2luWzBdfS5zbyAke3BsdWdpbltAXToxfSAkeyFsaW5rfSIKKwkJZWxzZQorCQkJb3B0cz0i
JHtvcHRzfSBwbHVnaW4gJHtwbHVnaW5bMF19LnNvICR7cGx1Z2luW0BdOjF9IgorCQlmaQogCWRv
bmUKIAogCSNTcGVjaWFsaXplZCBzdHVmZi4gSW5zZXJ0IGhlcmUgYWN0aW9ucyBwYXJ0aWN1bGFy
IHRvIGNvbm5lY3Rpb24gdHlwZSAocHBwb2UscHBwb2EsY2FwaSkKQEAgLTE2OCw2ICsxNzAsMTIg
QEAKIAlmaQogCiAJaWYgW1sgIiAke29wdHN9ICIgPT0gKiIgcGx1Z2luIHBwcG9hdG0uc28gIiog
XV0gOyB0aGVuCisJCWlmIFtbICR7IWxpbmt9ID1+ICdeWyBcdF0qKFsxLTldKlswLTldXC4pezEs
Mn1bMS05XSpbMC05XVsgXHRdKiQnIF1dIDsgdGhlbgorCQkJaW5zZXJ0X2xpbmtfaW5fb3B0cz0w
CisJCWVsc2UKKwkJCWV3YXJuICJXQVJOSU5HOiBBbiBbaXRmLl12cGkudmNpIEFUTSBhZGRyZXNz
IHdhcyBleHBlY3RlZCBpbiAke2xpbmt9IgorCQlmaQorCiAJCWlmIFtbICEgLWQgL3Byb2MvbmV0
L2F0bSBdXSA7IHRoZW4KIAkJCSMgTG9hZCB0aGUgUFBQb0Ega2VybmVsIG1vZHVsZQogCQkJaWYg
ISBtb2Rwcm9iZSBwcHBvYXRtIDsgdGhlbgo=
</data>        

          </attachment>
    </bug>

</bugzilla>