linux-ppp.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 11/14] fix handling of the mtu option in the pppoatm plugin
@ 2007-08-19  1:37 Marco d'Itri
  0 siblings, 0 replies; only message in thread
From: Marco d'Itri @ 2007-08-19  1:37 UTC (permalink / raw)
  To: linux-ppp

While debugging the PPPoATM issues of a Debian user, I determined that
when the error() function is called by a send_config function like
send_config_pppoa of the pppoatm.c plugin then lcp_lowerup() exits
earlier and does not raise the lower layer, and pppd just hangs without
sending any LCP request.
I do not understand who is wrong and should bail out, but I'm attaching
the patch used by Red Hat to work around this bug (I see that the PPPoE
plugin alrady uses warn() for this case).

diff -ruNp ppp-2.4.3.orig/pppd/plugins/pppoatm/pppoatm.c ppp-2.4.3/pppd/plugins/pppoatm/pppoatm.c
--- ppp-2.4.3.orig/pppd/plugins/pppoatm/pppoatm.c	2005-05-04 02:00:28.000000000 +0200
+++ ppp-2.4.3/pppd/plugins/pppoatm/pppoatm.c	2005-05-04 01:59:11.000000000 +0200
@@ -183,8 +183,11 @@ static void send_config_pppoa(int mtu,
 	int sock;
 	struct ifreq ifr;
 
-	if (mtu > pppoatm_max_mtu)
-		error("Couldn't increase MTU to %d", mtu);
+	if (pppoatm_max_mtu && mtu > pppoatm_max_mtu) {
+		warn("Couldn't increase MTU to %d. Using %d",
+			mtu, pppoatm_max_mtu);
+		mtu = pppoatm_max_mtu;
+	}
 
 	sock = socket(AF_INET, SOCK_DGRAM, 0);
 	if (sock < 0)
@@ -202,8 +205,11 @@ static void recv_config_pppoa(int mru,
 			      int pcomp,
 			      int accomp)
 {
-	if (mru > pppoatm_max_mru)
-		error("Couldn't increase MRU to %d", mru);
+	if (pppoatm_max_mru && mru > pppoatm_max_mru) {
+		warn("Couldn't increase MRU to %d. Using %d",
+			mru, pppoatm_max_mru);
+		mru = pppoatm_max_mru;
+	}
 }
 
 void plugin_init(void)

-- 
ciao,
Marco


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-08-19  1:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-19  1:37 [patch 11/14] fix handling of the mtu option in the pppoatm plugin Marco d'Itri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).