Page MenuHomeFreeBSD

tuexen (Michael Tuexen)
User

Projects

User Details

User Since
Feb 4 2016, 4:45 PM (530 w, 2 d)

Recent Activity

Yesterday

tuexen added inline comments to D56252: tcp_bblog.4: Add a manual page for TCP Blackbox Logging.
Sat, Apr 4, 7:24 PM
tuexen added a comment to D56252: tcp_bblog.4: Add a manual page for TCP Blackbox Logging.

Thanks for the effort of writing an initial man page. I wanted to do this for a long time...

Sat, Apr 4, 3:37 PM
tuexen added inline comments to D56252: tcp_bblog.4: Add a manual page for TCP Blackbox Logging.
Sat, Apr 4, 3:36 PM
tuexen committed rG0b39d72d0491: virtio: use modern mode for transitional device by default (authored by timo.voelker_fh-muenster.de).
virtio: use modern mode for transitional device by default
Sat, Apr 4, 2:55 PM
tuexen closed D55894: virtio: use modern mode for transitional device by default.
Sat, Apr 4, 2:54 PM
tuexen accepted D55894: virtio: use modern mode for transitional device by default.
Sat, Apr 4, 2:52 PM
tuexen committed rG39c44fc55f0e: virtio.4: fix typo (authored by timo.voelker_fh-muenster.de).
virtio.4: fix typo
Sat, Apr 4, 2:47 PM

Fri, Apr 3

tuexen closed D56025: tcp: retire TF_SENTSYN.
Fri, Apr 3, 7:26 PM
tuexen committed rG32cc4beb0a8c: tcp: retire TF_SENTSYN (authored by tuexen).
tcp: retire TF_SENTSYN
Fri, Apr 3, 7:26 PM

Wed, Apr 1

tuexen added inline comments to D56213: Fix lock order reversal tcpinp -> so_rcv in tcp_mss().
Wed, Apr 1, 12:29 PM

Tue, Mar 31

tuexen accepted D56168: compat/linux: map TCP_USER_TIMEOUT sockopt into TCP_MAXUNACKTIME.
Tue, Mar 31, 8:53 PM
tuexen accepted D56177: tcp lro: use hashalloc(9).
Tue, Mar 31, 4:26 AM

Mon, Mar 30

tuexen added a comment to D56168: compat/linux: map TCP_USER_TIMEOUT sockopt into TCP_MAXUNACKTIME.

The Linux socket option also bound the time user data remains un-transmitted. I guess this is not handled by the FreeBSD one.

Mon, Mar 30, 6:27 PM
tuexen accepted D56168: compat/linux: map TCP_USER_TIMEOUT sockopt into TCP_MAXUNACKTIME.
Mon, Mar 30, 6:26 PM
tuexen added a comment to D56155: siftr: replace macro constants with debug friendly enums.

I think arbitrary unrelated constants should not be put into a single enum.

Mon, Mar 30, 9:54 AM

Sun, Mar 29

tuexen accepted D56144: dpaa2: Perform bus_dma pre-write sync before enqueue operation.

I did a stress test on my ten64 and it is now sending traffic without any problems.

Sun, Mar 29, 5:39 PM

Tue, Mar 24

tuexen accepted D56067: tcp_usrreq: allocate tfo counter when required.
Tue, Mar 24, 9:26 PM
tuexen added inline comments to D56067: tcp_usrreq: allocate tfo counter when required.
Tue, Mar 24, 8:42 PM

Sun, Mar 22

tuexen added a reviewer for D56025: tcp: retire TF_SENTSYN: nickbanks_netflix.com.
Sun, Mar 22, 12:51 PM
tuexen requested review of D56025: tcp: retire TF_SENTSYN.
Sun, Mar 22, 9:24 AM

Thu, Mar 19

tuexen accepted D55969: tcp/rack: don't call call tcp_state_change() before tcp_close().
Thu, Mar 19, 8:14 PM
tuexen accepted D55965: tcp: remove extraneous code.
Thu, Mar 19, 7:21 PM
tuexen added a comment to D55915: pciconf: Add option to write into a BAR region.
In D55915#1279706, @jhb wrote:

I think rather than trying to overload -B, it would be better to just use a different getopt() letter for this mode. I would suggest using -R for reading from a BAR but keep 'D' as an alias for backwards compatibility, and using -W for writing into a BAR.

Thu, Mar 19, 7:18 PM
tuexen accepted D53517: Add ecn(9) manual.
Thu, Mar 19, 8:55 AM
tuexen accepted D53516: Update ip_ecn to RFC 6040.
Thu, Mar 19, 8:52 AM

Mar 4 2026

tuexen committed rG3d69387ece53: tcp: improve NOINET builds (authored by tuexen).
tcp: improve NOINET builds
Mar 4 2026, 2:21 PM

Mar 2 2026

tuexen committed rGc70755bc0d8f: virtio: add loader tunables to sysctl (authored by timo.voelker_fh-muenster.de).
virtio: add loader tunables to sysctl
Mar 2 2026, 6:18 PM
tuexen closed D55533: virtio: add loader tunables to sysctl.
Mar 2 2026, 6:18 PM
tuexen committed rG0272359ada14: arm64/pmap: fix pmap_is_valid_memattr() (authored by timo.voelker_fh-muenster.de).
arm64/pmap: fix pmap_is_valid_memattr()
Mar 2 2026, 6:11 PM
tuexen closed D55534: arm64/pmap: Modify condition of valid_memattr that cannot be true.
Mar 2 2026, 6:11 PM
tuexen accepted D55534: arm64/pmap: Modify condition of valid_memattr that cannot be true.
Mar 2 2026, 5:52 PM

Feb 28 2026

tuexen accepted D55533: virtio: add loader tunables to sysctl.
Feb 28 2026, 9:20 AM
tuexen added a comment to D55534: arm64/pmap: Modify condition of valid_memattr that cannot be true.

Does this patch solve any problem?

Yes. I tried to dump the content of a PCI BAR with:

pciconf -D pci0:0:10:0 0x18 | hexdump

This command failed with EINVAL. It calls pci_bar_mmap(pcidev, pbm) in sys/dev/pci/pci_user.c, which returns EINVAL if pmap_is_valid_memattr(pmap, mode) returns false. With this patch, I was able to dump the content of the PCI BAR.

Feb 28 2026, 8:47 AM

Feb 27 2026

tuexen committed rG6bd97e9e01ff: sctp: fix NOINET build (authored by tuexen).
sctp: fix NOINET build
Feb 27 2026, 7:57 AM
tuexen accepted D55555: dpaa2: improve error messages and log requested cluster size.
Feb 27 2026, 6:34 AM

Feb 26 2026

tuexen added a comment to D55534: arm64/pmap: Modify condition of valid_memattr that cannot be true.

Does this patch solve any problem?

Feb 26 2026, 7:31 PM
tuexen added inline comments to D55533: virtio: add loader tunables to sysctl.
Feb 26 2026, 7:26 PM
tuexen added inline comments to D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 26 2026, 7:05 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Address comment raised by glebius.

Feb 26 2026, 7:04 PM
tuexen added inline comments to D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 26 2026, 8:32 AM

Feb 25 2026

tuexen added inline comments to D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 25 2026, 8:32 PM
tuexen updated the summary of D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 25 2026, 8:28 PM
tuexen updated the summary of D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 25 2026, 8:28 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Use names for members in struct tcpcb as suggested by glebius.

Feb 25 2026, 8:28 PM
tuexen closed D55466: tcp: BBLog incoming packets in TCPS_TIME_WAIT.

Committed in 8d2f910ceb0f.

Feb 25 2026, 1:11 PM
tuexen committed rGf3364d3c8c87: tcp: improve handling of segments in TIME WAIT (authored by tuexen).
tcp: improve handling of segments in TIME WAIT
Feb 25 2026, 1:09 PM
tuexen closed D55489: tcp: improve handling of segments in TIME WAIT.
Feb 25 2026, 1:09 PM
tuexen committed rG8d2f910ceb0f: tcp: BBLog incoming packets in TCPS_TIME_WAIT (authored by tuexen).
tcp: BBLog incoming packets in TCPS_TIME_WAIT
Feb 25 2026, 1:05 PM
tuexen committed rG454212b9718b: sctp: fix so_proto when peeling off a socket (authored by tuexen).
sctp: fix so_proto when peeling off a socket
Feb 25 2026, 1:00 PM
tuexen closed D55454: sctp: fix so_proto when peeling off a socket .
Feb 25 2026, 1:00 PM
tuexen accepted D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
Feb 25 2026, 7:36 AM

Feb 24 2026

tuexen added inline comments to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
Feb 24 2026, 5:31 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
In D55460#1269594, @rrs wrote:

include close-wait

Feb 24 2026, 5:29 PM
tuexen accepted D55459: Mitigate a case where TCP rack can send an extra ack..
Feb 24 2026, 3:28 PM
tuexen added inline comments to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
Feb 24 2026, 3:27 PM
tuexen requested review of D55489: tcp: improve handling of segments in TIME WAIT.
Feb 24 2026, 3:13 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
In D55460#1269353, @rrs wrote:
In D55460#1269031, @rrs wrote:

The reason I am suggesting to include FIN WAIT 1/2 is that we stopped sending, but the
peer can send us data for an unlimited amount of time.. Shouldn't this data transfer towards
us be able to use ECN? That would mean we should send ACKs based on the received ECN markings.
Am I wrong with this? Why shouldn't half closed TCP connections not use ECN for the
direction data is still sent?

Hmm FIN WAIT 2, yes I can see that since at that point you have transitioned to fully closed. And yes
the peer could keep in established on its side a long time.. But are you not in the middle of your close
in FIN WAIT 1?

Have a look at state diagram.
When you close your writing end, you send a FIN and enter FIN WAIT 1. When you receive the ACK for this FIN, you enter FIN WAIT 2. From the perspective of your peer, there is no difference if you are in FIN WAIT 1 or FIN WAIT 2 (or ESTABLISHED). The peer can send data. As long as it can send data, ECN should be usable, I think.

I will update the review.. however I have trepidation on this whole issue. You have two ack-regimes going on.

  1. TCP's normal acking -- delayed ack or ack every packet
  2. ECN commanding acks.

Now the interaction of the two regimes could prove interesting with un-anticipated consequences. Especially in
state machine transitions. So though yes, FIN WAIT 1/2 probably should be included in the exception list, I just
feel we could have issues down the road.. not sure what, but just the interactions of these algorithms could
be a src of problems... In ESTABLISHED I see no problem worse that happens is you end up acking every packet.
But in any other state I wonder...

I will increase your exclusions.. but I am concerned...

Feb 24 2026, 1:37 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
In D55460#1269031, @rrs wrote:

The reason I am suggesting to include FIN WAIT 1/2 is that we stopped sending, but the
peer can send us data for an unlimited amount of time.. Shouldn't this data transfer towards
us be able to use ECN? That would mean we should send ACKs based on the received ECN markings.
Am I wrong with this? Why shouldn't half closed TCP connections not use ECN for the
direction data is still sent?

Hmm FIN WAIT 2, yes I can see that since at that point you have transitioned to fully closed. And yes
the peer could keep in established on its side a long time.. But are you not in the middle of your close
in FIN WAIT 1?

Feb 24 2026, 12:12 AM

Feb 23 2026

tuexen requested review of D55466: tcp: BBLog incoming packets in TCPS_TIME_WAIT.
Feb 23 2026, 7:08 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
In D55460#1268987, @rrs wrote:

LGTM

I think CLOSE WAIT should be replaced by FIN WAIT 1 and FIN WAIT 2. My mistake.

Actually no. I don't think so. The idea here is the main stack *not* ecn should be controlling what
acks are sent when we are closing. In FIN WAIT1/2 we are doing the 4-way handshake dance and
ECN (and any CC behind it) needs to not be involved with it. The stack in theory should still
react the correct way and go through the proper handshake sending acks finacks and anything
else it needs. We just don't want ECN toggling in TH_ACKNOW in the middle since it is
unaware of the 4 way shutdown taking place..

Feb 23 2026, 6:55 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..

LGTM

Feb 23 2026, 5:14 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
In D55460#1268552, @rrs wrote:

What is with BBR?

Hmm well for BBR its a non-issue since BBRv1 does *not* support ECN. And yes thinking on it

OK.

being in CLOSE_WAIT should still allow ack's to go out. I will change that...

Feb 23 2026, 4:55 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..
In D55460#1268933, @rrs wrote:

Ok I have added the CLOSE_WAIT stage Michael suggested. However I am not
sure that is a wise thing. It may mean an extra ack in the closing state i.e. while you
are waiting for your user to close.. but on the other hand that may take a *very* long
time.. so I am ambivalent about it

Feb 23 2026, 4:55 PM
tuexen updated the test plan for D55459: Mitigate a case where TCP rack can send an extra ack..
Feb 23 2026, 4:44 PM
tuexen added a comment to D55459: Mitigate a case where TCP rack can send an extra ack..

I added a script which show the behavior before the patch. I also cleaned up the formatting of the script showing the behavior after the script.

Feb 23 2026, 3:49 PM
tuexen updated the test plan for D55459: Mitigate a case where TCP rack can send an extra ack..
Feb 23 2026, 3:43 PM
tuexen added a reviewer for D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits.: tuexen.
Feb 23 2026, 3:15 PM
tuexen added a comment to D55460: When TCP ECN decides it wants to assure an ACK is sent it needs to do it correctly and with some limits..

What is with BBR?

Feb 23 2026, 3:15 PM
tuexen updated the test plan for D55459: Mitigate a case where TCP rack can send an extra ack..
Feb 23 2026, 3:06 PM
tuexen added a comment to D55454: sctp: fix so_proto when peeling off a socket .
In D55454#1268359, @bms wrote:

Any plans to add gencnt to SCTP sockets?

Olivier Van Acker did a GenAI lemming run with Cursor last week to auto-generate sctpsso(8) from tcpsso(8) as a template.

Whilst it generated an (at first) viable looking code artefact that compiled without error against FreeBSD 15.0-RELEASE, the AI model concerned had hallucinated the existence of two major things: gencnt existing for SCTP sockets, and a *.sockopt sysctl for SCTP to actually set the options.

Feb 23 2026, 12:15 PM
tuexen requested review of D55454: sctp: fix so_proto when peeling off a socket .
Feb 23 2026, 9:03 AM

Feb 22 2026

tuexen closed D55415: tcp: cleanup.
Feb 22 2026, 5:46 PM
tuexen committed rGc984c7593e11: tcp: cleanup (authored by tuexen).
tcp: cleanup
Feb 22 2026, 5:46 PM
tuexen added a comment to D55410: tcp: improve validation of received TCP over UDP packets.

I agree on @pouria's comment.

A __predict_false makes sense in the IPv6 case as well.

Feb 22 2026, 1:14 PM
tuexen committed rGea75f726c432: icmp6: clear csum_flags on mbuf reuse (authored by timo.voelker_fh-muenster.de).
icmp6: clear csum_flags on mbuf reuse
Feb 22 2026, 9:48 AM

Feb 21 2026

tuexen added a reviewer for D55415: tcp: cleanup: rrs.
Feb 21 2026, 5:14 PM
tuexen accepted D55321: dpaa2: ni: add more stats and link information.
Feb 21 2026, 5:07 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

With context.

Feb 21 2026, 8:36 AM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Rebase and cleanup.

Feb 21 2026, 8:35 AM
tuexen requested review of D55415: tcp: cleanup.
Feb 21 2026, 8:21 AM

Feb 20 2026

tuexen added inline comments to D55410: tcp: improve validation of received TCP over UDP packets.
Feb 20 2026, 9:30 PM
tuexen committed rGe1886559ea47: tcp: improve validation of received TCP over UDP packets (authored by tuexen).
tcp: improve validation of received TCP over UDP packets
Feb 20 2026, 9:25 PM
tuexen closed D55410: tcp: improve validation of received TCP over UDP packets.
Feb 20 2026, 9:24 PM
tuexen accepted D55410: tcp: improve validation of received TCP over UDP packets.
Feb 20 2026, 9:17 PM
tuexen retitled D55410: tcp: improve validation of received TCP over UDP packets from tcp: improve validation of received TCP/UDP packets to tcp: improve validation of received TCP over UDP packets.
Feb 20 2026, 9:13 PM
tuexen requested review of D55410: tcp: improve validation of received TCP over UDP packets.
Feb 20 2026, 8:46 PM
tuexen updated the test plan for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 20 2026, 8:21 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Minor cleanup.

Feb 20 2026, 8:20 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Update names of structure and provide a way that setsocktion SO_LINGER is not required anymore.

Feb 20 2026, 8:17 PM

Feb 19 2026

tuexen committed rG0a87ae18331d: icmp6: clear csum_flags on mbuf reuse (authored by timo.voelker_fh-muenster.de).
icmp6: clear csum_flags on mbuf reuse
Feb 19 2026, 6:58 PM
tuexen committed rGada4dc77577f: icmp6: clear csum_flags on mbuf reuse (authored by timo.voelker_fh-muenster.de).
icmp6: clear csum_flags on mbuf reuse
Feb 19 2026, 2:22 PM
tuexen closed D55367: icmp6: Remove csum_flags on mbuf reused for ICMP message.
Feb 19 2026, 2:21 PM
tuexen accepted D55367: icmp6: Remove csum_flags on mbuf reused for ICMP message.
Feb 19 2026, 1:05 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Improve inputs validation for UDP encapsulated TCP segments.

Feb 19 2026, 10:30 AM

Feb 18 2026

tuexen updated the test plan for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.
Feb 18 2026, 9:25 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Fix checksum computation.

Feb 18 2026, 9:23 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Fix TCP over UDP tunneling.

Feb 18 2026, 8:50 PM
tuexen added a comment to D34139: tcpsso, a tool to set socket options for TCP endpoints via the command line.
In D34139#1266200, @bms wrote:

TCP_NODELAY is missing from the man page (15.0p3).

Feb 18 2026, 6:18 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Fix sender side stats counter and teach netstat how to print the stats counters added in this patch.

Feb 18 2026, 5:08 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Allow socket option processing on inps with the INP_DROPPED flag set only for getsockopt() of the IPPROTO_TCP-level socket option with name TCP_RST_REASON_CODE, as glebius suggested.

Feb 18 2026, 3:07 PM