pppd: pass on the configured upper limit for mtu to the channel that ppp uses
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 10 Oct 2006 12:30:14 +0000 (12:30 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 10 Oct 2006 12:30:14 +0000 (12:30 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@5010 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/ppp/patches/210-lcp_mtu_max.patch [new file with mode: 0644]

diff --git a/package/ppp/patches/210-lcp_mtu_max.patch b/package/ppp/patches/210-lcp_mtu_max.patch
new file mode 100644 (file)
index 0000000..2056a87
--- /dev/null
@@ -0,0 +1,17 @@
+--- ppp-2.4.3/pppd/lcp.c.old   2006-10-10 14:19:11.000000000 +0200
++++ ppp-2.4.3/pppd/lcp.c       2006-10-10 14:19:55.000000000 +0200
+@@ -1891,12 +1891,12 @@
+      * the interface MTU is set to the lowest of that, the
+      * MTU we want to use, and our link MRU.
+      */
+-    mtu = ho->neg_mru? ho->mru: PPP_MRU;
++    mtu = MIN(ho->neg_mru? ho->mru: PPP_MRU, ao->mru);
+     mru = go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU;
+ #ifdef HAVE_MULTILINK
+     if (!(multilink && go->neg_mrru && ho->neg_mrru))
+ #endif /* HAVE_MULTILINK */
+-      netif_set_mtu(f->unit, MIN(MIN(mtu, mru), ao->mru));
++      netif_set_mtu(f->unit, MIN(mtu, mru));
+     ppp_send_config(f->unit, mtu,
+                   (ho->neg_asyncmap? ho->asyncmap: 0xffffffff),
+                   ho->neg_pcompression, ho->neg_accompression);