• Guillaume Nault's avatar
    ppp: add rtnetlink device creation support · 96d934c7
    Guillaume Nault authored
    Define PPP device handler for use with rtnetlink.
    The only PPP specific attribute is IFLA_PPP_DEV_FD. It is mandatory and
    contains the file descriptor of the associated /dev/ppp instance (the
    file descriptor which would have been used for ioctl(PPPIOCNEWUNIT) in
    the ioctl-based API). The PPP device is removed when this file
    descriptor is released (same behaviour as with ioctl based PPP
    devices).
    
    PPP devices created with the rtnetlink API behave like the ones created
    with ioctl(PPPIOCNEWUNIT). In particular existing ioctls work the same
    way, no matter how the PPP device was created.
    The rtnl callbacks are also assigned to ioctl based PPP devices. This
    way, rtnl messages have the same effect on any PPP devices.
    The immediate effect is that all PPP devices, even ioctl-based
    ones, can now be removed with "ip link del".
    
    A minor difference still exists between ioctl and rtnl based PPP
    interfaces: in the device name, the number following the "ppp" prefix
    corresponds to the PPP unit number for ioctl based devices, while it is
    just an unrelated incrementing index for rtnl ones.
    Signed-off-by: default avatarGuillaume Nault <g.nault@alphalink.fr>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    96d934c7
ppp_generic.c 74.5 KB