Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Nov 2022 22:14:26 +0100
From:      tuexen@freebsd.org
To:        freebsd-net <freebsd-net@freebsd.org>
Subject:   ICMPv6 over lo0
Message-ID:  <DDDFD026-72AF-4558-93E4-60D361C671DF@freebsd.org>

next in thread | raw e-mail | index | archive | help
Dear all,

when using the master branch of today (or 13.1) I get when running

tuexen@ampere128:~ % ping6 -c 1 -b 30000 -s 20000 ::1
PING6(20048=3D40+8+20000 bytes) ::1 --> ::1
20008 bytes from ::1, icmp_seq=3D0 hlim=3D64 time=3D0.709 ms

--- ::1 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev =3D 0.709/0.709/0.709/0.000 ms

which is expected. What I don't expect is:

tuexen@ampere128:~ % tcpdump -i lo0 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol =
decode
listening on lo0, link-type NULL (BSD loopback), capture size 262144 =
bytes
22:06:38.835630 IP6 ::1 > ::1: frag (0|1232) ICMP6, echo request, seq 0, =
length 1232
22:06:38.835639 IP6 ::1 > ::1: frag (1232|1232)
22:06:38.835641 IP6 ::1 > ::1: frag (2464|1232)
22:06:38.835641 IP6 ::1 > ::1: frag (3696|1232)
22:06:38.835642 IP6 ::1 > ::1: frag (4928|1232)
22:06:38.835642 IP6 ::1 > ::1: frag (6160|1232)
22:06:38.835643 IP6 ::1 > ::1: frag (7392|1232)
22:06:38.835644 IP6 ::1 > ::1: frag (8624|1232)
22:06:38.835644 IP6 ::1 > ::1: frag (9856|1232)
22:06:38.835645 IP6 ::1 > ::1: frag (11088|1232)
22:06:38.835645 IP6 ::1 > ::1: frag (12320|1232)
22:06:38.835646 IP6 ::1 > ::1: frag (13552|1232)
22:06:38.835647 IP6 ::1 > ::1: frag (14784|1232)
22:06:38.835647 IP6 ::1 > ::1: frag (16016|1232)
22:06:38.835648 IP6 ::1 > ::1: frag (17248|1232)
22:06:38.835648 IP6 ::1 > ::1: frag (18480|1232)
22:06:38.835649 IP6 ::1 > ::1: frag (19712|296)
22:06:38.836002 IP6 ::1 > ::1: frag (0|16336) ICMP6, echo reply, seq 0, =
length 16336
22:06:38.836006 IP6 ::1 > ::1: frag (16336|3672)
^C
19 packets captured
19 packets received by filter
0 packets dropped by kernel

Why is for the Echo Request an MTU of 1280 used, whereas for the =
response an MTU of 16384
is used.

Since
tuexen@ampere128:~ % ifconfig lo0
lo0: flags=3D8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3D680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
	inet 127.0.0.1 netmask 0xff000000
	groups: lo
	nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
is used, I would expect an MTU of 16384 also be used for the Echo =
Request instead of
the minimum IPv6 MTU of 1280.

Is this intended? At least for me, it is not expected...

Best regards
Michael=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DDDFD026-72AF-4558-93E4-60D361C671DF>