Page MenuHomeFreeBSD

tuexen (Michael Tuexen)
User

Projects

User Details

User Since
Feb 4 2016, 4:45 PM (557 w, 22 h)

Recent Activity

Today

tuexen added a comment to D60460: tcp: count only the SACK blocks that fit in tcp_maxseg().

Let me write a packetdrill-test to make sure we catch an KASSERT-issue.

Fri, Oct 9, 5:03 AM

Yesterday

tuexen abandoned D60281: tcp: improve stack switching.

D60444 solves the problem in a better way.

Thu, Oct 8, 1:13 PM
tuexen committed rGd39b12e9030b: sysctl: don't loop when EAGAIN is returned (authored by tuexen).
sysctl: don't loop when EAGAIN is returned
Thu, Oct 8, 1:09 PM
tuexen closed D60444: sysctl: don't loop when EAGAIN is returned.
Thu, Oct 8, 1:09 PM
tuexen added a comment to D60416: iflib: Ring transmit doorbells once per receive batch.

I need to think about this more. For your workload, I see the benefit. For mine (busy CDN server), where we're running TCP, and where our TX rings are constantly > 80% full, I think this just adds overhead (due to full rings) and risk (due to TCP).

TCP is also interesting, because one RX packet can generate megabytes of TX. I'm not sure its appropriate at all for TCP. I'm going to add some folks from the transport side.

Thu, Oct 8, 5:52 AM

Wed, Oct 7

tuexen added a comment to D60281: tcp: improve stack switching.
In D60281#1386309, @phk wrote:

I have no objection to removing the sysctl EAGAIN loop, if anything else uses it, that needs to be fixed properly.

Wed, Oct 7, 3:13 PM
tuexen requested review of D60444: sysctl: don't loop when EAGAIN is returned.
Wed, Oct 7, 3:13 PM
tuexen updated the diff for D60281: tcp: improve stack switching.

Improve comment.

Wed, Oct 7, 10:33 AM
tuexen added a comment to D60281: tcp: improve stack switching.

So what happens here is that the KPI of TCP stack switching is being changed under pressure of one of its consumers that has a special handling of EAGAIN. And we are substituting this EAGAIN to factually incorrect EINVAL. No, the argument is valid, the connection exists it is just its state that doesn't allow the switch (supposedly temporarily).

Wed, Oct 7, 10:31 AM
tuexen updated the summary of D60281: tcp: improve stack switching.
Wed, Oct 7, 10:21 AM
tuexen updated the diff for D60281: tcp: improve stack switching.

As suggested by Gleb: lie about error in sysctl_setsockopt() to avoid a loop in userland_sysctl().

Wed, Oct 7, 10:20 AM

Tue, Oct 6

tuexen updated the summary of D60281: tcp: improve stack switching.
Tue, Oct 6, 5:57 PM
tuexen updated the diff for D60281: tcp: improve stack switching.

Let tfb_tcp_handoff_ok() return bool. That is simpler and out of tree stacks a caught by the compiler.

Tue, Oct 6, 5:54 PM

Mon, Oct 5

tuexen added a comment to D60281: tcp: improve stack switching.

An alternative approach would be to change int (*tfb_tcp_handoff_ok)(struct tcpcb *) to bool (*tfb_tcp_handoff_ok)(struct tcpcb *) and let the caller map false to EINVAL. Would that be clearer?

Mon, Oct 5, 6:54 PM

Sat, Oct 3

tuexen requested review of D60281: tcp: improve stack switching.
Sat, Oct 3, 6:51 PM

Thu, Oct 1

tuexen committed rGe2279d5ba9a9: tcpdrop: improve handling of -C and -S (authored by tuexen).
tcpdrop: improve handling of -C and -S
Thu, Oct 1, 7:15 PM
tuexen closed D60210: tcpdrop: improve handling of -C and -S.
Thu, Oct 1, 7:15 PM
tuexen requested review of D60210: tcpdrop: improve handling of -C and -S.
Thu, Oct 1, 6:36 PM
tuexen accepted D60106: sendfile: keep the lowat hack more conservative.
Thu, Oct 1, 4:04 PM

Tue, Sep 29

tuexen accepted D60143: tcp: Preserve borrowed ICMPv6 error mbufs.
Tue, Sep 29, 8:11 PM

Mon, Sep 28

tuexen added inline comments to D60106: sendfile: keep the lowat hack more conservative.
Mon, Sep 28, 7:22 PM
tuexen accepted D60105: tcp: use SB_AUTOSIZE flag to tell if socket buffer was set.
Mon, Sep 28, 7:16 PM

Thu, Sep 24

tuexen accepted D59960: tcp: set sopt.sopt_valsize when setting a sockopt.
Thu, Sep 24, 12:39 PM
tuexen added inline comments to D59950: tcp: avoid disclosing uninitialize data in tcp_log code.
Thu, Sep 24, 12:36 PM
tuexen accepted D59950: tcp: avoid disclosing uninitialize data in tcp_log code.
Thu, Sep 24, 12:32 PM

Tue, Sep 15

tuexen added a comment to D59708: tcp: Create fewer per-VNET zones.

I think the reason for per VNET zones might have been to protect against the case where a service running in one VNET cannot run the services running in other VNETs out of resources. However, that would require per VNET limits and would need to require that this isolation is done for all resources, which doesn't seem to be the case.

Right, that is one legitimate use for per-VNET zones. In the long term, UMA itself should perhaps provide this functionality, rather than forcing consumers to create separate zones.

Tue, Sep 15, 6:48 PM
tuexen accepted D59708: tcp: Create fewer per-VNET zones.

I think the reason for per VNET zones might have been to protect against the case where a service running in one VNET cannot run the services running in other VNETs out of resources. However, that would require per VNET limits and would need to require that this isolation is done for all resources, which doesn't seem to be the case.

Tue, Sep 15, 6:41 PM

Mon, Sep 14

tuexen committed rGc1fa70c6e9f6: vtnet: offer VIRTIO_NET_F_GUEST_CSUM (authored by timo.voelker_fh-muenster.de).
vtnet: offer VIRTIO_NET_F_GUEST_CSUM
Mon, Sep 14, 8:18 PM
tuexen closed D59052: vtnet: offer VIRTIO_NET_F_GUEST_CSUM independently of RXCSUM.
Mon, Sep 14, 8:17 PM
tuexen accepted D59052: vtnet: offer VIRTIO_NET_F_GUEST_CSUM independently of RXCSUM.
Mon, Sep 14, 8:09 PM

Fri, Sep 11

tuexen accepted D59590: sctp: remove unused variable.
Fri, Sep 11, 2:51 PM

Sep 6 2026

tuexen closed D59384: tcp: remove redundant assignments.
Sep 6 2026, 2:07 PM
tuexen committed rG6d3e3afbf96e: tcp: remove redundant assignments (authored by tuexen).
tcp: remove redundant assignments
Sep 6 2026, 2:07 PM
tuexen accepted D59384: tcp: remove redundant assignments.
Sep 6 2026, 1:09 PM

Sep 5 2026

tuexen accepted D59450: loopback: set MTU to IF_MAXMTU.
Sep 5 2026, 10:50 PM
tuexen added inline comments to D59454: tcp: provide tcp_rttupdated() and call it periodically.
Sep 5 2026, 10:49 PM
tuexen added inline comments to D59451: tcp: collect and report more statistics on the TCP host cache.
Sep 5 2026, 10:35 PM
tuexen added inline comments to D59450: loopback: set MTU to IF_MAXMTU.
Sep 5 2026, 10:11 PM
tuexen added a comment to D59450: loopback: set MTU to IF_MAXMTU.

I like the idea of increasing the MTU. Is there a reason why you select 0xffff? This is the maximum size of an IPv4 packet, but an IPv6 packet can have a size of 0xffff + 40. Why not use that value? Would it make sense to use a multiple of 4?

I didn't measure, but speculatively I decided that it would be better to have it a multiple of PAGE_SIZE rather than multiple + tiny. In the second case a bulk transfer would allocate an extra page (or an mbuf, if optimized) that would be underutilized.

Sep 5 2026, 10:03 PM
tuexen accepted D59453: tcp: use sparse initializer for host cache metrics.
Sep 5 2026, 7:43 PM
tuexen added inline comments to D59453: tcp: use sparse initializer for host cache metrics.
Sep 5 2026, 6:59 PM
tuexen accepted D59452: tcp: turn on TCP hostcache for socket buffer sizes.
Sep 5 2026, 6:37 PM
tuexen added inline comments to D59453: tcp: use sparse initializer for host cache metrics.
Sep 5 2026, 6:32 PM
tuexen accepted D59451: tcp: collect and report more statistics on the TCP host cache.
Sep 5 2026, 6:26 PM
tuexen added a comment to D59450: loopback: set MTU to IF_MAXMTU.

I like the idea of increasing the MTU. Is there a reason why you select 0xffff? This is the maximum size of an IPv4 packet, but an IPv6 packet can have a size of 0xffff + 40. Why not use that value? Would it make sense to use a multiple of 4?

Sep 5 2026, 6:24 PM

Sep 4 2026

tuexen requested review of D59384: tcp: remove redundant assignments.
Sep 4 2026, 9:31 AM
tuexen committed rG74d330943b57: tcp md5: improve consistency (authored by tuexen).
tcp md5: improve consistency
Sep 4 2026, 7:41 AM
tuexen committed rG2fb53436cd05: tcp md5: fix accounting of ACK with bad signatures (authored by tuexen).
tcp md5: fix accounting of ACK with bad signatures
Sep 4 2026, 7:29 AM
tuexen closed D59302: tcp md5: fix accounting of ACK with bad signatures.
Sep 4 2026, 7:29 AM
tuexen committed rG5d3e31df7c4f: tcp md5: fix accounting for SYN segments with unexpected signature (authored by tuexen).
tcp md5: fix accounting for SYN segments with unexpected signature
Sep 4 2026, 7:22 AM
tuexen closed D59303: tcp md5: fix accounting for SYN segments with unexpected signature.
Sep 4 2026, 7:22 AM

Sep 3 2026

tuexen accepted D59325: tcp: fix TCPS_CLOSED state underleak in syncache_socket().
Sep 3 2026, 9:20 AM

Sep 1 2026

tuexen added a comment to D59305: tcp cc: move the cc relevant part of cc_post_recovery() into cc modules..
In D59305#1360809, @cc wrote:

What about the RACK and BBR stack?

They don't seem to be impacted or relevant.

static void rack_post_recovery(struct tcpcb *tp, uint32_t th_ack);

static void bbr_post_recovery(struct tcpcb *tp);
Sep 1 2026, 7:41 PM
tuexen added a comment to D59305: tcp cc: move the cc relevant part of cc_post_recovery() into cc modules..

What about the RACK and BBR stack?

Sep 1 2026, 6:54 PM
tuexen accepted D59305: tcp cc: move the cc relevant part of cc_post_recovery() into cc modules..
Sep 1 2026, 6:52 PM
tuexen added inline comments to D59305: tcp cc: move the cc relevant part of cc_post_recovery() into cc modules..
Sep 1 2026, 2:16 PM
tuexen accepted D59284: tests/sys/netinet/tcp_socket: fix build with ATF 0.22+.
Sep 1 2026, 1:32 PM
tuexen requested review of D59303: tcp md5: fix accounting for SYN segments with unexpected signature.
Sep 1 2026, 10:37 AM
tuexen updated the summary of D59302: tcp md5: fix accounting of ACK with bad signatures.
Sep 1 2026, 10:30 AM
tuexen requested review of D59302: tcp md5: fix accounting of ACK with bad signatures.
Sep 1 2026, 10:23 AM

Aug 31 2026

tuexen closed D59249: tcp md5: improve handling of tcps_sig_err_sigopt counter.

Committed in c6ae11c1b0d9.

Aug 31 2026, 2:10 PM
tuexen committed rGc6ae11c1b0d9: tcp md5: improve handling of tcps_sig_err_sigopt counter (authored by tuexen).
tcp md5: improve handling of tcps_sig_err_sigopt counter
Aug 31 2026, 1:17 PM
tuexen updated the test plan for D59249: tcp md5: improve handling of tcps_sig_err_sigopt counter.
Aug 31 2026, 11:38 AM

Aug 28 2026

tuexen requested review of D59249: tcp md5: improve handling of tcps_sig_err_sigopt counter.
Aug 28 2026, 3:48 PM

Aug 27 2026

tuexen committed rGbb50bb45f5f6: vtnet: move offload functions to virtio_net.h (authored by timo.voelker_fh-muenster.de).
vtnet: move offload functions to virtio_net.h
Aug 27 2026, 12:45 PM
tuexen closed D57299: vtnet: move offload functions to virtio_net.h to share them.
Aug 27 2026, 12:44 PM
tuexen accepted D57299: vtnet: move offload functions to virtio_net.h to share them.
Aug 27 2026, 12:41 PM

Aug 26 2026

tuexen committed rG209668726c2f: sockstat: provide more BBLog information (authored by tuexen).
sockstat: provide more BBLog information
Aug 26 2026, 6:37 PM
tuexen closed D59131: sockstat: provide more BBLog information.
Aug 26 2026, 6:37 PM

Aug 24 2026

tuexen committed rG191dad334c64: tcp: minor cleanup (authored by tuexen).
tcp: minor cleanup
Aug 24 2026, 7:07 PM
tuexen closed D59142: tcp: minor cleanup.
Aug 24 2026, 7:07 PM
tuexen committed rG74019bc3ea91: tcp: cleanup whitespaces (authored by tuexen).
tcp: cleanup whitespaces
Aug 24 2026, 7:55 AM
tuexen requested review of D59142: tcp: minor cleanup.
Aug 24 2026, 7:47 AM

Aug 23 2026

tuexen requested review of D59131: sockstat: provide more BBLog information.
Aug 23 2026, 8:18 PM
tuexen committed rG732c8d2a1a0e: sockstat: improve consistency (authored by tuexen).
sockstat: improve consistency
Aug 23 2026, 8:12 PM

Aug 21 2026

tuexen added a reverting change for rG44cddaa99dee: vtnet: move offload functions to virtio_net.h to share them: rG8bea280f4325: Revert "vtnet: move offload functions to virtio_net.h to share them".
Aug 21 2026, 8:18 PM
tuexen committed rG8bea280f4325: Revert "vtnet: move offload functions to virtio_net.h to share them" (authored by tuexen).
Revert "vtnet: move offload functions to virtio_net.h to share them"
Aug 21 2026, 8:18 PM
tuexen added a reverting change for D57299: vtnet: move offload functions to virtio_net.h to share them: rG8bea280f4325: Revert "vtnet: move offload functions to virtio_net.h to share them".
Aug 21 2026, 8:18 PM

Aug 18 2026

tuexen committed rG44cddaa99dee: vtnet: move offload functions to virtio_net.h to share them (authored by timo.voelker_fh-muenster.de).
vtnet: move offload functions to virtio_net.h to share them
Aug 18 2026, 12:55 PM
tuexen closed D57299: vtnet: move offload functions to virtio_net.h to share them.
Aug 18 2026, 12:55 PM
tuexen accepted D57299: vtnet: move offload functions to virtio_net.h to share them.
Aug 18 2026, 12:54 PM

Aug 16 2026

tuexen committed rGf343f036c780: epair: allow disabling receive checksum offloading (authored by timo.voelker_fh-muenster.de).
epair: allow disabling receive checksum offloading
Aug 16 2026, 6:40 PM
tuexen closed D58786: epair: allow disabling receive checksum offloading.
Aug 16 2026, 6:40 PM
tuexen accepted D58786: epair: allow disabling receive checksum offloading.
Aug 16 2026, 6:38 PM

Aug 14 2026

tuexen added a member for Src Committers: tuexen.
Aug 14 2026, 8:02 PM

Aug 10 2026

tuexen committed rG0053a4b9cca7: tcp: fix TF_BITS (authored by tuexen).
tcp: fix TF_BITS
Aug 10 2026, 7:18 PM

Aug 6 2026

tuexen added a reverting change for D57518: loopback: checksum offloading: rG1b8d19dea462: Revert "loopback: improve checksum offloading".
Aug 6 2026, 4:58 PM
tuexen added a reverting change for rGd6c4cea7740d: loopback: improve checksum offloading: rG1b8d19dea462: Revert "loopback: improve checksum offloading".
Aug 6 2026, 4:58 PM
tuexen committed rG1b8d19dea462: Revert "loopback: improve checksum offloading" (authored by tuexen).
Revert "loopback: improve checksum offloading"
Aug 6 2026, 4:58 PM
tuexen committed rG9ac39192d496: tcp: improve SEG.SEQ validation for RST segments (authored by tuexen).
tcp: improve SEG.SEQ validation for RST segments
Aug 6 2026, 9:09 AM
tuexen committed rGe8d1cee43741: tcp: improve handling of stopped timers (authored by tuexen).
tcp: improve handling of stopped timers
Aug 6 2026, 9:08 AM
tuexen committed rGcad0d5772516: tests: fix checksum computation (authored by tuexen).
tests: fix checksum computation
Aug 6 2026, 9:07 AM
tuexen committed rGa2d2f7a97074: loopback: use new names for checksum offloading flags (authored by timo.voelker_fh-muenster.de).
loopback: use new names for checksum offloading flags
Aug 6 2026, 9:06 AM
tuexen committed rGa5423ccd1c26: rack_bbr_common: don't use stale pointer after m_pullup() (authored by thebugfixers_pm.me).
rack_bbr_common: don't use stale pointer after m_pullup()
Aug 6 2026, 9:05 AM
tuexen committed rG265b3e15abf6: loopback: improve checksum offloading (authored by timo.voelker_fh-muenster.de).
loopback: improve checksum offloading
Aug 6 2026, 9:05 AM
tuexen committed rGf059fcf3d1d8: virtio_pci_modern: Remove endianness conversion for config space (authored by timo.voelker_fh-muenster.de).
virtio_pci_modern: Remove endianness conversion for config space
Aug 6 2026, 9:04 AM
tuexen added a reverting change for rGfb53b42e36a9: virtio-modern: fix PCI common read/write functions on big endian targets: rGf059fcf3d1d8: virtio_pci_modern: Remove endianness conversion for config space.
Aug 6 2026, 9:04 AM
tuexen added a reverting change for D28947: [POWERPC] Switch endian of common dev information: rGf059fcf3d1d8: virtio_pci_modern: Remove endianness conversion for config space.
Aug 6 2026, 9:03 AM · PowerPC
tuexen committed rG9f49131806eb: tcp: cleanup resource handling in SYN handling (authored by tuexen).
tcp: cleanup resource handling in SYN handling
Aug 6 2026, 9:03 AM
tuexen committed rG74f750004990: sctp: initialize inp to avoid uninitialized use (authored by bz).
sctp: initialize inp to avoid uninitialized use
Aug 6 2026, 8:37 AM