Skip to content
  • Beniamino Galvani's avatar
    ppp: fix taking control of link generated by kernel · 72d66fff
    Beniamino Galvani authored
    NetworkManager can't control the name of the PPP interface name
    created by pppd; so it has to wait for the interface to appear and
    then rename it. This happens in nm_device_take_over_link() called by
    nm-device-ppp.c:ppp_ifindex_set() when pppd tells NM the ifindex of
    the interface that was created.
    
    However, sometimes the initial interface name is already correct, for
    example when the connection.interface-name is ppp0 and this is the
    first PPP interface created.
    
    When this happens, nm_device_update_from_platform_link() is called on
    the NMDevicePPP and it sets the device ifindex. Later, when pppd
    notifies NM, nm_device_take_over_link() fails because the ifindex is
    already set:
    
     nm_device_take_over_link: assertion 'priv->ifindex <= 0' failed
    
    Make nm_device_take_over_link() more robust to cope with this
    situation.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1849386
    (cherry picked from commit 75bc21c4)
    72d66fff