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
|