Hi Marcel,
actually we are using ppp%d syntax to assign the network interfaces.
So
the kernel does the numbering. This is a bug in pppd and not ours.
Looking at the pppd code, it seems to hardcodes ppp0. So please complain
to them for assuming that a certain device name is owned by them.
pppd requests the ppp driver to create a network interface with the ioctl
PPPIOCNEWUNIT. If the parameter passed to the ioctl is -1, the ppp driver
will allocate the unit itself. Because it's the first network interface
created by the ppp driver, and the ppp driver doesn't know about the tun
interface, it's choosing 0. Check ppp_create_interface() in ppp_generic.c
in the kernel to see how this is done.
So it seems the ppp driver reserves the ppp%d interface names.
Regards,
Cedric