Page MenuHomeFreeBSD

tuexen (Michael Tuexen)
User

Projects

User Details

User Since
Feb 4 2016, 4:45 PM (537 w, 6 d)

Recent Activity

Yesterday

tuexen closed D56623: if_awg: improve transmit checksum offload.

This was committed (by accident) in[[ https://cgit.FreeBSD.org/src/commit/?id=1bfd392b9e4dcddef3d80efaa517fafa648cd0b1 | 1bfd392b9e4d ]].

Wed, May 27, 3:18 PM

Fri, May 22

tuexen added inline comments to D57104: tcp: improve TCP fast open with source routing.
Fri, May 22, 11:19 AM
tuexen updated the diff for D57104: tcp: improve TCP fast open with source routing.

Address Marks comment.

Fri, May 22, 11:15 AM

Thu, May 21

tuexen added a comment to D57155: tcp: remove ddb(4) support.

I actually used and extended it. For example, syzkaller is dumping the information for all locked tcpcbs when panicing. This gives at least some information in a situation where you cannot access a core. This was good enough for me to fix some bugs.

Thu, May 21, 8:52 PM
tuexen committed rG151d5f620d9a: ipfw: fix checksum after NAT (authored by timo.voelker_fh-muenster.de).
ipfw: fix checksum after NAT
Thu, May 21, 11:26 AM
tuexen committed rG198379d2c29f: ipfw: fix checksum after NAT (authored by timo.voelker_fh-muenster.de).
ipfw: fix checksum after NAT
Thu, May 21, 11:14 AM
tuexen committed rG81b47a7c604f: ipfw: fix checksum after NAT (authored by timo.voelker_fh-muenster.de).
ipfw: fix checksum after NAT
Thu, May 21, 11:08 AM
tuexen closed D57091: ipfw: fix checksum after NAT.
Thu, May 21, 11:08 AM
tuexen added a comment to D56623: if_awg: improve transmit checksum offload.
In D56623#1297750, @ivy wrote:

i don't feel competent to review this (i don't own the hardware and know nothing about it) but @thj has committed to if_awg recently and might be able to help.

Thu, May 21, 10:48 AM
tuexen added a reviewer for D56623: if_awg: improve transmit checksum offload: thj.
Thu, May 21, 10:47 AM

Wed, May 20

tuexen added inline comments to D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 9:22 PM
tuexen updated the diff for D57104: tcp: improve TCP fast open with source routing.

A second proposed solution integrating Patrick's proposal. Now ipopts is handled like cred.

Wed, May 20, 8:28 PM
tuexen added inline comments to D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 8:21 PM
tuexen added inline comments to D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 7:56 PM
tuexen added a comment to D57104: tcp: improve TCP fast open with source routing.

I like Patrick's change more, but maybe with more verbose comment.

Wed, May 20, 7:47 PM
tuexen added a comment to D57104: tcp: improve TCP fast open with source routing.

Of course this gets things a bit more sophisticated. I don't like that syncache_socket() will again pull the ipopts from the mbuf as the syncache_add() already just did. Maybe after the fix try to make this less sophisticated?

Wed, May 20, 7:45 PM
tuexen added inline comments to D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 6:58 PM
tuexen updated the summary of D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 12:50 PM
tuexen added inline comments to D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 12:50 PM
tuexen added a comment to D57104: tcp: improve TCP fast open with source routing.
In D57104#1308954, @bms wrote:

s/net.inet.ip.accept_sourcerouting/net.inet.ip.accept_sourceroute/

Wed, May 20, 12:30 PM
tuexen updated the summary of D57104: tcp: improve TCP fast open with source routing.
Wed, May 20, 12:30 PM

Tue, May 19

tuexen accepted D57101: tcp: Remove a no-op eventhandler.
Tue, May 19, 10:05 PM
tuexen requested review of D57104: tcp: improve TCP fast open with source routing.
Tue, May 19, 9:58 PM
tuexen committed rG61c9f9b482ca: tcp: cleanup (authored by tuexen).
tcp: cleanup
Tue, May 19, 2:58 PM
tuexen committed rGefd07ee95616: tcp: improve validation of received TCP over UDP packets (authored by tuexen).
tcp: improve validation of received TCP over UDP packets
Tue, May 19, 2:57 PM
tuexen committed rGde69cf1dfd23: tcp: cleanup (authored by tuexen).
tcp: cleanup
Tue, May 19, 2:45 PM
tuexen committed rGede0f15e03e0: tcp: improve validation of received TCP over UDP packets (authored by tuexen).
tcp: improve validation of received TCP over UDP packets
Tue, May 19, 2:44 PM
tuexen accepted D57091: ipfw: fix checksum after NAT.
Tue, May 19, 2:28 PM
tuexen committed rGe90a0118a734: sctp: fix NOINET build (authored by tuexen).
sctp: fix NOINET build
Tue, May 19, 10:43 AM
tuexen committed rG9c440e552c4c: sctp: fix NOINET build (authored by tuexen).
sctp: fix NOINET build
Tue, May 19, 10:19 AM

Mon, May 18

tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.
In D57045#1307590, @des wrote:

I would definitely argue that not implementing a 15-year-old IETF BCP is a bug.

OK. So I learn that implementing a BCP is considered a bugfix and can be brought in via an EN.

There are no hard rules for determining whether a bugfix should be published as an EN. It's a judgement call:

  • Does the change fix a widely reported problem? If only a few users seem to need the change (e.g., the patched feature is not widely used), we are less likely to issue an EN.
  • Does the problem have a workaround? If so, then the pressure to publish an EN is lower.
  • Is the patch complex and likely to introduce regressions or change behaviour in a surprising way? If so, we will be less comfortable publishing it.
Mon, May 18, 2:45 PM
tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.

OK. So you want to have an EN to add a feature to 15.0? Why do you need to complexity of the sysctl? Why can't you just take what is in the main, stable/15, and stable/14 branch?

Just to be clear: I like the support of RFC 6191. I just want to understand why you don't want to have it and therefore need a sysctl variable?

Because ENs should be conservative: users applying changes with freebsd-update cannot pick and choose the patches they apply. So changes shipped that way should aim to do as little as possible.

Can't the people provide a patch for their system or do they need an EN? If they need an EN, which do you need something you can disable? Wouldn't it be acceptable to just enable support for RFC 6191 unconditionally?

I am not convinced that we need or want this sysctl in main, stable/* etc.. But if we're going to ship the change in an EN, I think we should avoid changing the behaviour by default in releng/*; those that explicitly want RFC 6191 support can opt in. That's why I (on behalf of secteam) asked for the sysctl.

OK. So we want to deliver a new feature, off by default, in a EN to released versions and allow people to enable it. I just wasn't aware that we do this. But shouldn't we then also disable this feature in stable branches? In particular, should we disable this for 15.1? I can revert my unconditional enabling of RFC 6191 support and ask re@ to merge that into releng/15.1.

I don't really see why, unless the change is particularly risky. Users upgrading to 15.1 or tracking stable have more options if the upgrade causes problems, they can roll back to 15.0 or revert a particular patch etc.. Users applying SA/EN patches have fewer options, so we should avoid publishing ENs unless we're very confident in the change. In this case, the change seems delicate enough that we shouldn't automatically enable it.

Mon, May 18, 2:29 PM
tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.
In D57045#1307590, @des wrote:

I would definitely argue that not implementing a 15-year-old IETF BCP is a bug.

Mon, May 18, 2:23 PM
tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.

OK. So you want to have an EN to add a feature to 15.0? Why do you need to complexity of the sysctl? Why can't you just take what is in the main, stable/15, and stable/14 branch?

Just to be clear: I like the support of RFC 6191. I just want to understand why you don't want to have it and therefore need a sysctl variable?

Because ENs should be conservative: users applying changes with freebsd-update cannot pick and choose the patches they apply. So changes shipped that way should aim to do as little as possible.

Can't the people provide a patch for their system or do they need an EN? If they need an EN, which do you need something you can disable? Wouldn't it be acceptable to just enable support for RFC 6191 unconditionally?

I am not convinced that we need or want this sysctl in main, stable/* etc.. But if we're going to ship the change in an EN, I think we should avoid changing the behaviour by default in releng/*; those that explicitly want RFC 6191 support can opt in. That's why I (on behalf of secteam) asked for the sysctl.

Mon, May 18, 1:52 PM
tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.
In D57045#1307179, @des wrote:

Please note that the support of RFC 6191 has been MFC'ed to stable/14 and stable/15. I did not use a sysctl variable, since I don't see a need for adding the configuration complexity for this feature. Why would you want to not use it?

Our intention is to merge this to 15 and 14 as well, then do an EN with the combined change.

What is the errata about? Did my change introduce a bug? Adding the sysctl-variable doubles the testing effort. Not sure why we need it. Could you elaborate?

Ideally we deprecate the sysctl in the medium-term, but the desire is that we have the RFC6191 behavior in release branches to be able to solve the bug originally reported. There's some desire to be more conservative since there have been few known reports of bugs with the previous behavior, so the knob allows it to be retrofitted without breaking anyone.

Are there any reports that the new behavior is problematic? The current behavior is not a bug. Adding support RFC 6191 is adding a feature which will be in upcoming 15 and 14 releases. Are we using ENs to add features?

The pre-6191 behavior is a bug for the folks that originally requested it, because it results in significant drops that should be avoided. The new feature that avoids those drops is incredibly light and easy to keep disabled for the release branches only, thus the knob that will get its default flipped for existing releases (but maintain current state in stable and main).

Mon, May 18, 1:27 PM
tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.
In D57045#1307179, @des wrote:

Please note that the support of RFC 6191 has been MFC'ed to stable/14 and stable/15. I did not use a sysctl variable, since I don't see a need for adding the configuration complexity for this feature. Why would you want to not use it?

Our intention is to merge this to 15 and 14 as well, then do an EN with the combined change.

What is the errata about? Did my change introduce a bug? Adding the sysctl-variable doubles the testing effort. Not sure why we need it. Could you elaborate?

Ideally we deprecate the sysctl in the medium-term, but the desire is that we have the RFC6191 behavior in release branches to be able to solve the bug originally reported. There's some desire to be more conservative since there have been few known reports of bugs with the previous behavior, so the knob allows it to be retrofitted without breaking anyone.

Mon, May 18, 11:35 AM

Sun, May 17

tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.
In D57045#1307179, @des wrote:

Please note that the support of RFC 6191 has been MFC'ed to stable/14 and stable/15. I did not use a sysctl variable, since I don't see a need for adding the configuration complexity for this feature. Why would you want to not use it?

Our intention is to merge this to 15 and 14 as well, then do an EN with the combined change.

Sun, May 17, 4:23 PM
tuexen added a comment to D57045: tcp: Make RFC 6191 support configurable.

Please note that the support of RFC 6191 has been MFC'ed to stable/14 and stable/15. I did not use a sysctl variable, since I don't see a need for adding the configuration complexity for this feature. Why would you want to not use it?

Sun, May 17, 4:20 PM
tuexen accepted D57045: tcp: Make RFC 6191 support configurable.
Sun, May 17, 4:13 PM

Tue, May 12

tuexen closed D56972: sys/time: add bintime2us() helper.
Tue, May 12, 7:31 PM
tuexen committed rGd1aee9f1535b: sys/time.h: add bintime2us() helper (authored by nickbanks_netflix.com).
sys/time.h: add bintime2us() helper
Tue, May 12, 7:31 PM
tuexen accepted D56972: sys/time: add bintime2us() helper.
Tue, May 12, 6:48 PM

Mon, May 11

tuexen accepted D56943: tests/tcp_hpts_test: Fix more resource leaks.
Mon, May 11, 3:11 PM

Thu, Apr 30

tuexen committed rGcf678e30ca01: devfs: add bpf example (authored by tuexen).
devfs: add bpf example
Thu, Apr 30, 8:39 PM
tuexen closed D56742: devfs: add bpf examples.
Thu, Apr 30, 8:39 PM
tuexen added inline comments to D56742: devfs: add bpf examples.
Thu, Apr 30, 8:16 PM
tuexen updated the diff for D56742: devfs: add bpf examples.

Be more explicit in the comment as suggested my markj@ and rscheff@.

Thu, Apr 30, 8:14 PM
tuexen added inline comments to D56742: devfs: add bpf examples.
Thu, Apr 30, 8:02 PM
tuexen updated the diff for D56742: devfs: add bpf examples.

Use bpf instead of bpf* as suggested by markj@.

Thu, Apr 30, 8:00 PM
tuexen added a comment to D56742: devfs: add bpf examples.

Sorry for slightly switching context. This actually links to the recent "regression" that I planted. With a new API to get exact list of possible bpf taps, instead of guessing via getifaddrs(3) + list USB buses, the building of the list requires privileges. Previously you could run tcpdump -D without privileges on FreeBSD, now it can't. The wireshark/tcpdump guys think that it is a regression and should be fixed.

I can understand that.

There are two ways to solve:

  1. Change permissions on /dev/bpf and do privileges checking inside the device code. Allow BIOCGETIFLIST for unprivileged user.
  2. In libpcap fallback to getifaddrs(3)+/dev/usb guessing if opening /dev/bpf failed.

Your opinions?

I would tend to 2. I guess most people run at least wireshark with 0660 on bpf devices, since this is what it recommended when the port is installed, they would get the new code with higher quality output. The rest gets what it was getting earlier.

Thu, Apr 30, 7:32 PM
tuexen added a comment to D56742: devfs: add bpf examples.

In particular, this allows members of the network group to monitor traffic without running with root privileges.

It also lets those members inject packets... maybe the suggested permissions should be 0640 at least?

Thu, Apr 30, 7:22 PM
tuexen updated the diff for D56742: devfs: add bpf examples.

Use 0640 as markj@ suggested.

Thu, Apr 30, 7:20 PM
tuexen requested review of D56742: devfs: add bpf examples.
Thu, Apr 30, 11:01 AM

Apr 27 2026

tuexen added a reviewer for D56623: if_awg: improve transmit checksum offload: ivy.
Apr 27 2026, 5:25 AM
tuexen accepted D56651: if_awg: Add missing awg_poll() prototype.
Apr 27 2026, 5:24 AM

Apr 26 2026

tuexen accepted D56647: tests/tcp_hpts_test: Fix resource leaks.
Apr 26 2026, 3:36 PM
tuexen committed rG28932dc425e1: tuntap: add SIOCGIFCAP and SIOCSIFCAP ioctls (authored by timo.voelker_fh-muenster.de).
tuntap: add SIOCGIFCAP and SIOCSIFCAP ioctls
Apr 26 2026, 10:00 AM
tuexen closed D51289: tuntap: add SIOCGIFCAP and SIOCSIFCAP ioctls.
Apr 26 2026, 10:00 AM
tuexen accepted D51289: tuntap: add SIOCGIFCAP and SIOCSIFCAP ioctls.
Apr 26 2026, 9:48 AM
tuexen committed rG1bfd392b9e4d: vtnet: remove loader tunable fixup_needs_csum (authored by timo.voelker_fh-muenster.de).
vtnet: remove loader tunable fixup_needs_csum
Apr 26 2026, 9:47 AM
tuexen closed D55588: vtnet: remove loader tunable fixup_needs_csum.
Apr 26 2026, 9:46 AM
tuexen accepted D55588: vtnet: remove loader tunable fixup_needs_csum.
Apr 26 2026, 9:28 AM
tuexen committed rGdd0e6909ca84: tcp: use RFC 6191 for connection recycling in TIME-WAIT (authored by tuexen).
tcp: use RFC 6191 for connection recycling in TIME-WAIT
Apr 26 2026, 9:28 AM
tuexen committed rG68a749fbd497: bpf: fix handling the read timeout on ppc64 (authored by tuexen).
bpf: fix handling the read timeout on ppc64
Apr 26 2026, 9:27 AM
tuexen committed rG00bf1bc888bb: virtio.4: fix typo (authored by timo.voelker_fh-muenster.de).
virtio.4: fix typo
Apr 26 2026, 9:26 AM
tuexen committed rGe4e27b6edcfb: tcp: improve NOINET builds (authored by tuexen).
tcp: improve NOINET builds
Apr 26 2026, 9:23 AM
tuexen committed rG32f8c7821394: virtio: add loader tunables to sysctl (authored by timo.voelker_fh-muenster.de).
virtio: add loader tunables to sysctl
Apr 26 2026, 9:23 AM
tuexen committed rG5c6a4b3f8965: arm64/pmap: fix pmap_is_valid_memattr() (authored by timo.voelker_fh-muenster.de).
arm64/pmap: fix pmap_is_valid_memattr()
Apr 26 2026, 9:22 AM
tuexen committed rG53d8d57fa5e2: tcp: improve handling of segments in TIME WAIT (authored by tuexen).
tcp: improve handling of segments in TIME WAIT
Apr 26 2026, 9:14 AM
tuexen committed rG328210f0efc2: tcp: BBLog incoming packets in TCPS_TIME_WAIT (authored by tuexen).
tcp: BBLog incoming packets in TCPS_TIME_WAIT
Apr 26 2026, 9:13 AM
tuexen committed rGdd4e2803da39: sctp: fix so_proto when peeling off a socket (authored by tuexen).
sctp: fix so_proto when peeling off a socket
Apr 26 2026, 9:08 AM
tuexen committed rG2c8205002d94: ure: improve receive checksum offloading (authored by tuexen).
ure: improve receive checksum offloading
Apr 26 2026, 8:32 AM
tuexen committed rG32067a7f49a3: ure: improve transmit checksum offloading (authored by tuexen).
ure: improve transmit checksum offloading
Apr 26 2026, 8:30 AM
tuexen committed rGd3234683f88d: ifinfo: improve output of hwassist value (authored by timo.voelker_fh-muenster.de).
ifinfo: improve output of hwassist value
Apr 26 2026, 8:26 AM
tuexen committed rG70cfba4a0462: sctp: fix socket type created by sctp_peeloff() (authored by tuexen).
sctp: fix socket type created by sctp_peeloff()
Apr 26 2026, 8:24 AM
tuexen committed rGa0a0fa1dd922: ure: improve checksum offloading (authored by tuexen).
ure: improve checksum offloading
Apr 26 2026, 8:23 AM
tuexen committed rGacbc8e49ae0f: epair: add VLAN_HWTAGGING (authored by timo.voelker_fh-muenster.de).
epair: add VLAN_HWTAGGING
Apr 26 2026, 8:23 AM
tuexen committed rG453958b8d889: ip: improve deferred computation of checksums (authored by timo.voelker_fh-muenster.de).
ip: improve deferred computation of checksums
Apr 26 2026, 8:17 AM
tuexen committed rG724ad12c947d: tcp: use RFC 6191 for connection recycling in TIME-WAIT (authored by tuexen).
tcp: use RFC 6191 for connection recycling in TIME-WAIT
Apr 26 2026, 8:11 AM
tuexen committed rG8e629780d32f: bpf: fix handling the read timeout on ppc64 (authored by tuexen).
bpf: fix handling the read timeout on ppc64
Apr 26 2026, 8:10 AM
tuexen committed rGb063cfb20aa8: virtio.4: fix typo (authored by timo.voelker_fh-muenster.de).
virtio.4: fix typo
Apr 26 2026, 8:09 AM
tuexen committed rGd3e3c9a93b77: tcp: retire TF_SENTSYN (authored by tuexen).
tcp: retire TF_SENTSYN
Apr 26 2026, 8:08 AM
tuexen committed rGc8fa77d8e9fa: tcp: improve NOINET builds (authored by tuexen).
tcp: improve NOINET builds
Apr 26 2026, 8:06 AM
tuexen committed rG8e13e9865402: virtio: add loader tunables to sysctl (authored by timo.voelker_fh-muenster.de).
virtio: add loader tunables to sysctl
Apr 26 2026, 8:06 AM
tuexen committed rG09bcf5a57a13: arm64/pmap: fix pmap_is_valid_memattr() (authored by timo.voelker_fh-muenster.de).
arm64/pmap: fix pmap_is_valid_memattr()
Apr 26 2026, 8:04 AM
tuexen committed rG88603890a770: tcp: improve handling of segments in TIME WAIT (authored by tuexen).
tcp: improve handling of segments in TIME WAIT
Apr 26 2026, 7:59 AM
tuexen committed rG5a29c53eb3b4: tcp: BBLog incoming packets in TCPS_TIME_WAIT (authored by tuexen).
tcp: BBLog incoming packets in TCPS_TIME_WAIT
Apr 26 2026, 7:58 AM
tuexen committed rG902f2016450a: sctp: fix so_proto when peeling off a socket (authored by tuexen).
sctp: fix so_proto when peeling off a socket
Apr 26 2026, 7:57 AM
tuexen committed rGf2d2ce09fd95: ure: improve receive checksum offloading (authored by tuexen).
ure: improve receive checksum offloading
Apr 26 2026, 7:52 AM
tuexen committed rGa095924c7d4c: ure: improve transmit checksum offloading (authored by tuexen).
ure: improve transmit checksum offloading
Apr 26 2026, 7:51 AM
tuexen committed rG19fb4df14257: sctp: fix socket type created by sctp_peeloff() (authored by tuexen).
sctp: fix socket type created by sctp_peeloff()
Apr 26 2026, 7:49 AM
tuexen committed rG86970ddcc829: ure: improve checksum offloading (authored by tuexen).
ure: improve checksum offloading
Apr 26 2026, 7:48 AM
tuexen committed rGb10d8b3b9134: epair: add VLAN_HWTAGGING (authored by timo.voelker_fh-muenster.de).
epair: add VLAN_HWTAGGING
Apr 26 2026, 7:47 AM
tuexen committed rGbba71b3f7c15: ip: improve deferred computation of checksums (authored by timo.voelker_fh-muenster.de).
ip: improve deferred computation of checksums
Apr 26 2026, 7:46 AM

Apr 25 2026

tuexen committed rGc0178169207d: ifinfo: improve output of hwassist value (authored by timo.voelker_fh-muenster.de).
ifinfo: improve output of hwassist value
Apr 25 2026, 7:26 PM
tuexen updated the diff for D55338: tcp: add support for TCP_RST_REASON_CODE socket option.

Rebase.

Apr 25 2026, 1:49 PM
tuexen accepted D56610: tcp: release nic ktls send tags before time wait.
Apr 25 2026, 5:41 AM

Apr 24 2026

tuexen updated the diff for D56623: if_awg: improve transmit checksum offload.
Apr 24 2026, 7:12 PM
tuexen requested review of D56623: if_awg: improve transmit checksum offload.
Apr 24 2026, 7:03 PM
tuexen committed rG35f8e4b961cb: dpaa2: add support for several interface counters (authored by tuexen).
dpaa2: add support for several interface counters
Apr 24 2026, 1:26 PM