Holger Weiss
2007-08-19 23:25:34 UTC
On 4.99.28/sparc64, my pppoe(4) connection works just fine (apart from
the fact that IPv6 negotiation fails while it works with rp-pppoe, but I
guess that's another story---which I haven't looked into yet):
| $ ifconfig pppoe0
| pppoe0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1424
| inet 217.197.85.252 -> 192.109.42.188 netmask 0xff000000
| inet6 fe80::a00:20ff:feac:1643%pppoe0 -> prefixlen 64 scopeid 0x4
However:
| $ pppoectl -d pppoe0
| pppoe0: interface not found
To get the session state, pppoectl(8) does an ioctl(2) call with a
PPPOEGETSESSION request, which should be handled by pppoe(4)'s
pppoe_ioctl(). PPPOEGETSESSION evaluates to 3223349616. However, I
added some debug output to sys/net/if_pppoe.c and for some reason,
pppoe_ioctl() receives 3230689648 via its "cmd" argument. Therefore,
the call isn't caught by the PPPOEGETSESSION case within pppoe_ioctl().
Instead, it's handled by the default case, which hands it over to
sys/net/if_spppsubr.c:sppp_ioctl(), which in turn returns ENOTTY.
I didn't use pppoe(4) before, so I don't know whether this problem is
new. Can others reproduce it? Any ideas?
Holger
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
the fact that IPv6 negotiation fails while it works with rp-pppoe, but I
guess that's another story---which I haven't looked into yet):
| $ ifconfig pppoe0
| pppoe0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1424
| inet 217.197.85.252 -> 192.109.42.188 netmask 0xff000000
| inet6 fe80::a00:20ff:feac:1643%pppoe0 -> prefixlen 64 scopeid 0x4
However:
| $ pppoectl -d pppoe0
| pppoe0: interface not found
To get the session state, pppoectl(8) does an ioctl(2) call with a
PPPOEGETSESSION request, which should be handled by pppoe(4)'s
pppoe_ioctl(). PPPOEGETSESSION evaluates to 3223349616. However, I
added some debug output to sys/net/if_pppoe.c and for some reason,
pppoe_ioctl() receives 3230689648 via its "cmd" argument. Therefore,
the call isn't caught by the PPPOEGETSESSION case within pppoe_ioctl().
Instead, it's handled by the default case, which hands it over to
sys/net/if_spppsubr.c:sppp_ioctl(), which in turn returns ENOTTY.
I didn't use pppoe(4) before, so I don't know whether this problem is
new. Can others reproduce it? Any ideas?
Holger
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de