openwrt/target/linux/generic-2.6/patches/206-pppoe_mtu_fix.patch

13 lines
432 B
Diff

--- 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;