aboutsummaryrefslogtreecommitdiffstats
path: root/package/ppp/patches/108-debian_pppatm_fix_mtu.patch
blob: d8f17eff0e3d80215ab15bacd17039be02b8addc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- a/pppd/plugins/pppoatm/pppoatm.c
+++ b/pppd/plugins/pppoatm/pppoatm.c
@@ -179,8 +179,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)
@@ -198,8 +201,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)