summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-10 12:28:30 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-10 12:28:30 +0000
commit56a341a5b9325c32eafe678919862f56cb0ffc56 (patch)
tree8d272ce1e4b9308ad58af66aacdb977154787c18
parent524925e2bd98f2cd8ba4d0af3ae7333f861ed514 (diff)
pppoe: use the interface mtu as upper limit for ppp packet size + header (based on a patch by Dirk Nehring)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@5009 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/generic-2.4/patches/229-pppoe_mtu_fix.patch12
-rw-r--r--target/linux/generic-2.6/patches/206-pppoe_mtu_fix.patch12
2 files changed, 24 insertions, 0 deletions
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
index 0000000000..c2e4f064ca
--- /dev/null
+++ b/target/linux/generic-2.4/patches/229-pppoe_mtu_fix.patch
@@ -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
index 0000000000..1ad8220f8f
--- /dev/null
+++ b/target/linux/generic-2.6/patches/206-pppoe_mtu_fix.patch
@@ -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;
+