1
linux/net/bridge
Simon Wunderlich 4adf0af681 bridge: send correct MTU value in PMTU (revised)
When bridging interfaces with different MTUs, the bridge correctly chooses
the minimum of the MTUs of the physical devices as the bridges MTU.  But
when a frame is passed which fits through the incoming, but not through
the outgoing interface, a "Fragmentation Needed" packet is generated.

However, the propagated MTU is hardcoded to 1500, which is wrong in this
situation.  The sender will repeat the packet again with the same frame
size, and the same problem will occur again.

Instead of sending 1500, the (correct) MTU value of the bridge is now sent
via PMTU.  To achieve this, the corresponding rtable structure is stored
in its net_bridge structure.

Modified to get rid of fake_net_device as well.

Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-07-30 16:27:55 -07:00
..
netfilter netfilter: ebtables: use nf_register_hooks() 2008-07-26 17:47:53 -07:00
br_device.c bridge: send correct MTU value in PMTU (revised) 2008-07-30 16:27:55 -07:00
br_fdb.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
br_forward.c net: Discard and warn about LRO'd skbs received for forwarding 2008-06-19 16:22:28 -07:00
br_if.c bridge: send correct MTU value in PMTU (revised) 2008-07-30 16:27:55 -07:00
br_input.c bridge: handle process all link-local frames 2008-06-17 16:09:45 -07:00
br_ioctl.c net: remove CVS keywords 2008-06-11 21:00:38 -07:00
br_netfilter.c bridge: send correct MTU value in PMTU (revised) 2008-07-30 16:27:55 -07:00
br_netlink.c [NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS. 2008-03-26 04:39:55 +09:00
br_notify.c netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
br_private_stp.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
br_private.h bridge: send correct MTU value in PMTU (revised) 2008-07-30 16:27:55 -07:00
br_stp_bpdu.c netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
br_stp_if.c bridge: make bridge address settings sticky 2008-06-17 16:10:06 -07:00
br_stp_timer.c net: remove CVS keywords 2008-06-11 21:00:38 -07:00
br_stp.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
br_sysfs_br.c net: replace remaining __FUNCTION__ occurrences 2008-03-05 20:47:47 -08:00
br_sysfs_if.c
br.c bridge: Use STP demux 2008-07-05 21:25:56 -07:00
Kconfig bridge: Use STP demux 2008-07-05 21:25:56 -07:00
Makefile