kern/179392: [pf] [ip6] Incorrect TCP checksums in rdr return packets
Martin Sugioarto
martin at sugioarto.com
Wed Jan 15 21:50:01 UTC 2014
The following reply was made to PR kern/179392; it has been noted by GNATS.
From: Martin Sugioarto <martin at sugioarto.com>
To: bug-followup at FreeBSD.org, paul at semiocast.com
Cc:
Subject: Re: kern/179392: [pf] [ip6] Incorrect TCP checksums in rdr return
packets
Date: Wed, 15 Jan 2014 22:36:53 +0100
Hello FreeBSD team, hello Paul,
I would like to confirm this. The original PR says it all. I have also
reproduced it on FreeBSD 9.2R.
FreeBSD 9.2-RELEASE-p2 #3 r258725 on amd64
The checksum is not updated, tcpdump says it clearly. The packet is
being quietly dropped and never arrives at the service listening socket.
Here the comparison for two rules for an intercepting HTTP proxy:
# works (IPv4)
rdr on $if_int inet proto tcp \
from any to !$net_int port www -> 127.0.0.1 port 8118
# incorrect checksum (IPv6)
rdr on $if_int inet6 proto tcp \
from any to !$net_int port www -> ::1 port 8118
In my opinion, this is quite important. It costed me a day to find out
what is going on and I have come to the same conclusion as Paul
(independently).
Yours
Martin Sugioarto
More information about the freebsd-pf
mailing list