Subject: talking to mtu 1500 mtu hosts on a mtu 9000 network
To: None <netbsd-help@netbsd.org>
From: Tobias Nygren <tnn+nbsd@nygren.pp.se>
List: netbsd-help
Date: 08/29/2006 18:16:58
I have a gigabit ethernet network with mostly mtu 9000 equipment.
I need one of my mtu 9000 machines (ip .33) to talk one that does only
mtu 1500 (.33). This can be done by manipulating the routing table.
ti0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
capabilities=3f00<...>
enabled=0
address: 00:60:6d:21:1d:9f
media: Ethernet autoselect (1000baseSX full-duplex)
status: active
inet 172.18.1.33 netmask 0xffffffe0 broadcast 172.18.1.63
inet6 fe80::260:6dff:fe21:1d9f%ti0 prefixlen 64 scopeid 0x1
Ping from 172.18.1.33 to 172.18.1.35 with packets smaller than 1500 works.
I tried "route add -host 172.18.1.35 -mtu 1500 -interface 172.18.1.33",
which gives this netstat -rn output:
172.18.1.32/27 link#1 UC - ti0
172.18.1.34 00:60:08:f6:08:bc UHLc - ti0
172.18.1.35 172.18.1.33 UHS 1500 ti0
But now no ping packets leave the box. Maybe I misunderstood the
intended use of the -interface flag?
So instead I added a static arp entry for .35:
arp -s 172.18.1.35 00:50:56:00:00:01
route change -host 172.18.1.35 -mtu 1500
Which gives this netstat -rn output:
172.18.1.35 00:50:56:00:00:01 UHLS 1500 ti0
This works as expected. Packets larger than 1500 get fragmented
on their way out.
Is is possible to fragment packets to 172.18.1.35 without a static
arp entry?
Thanks,
-Tobias