From: Paul Mackerras Date: Fri, 14 Aug 2015 10:32:43 +0000 (+1000) Subject: Merge branch 'send-padt-on-disconnect' of git://github.com/farnz/ppp X-Git-Tag: ppp-2.4.8~46 X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=commitdiff_plain;h=84684243d651f55f6df69d2a6707b52fbbe62bb9 Merge branch 'send-padt-on-disconnect' of git://github.com/farnz/ppp Signed-off-by: Paul Mackerras --- 84684243d651f55f6df69d2a6707b52fbbe62bb9 diff --cc pppd/plugins/rp-pppoe/plugin.c index da50cdf,90fb808..c89be94 --- a/pppd/plugins/rp-pppoe/plugin.c +++ b/pppd/plugins/rp-pppoe/plugin.c @@@ -270,12 -270,13 +270,13 @@@ PPPOEDisconnectDevice(void memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ); memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN); if (connect(conn->sessionSocket, (struct sockaddr *) &sp, - sizeof(struct sockaddr_pppox)) < 0) + sizeof(struct sockaddr_pppox)) < 0 && errno != EALREADY) error("Failed to disconnect PPPoE socket: %d %m", errno); close(conn->sessionSocket); - /* don't send PADT?? */ - if (conn->discoverySocket >= 0) + if (conn->discoverySocket >= 0) { + sendPADT(conn, NULL); close(conn->discoverySocket); + } } static void