pppoe: use the interface mtu as upper limit for ppp packet size + header (based on...
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 10 Oct 2006 12:28:30 +0000 (12:28 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 10 Oct 2006 12:28:30 +0000 (12:28 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@5009 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic-2.4/patches/229-pppoe_mtu_fix.patch [new file with mode: 0644]
target/linux/generic-2.6/patches/206-pppoe_mtu_fix.patch [new file with mode: 0644]

diff --git a/target/linux/generic-2.4/patches/229-pppoe_mtu_fix.patch b/target/linux/generic-2.4/patches/229-pppoe_mtu_fix.patch
new file mode 100644 (file)
index 0000000..c2e4f06
--- /dev/null
@@ -0,0 +1,12 @@
+--- linux-2.4.30/drivers/net/pppoe.c.old       2006-10-10 13:49:12.000000000 +0200
++++ linux-2.4.30/drivers/net/pppoe.c   2006-10-10 13:50:02.000000000 +0200
+@@ -639,6 +639,9 @@
+               po->chan.hdrlen = (sizeof(struct pppoe_hdr) +
+                                  dev->hard_header_len);
++              if (po->chan.mtu > dev->mtu - sizeof(struct pppoe_hdr))
++                      po->chan.mtu = dev->mtu - sizeof(struct pppoe_hdr);
++
+               po->chan.private = sk;
+               po->chan.ops = &pppoe_chan_ops;
diff --git a/target/linux/generic-2.6/patches/206-pppoe_mtu_fix.patch b/target/linux/generic-2.6/patches/206-pppoe_mtu_fix.patch
new file mode 100644 (file)
index 0000000..1ad8220
--- /dev/null
@@ -0,0 +1,12 @@
+--- linux-2.6.17/drivers/net/pppoe.c.old       2006-10-10 13:47:56.000000000 +0200
++++ linux-2.6.17/drivers/net/pppoe.c   2006-10-10 13:52:02.000000000 +0200
+@@ -600,6 +600,9 @@
+               po->chan.hdrlen = (sizeof(struct pppoe_hdr) +
+                                  dev->hard_header_len);
++              if (po->chan.mtu > dev->mtu - sizeof(struct pppoe_hdr))
++                      po->chan.mtu = dev->mtu - sizeof(struct pppoe_hdr);
++
+               po->chan.private = sk;
+               po->chan.ops = &pppoe_chan_ops;