[Bug 254675] ICMP Unreach needfrag is broken in 13.0-RC4

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 19 May 2025 08:20:18 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254675

mjl@luckie.org.nz changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mjl@luckie.org.nz

--- Comment #5 from mjl@luckie.org.nz ---
Yes.

I'm on 14.2 and I too see the frag needed on loopback in IPv4, but only as of
today.  It hadn't occurred to me that that is where the PTBs were, so I've only
looked to see that's where they are.  The same system generates packet too big
messages correctly in IPv6 (without the presence of NAT).

$ sudo tcpdump -n -v -i lo0
Password:
tcpdump: listening on lo0, link-type NULL (BSD loopback), snapshot length
262144 bytes
20:11:51.330869 IP (tos 0x0, ttl 64, id 59115, offset 0, flags [none], proto
ICMP (1), length 596, bad cksum 0 (->7048)!)
    127.0.0.1 > 118.92.XXX.XXX: ICMP 192.172.226.122 unreachable - need to frag
(mtu 1492), length 576
        IP (tos 0x0, ttl 254, id 18, offset 0, flags [DF], proto UDP (17),
length 1500)
    118.92.XXX.XXX.65426 > 192.172.226.122.33435: UDP, length 1472

Setup is:

em0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
        inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255
tun0: flags=1008051<UP,POINTOPOINT,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu
1492
        options=80000<LINKSTATE>
        inet 118.92.XXX.XXX --> 118.92.XXX.XXX netmask 0xffffff00

ipfw, with kernel nat.

Note that the packet too big message should be sent on em0, with a source
address of 192.168.3.1, to 192.168.3.XXX.  Instead, its being generated on
loopback, and with a destination address derived from tun0.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.