On 2020/05/28 19:42, Jason McIntyre wrote: > On Wed, May 27, 2020 at 08:43:47AM +0200, Martin Pieuchot wrote: > > On 26/05/20(Tue) 10:31, Claudio Jeker wrote: > > > [...] > > > npppd(8) is server only it can not establish a connection. pppd(8) on the > > > other hand is more client side (but I think it can do both). > > > > Could someone knowledgable indicate that in the man pages? > > well, i don;t qualify as knowledgable about ppp, but i'll bite anyway: > > > Currently there is: > > > > npppd ??? new Point-to-Point Protocol daemon > > pppd ??? Point-to-Point Protocol daemon > > > > Confusing... > > > > yes. at the time, i think npppd's description made sense - it was > a newer version of the ppp server. i think it was pppd that had > the confusing description, but there was a reason for that too. > wasn;t there an alternative way to do dialup, and pppd was the > kernel method?
Here's an overview. ppp(4), runs PPP in the kernel, controlled by pppd(8). Used for serial port devices or via a helper application (e.g. xl2tpd in ports for L2TP client/server - could do PPPoE via a helper too). Client or server. The version we have is IPv4 only. (Still maintained upstream but the support for most OS was removed after 2.3.11 in 1999, it's now Linux/Solaris only). pppoe(4), runs PPP-over-Ethernet in the kernel using the sppp(4) layer. Controlled by ifconfig. Client side only. IPv4 and IPv6. ppp(8), removed in 5.6. Ran PPP in userland and used the tun(4) device to send packets to/from the kernel. It was used for serial port devices or PPPoE via a helper (probably also pptp via a helper IIRC). Client or server. IPv4 and IPv6. npppd(8), runs L2TP, PPTP, PPPoE. Either userland via tun(4), or hybrid userland+kernel - userland for connection setup, kernel via pipex(4) devices handling bulk data transfer after setup. Server side only. Mostly IPv4 only (L2TP can listen on IPv6 but the PPP sessions themselves are v4-only).
