To be a mit more specific: http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/src/ppp-manager?id=7955806a02db64b20079267743056d7d9d45af3b ppp-manager: don't use kernel pppoe (rh #1034860, rh #1061641) The kernel PPPoE code disconnects when it receives a PADT frame, but doesn't notify userland about it. So if the server sends a PPPoE PADT without having sent the standard PPP LCP Termination request first, then pppd (and thus NetworkManager) will not know that the connection has been disconnected. This should eventually be fixed in the kernel, but for now, work around this by using the userland pppoe client rather than the kernel code.