豆知識
FreeBSD 上でネットワークインターフェイスの MTU を小さくしたあと、
元の MTU に戻しても小さい MTU で通信する。
カーネルルーティングテーブルが MTU を覚えてるのが原因。
long# ping -s 1400 -c 1 union PING union.muranet.jp (192.168.1.62): 1400 data bytes 1408 bytes from 192.168.1.62: icmp_seq=0 ttl=64 time=0.270 ms --- union.muranet.jp ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.270/0.270/0.270/0.000 ms long# ifconfig nfe0 mtu 100 long# ping -s 1400 -c 1 union PING union.muranet.jp (192.168.1.62): 1400 data bytes --- union.muranet.jp ping statistics --- 1 packets transmitted, 0 packets received, 100.0% packet loss long# ifconfig nfe0 mtu 1500 long# netstat -rnW -f inet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Netif Expire default 192.168.1.1 UGS 0 792197 100 nfe0 127.0.0.1 127.0.0.1 UH 0 16669 16384 lo0 192.168.1.0/24 link#3 UC 0 0 1500 nfe0 192.168.1.1 00:80:c8:ca:c4:ca UHLW 2 10610 100 nfe0 1037 192.168.1.2 00:18:f3:ab:4d:d1 UHLW 1 8 16384 lo0 192.168.1.31 00:c0:b7:6a:b3:20 UHLW 1 66 1500 nfe0 773 192.168.1.62 00:1a:4d:45:e8:b4 UHLW 1 21 100 nfe0 1150 long# ping -s 1400 -c 1 union PING union.muranet.jp (192.168.1.62): 1400 data bytes --- union.muranet.jp ping statistics --- 1 packets transmitted, 0 packets received, 100.0% packet loss long# route delete 192.168.1.62 delete host 192.168.1.62 long# ping -s 1400 -c 1 union PING union.muranet.jp (192.168.1.62): 1400 data bytes 1408 bytes from 192.168.1.62: icmp_seq=0 ttl=64 time=0.398 ms --- union.muranet.jp ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.398/0.398/0.398/0.000 ms long#
いつ役に立つのか良く分からない豆知識です。
追記
こちらの方が賢い。
long# route change 192.168.1.62 -mtu 1500 change host 192.168.1.62 long#