Page MenuHomeFreeBSD

rscheff (Richard Scheffenegger)
User

Projects

User Details

User Since
Oct 18 2018, 9:44 PM (104 w, 5 d)

Recent Activity

Thu, Oct 15

rscheff accepted D26808: TCP Cubic: improve reaction to (and rollback from) RTO.

discussed this internally, but want to have external review before commit.

Thu, Oct 15, 9:09 PM
rscheff accepted D26807: move cwnd and ssthresh updates into individual congestion control module.

discussed this internally, but want to have external review before commit.

Thu, Oct 15, 9:07 PM

Sun, Oct 11

rscheff updated the diff for D26739: Add network QoS support for PCP to iscsi initiator..
  • syncing man page
Sun, Oct 11, 1:48 PM
rscheff updated the diff for D26740: Add network QoS support for PCP to iscsi target..
  • lint man
Sun, Oct 11, 1:47 PM
rscheff updated the diff for D26740: Add network QoS support for PCP to iscsi target..
  • sync man page entry
Sun, Oct 11, 1:44 PM
rscheff committed rS366627: MFC r366206: Add DSCP support for network QoS to iscsi target..
MFC r366206: Add DSCP support for network QoS to iscsi target.
Sun, Oct 11, 1:39 PM
rscheff requested review of D26740: Add network QoS support for PCP to iscsi target..
Sun, Oct 11, 1:27 PM
rscheff requested review of D26739: Add network QoS support for PCP to iscsi initiator..
Sun, Oct 11, 1:24 PM

Fri, Oct 9

rscheff closed D26714: Add DSCP support for network QoS to iscsi initiator..
Fri, Oct 9, 2:33 PM
rscheff committed rS366573: Add DSCP support for network QoS to iscsi initiator..
Add DSCP support for network QoS to iscsi initiator.
Fri, Oct 9, 2:33 PM
rscheff added a comment to D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.

FWIW: I asked Liang Tian <l.tian.email@gmail.com> to verify in his special test scenario if this implementation of PRR performs as expected.

Fri, Oct 9, 12:52 PM
rscheff closed D26446: Stop sending tiny new data segments during SACK recovery.
Fri, Oct 9, 12:45 PM
rscheff committed rS366570: Stop sending tiny new data segments during SACK recovery.
Stop sending tiny new data segments during SACK recovery
Fri, Oct 9, 12:45 PM
rscheff closed D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..
Fri, Oct 9, 12:06 PM
rscheff committed rS366569: Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow..
Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow.
Fri, Oct 9, 12:06 PM
rscheff committed rS366567: Extend netstat to display TCP stack and detailed congestion state (2).
Extend netstat to display TCP stack and detailed congestion state (2)
Fri, Oct 9, 10:55 AM
rscheff added a comment to D26449: Stage 2: Introduce scalable route multipath.

Can we have an updated netstat help and man page, for the new "-O" option, please?

Fri, Oct 9, 10:11 AM
rscheff closed D26518: Extend netstat to display TCP stack and detailed congestion state.
Fri, Oct 9, 10:07 AM
rscheff committed rS366566: Extend netstat to display TCP stack and detailed congestion state.
Extend netstat to display TCP stack and detailed congestion state
Fri, Oct 9, 10:07 AM
rscheff updated the diff for D26446: Stop sending tiny new data segments during SACK recovery.
  • make maxseg u_int,
  • fix tcpstat accounting for sack,
  • remove redundant conditional check
Fri, Oct 9, 9:51 AM
rscheff committed rS366565: MFC r366150: TCP: send full initial window when timestamps are in use.
MFC r366150: TCP: send full initial window when timestamps are in use
Fri, Oct 9, 9:38 AM
rscheff committed rS366564: MFC r366149: TCP newreno: improve after_idle ssthresh.
MFC r366149: TCP newreno: improve after_idle ssthresh
Fri, Oct 9, 9:33 AM

Thu, Oct 8

rscheff added reviewers for D26714: Add DSCP support for network QoS to iscsi initiator.: mav, trasz, manpages, bcr, tuexen, NetApp, allanjude.
Thu, Oct 8, 6:30 PM
rscheff updated the diff for D26714: Add DSCP support for network QoS to iscsi initiator..
  • add dscp to man page, and keep equal sign between keywords
  • output dscp of target only if configured
Thu, Oct 8, 6:28 PM
rscheff requested review of D26714: Add DSCP support for network QoS to iscsi initiator..
Thu, Oct 8, 12:54 AM

Fri, Oct 2

rscheff updated the diff for D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
  • improve man page grammar
Fri, Oct 2, 7:21 AM

Thu, Oct 1

rscheff added a comment to D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
tcpdump -i vmx0 -vvv -nn -e -XX icmp or \(vlan and icmp \) &
Thu, Oct 1, 3:05 PM
rscheff added a reviewer for D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6.: bcr.
Thu, Oct 1, 1:47 PM
rscheff added reviewers for D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6.: rrs, rgrimes, gallatin, tuexen.
Thu, Oct 1, 1:47 PM
rscheff updated the summary of D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
Thu, Oct 1, 1:46 PM
rscheff requested review of D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
Thu, Oct 1, 1:43 PM
rscheff added a comment to D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..

Moved the setsockopt/getsockopt from socket level to IP_PROTO level (IPV6_PROTO, the numeric ids are identical), which addresses the concerns about the cold cacheline hit (inp->inp_flags2 should be hot in the ip_output path. Also, this change alignes slightly better with where the Ethernet PCP "lives" (as marking on ethernet packets, not internal unix sockets, which IMHO is more close to an IP packet ).

Thu, Oct 1, 12:41 PM
rscheff retitled D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow. from Add SO_VLAN_PCP to adjust 802.1 priority per-flow. to Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..
Thu, Oct 1, 12:37 PM
rscheff updated the diff for D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..
  • move VLAN_PCP to INPCB, and move sockopt to IP_* / IPV6_* from SO_VLAN_PCP
Thu, Oct 1, 12:35 PM

Sun, Sep 27

rscheff committed rS366206: Add DSCP support for network QoS to iscsi target..
Add DSCP support for network QoS to iscsi target.
Sun, Sep 27, 9:43 PM
rscheff closed D26385: Add DSCP support for network QoS to iscsi target..
Sun, Sep 27, 9:43 PM

Fri, Sep 25

rscheff added a comment to D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..

So, how about moving the PCP to become part of the inpcb, and use IPPROTO sockopts instead. Sounds like that may be the better approach; doing this in the socket struct was "just" the easiest way to get a proof-of-concept running for various reasons... While the PCP is part of the (extended) Ethernet Header, there are no setsockopt Protos that deal with data on that level...

Fri, Sep 25, 8:21 PM
rscheff abandoned D23160: Fixing RTO timer during SACK loss recovery.

Turned out that this change is unnecessary, when SACK loss recovery works properly.

Fri, Sep 25, 2:38 PM
rscheff committed rS366152: MFC r365547: Add -z "TOS" option to ping6, to test DSCP/ECN values.
MFC r365547: Add -z "TOS" option to ping6, to test DSCP/ECN values
Fri, Sep 25, 10:57 AM
rscheff committed rS366151: MFC r365546: cc_mod: remove unused CCF_DELACK definition.
MFC r365546: cc_mod: remove unused CCF_DELACK definition
Fri, Sep 25, 10:49 AM
rscheff committed rS366150: TCP: send full initial window when timestamps are in use.
TCP: send full initial window when timestamps are in use
Fri, Sep 25, 10:38 AM
rscheff closed D26478: TCP: Send full Initial Window when Timestamps are in use.
Fri, Sep 25, 10:38 AM
rscheff committed rS366149: TCP newreno: improve after_idle ssthresh.
TCP newreno: improve after_idle ssthresh
Fri, Sep 25, 10:24 AM
rscheff closed D22438: Improve NewReno after_idle ssthresh per RFC2861 Sec.2.
Fri, Sep 25, 10:24 AM
rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • update man page accordingly
Fri, Sep 25, 9:15 AM
rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • move cc-specific variables output to -C
Fri, Sep 25, 9:11 AM

Thu, Sep 24

rscheff added inline comments to D26518: Extend netstat to display TCP stack and detailed congestion state.
Thu, Sep 24, 2:39 PM
rscheff added a reviewer for D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow.: gallatin.
Thu, Sep 24, 2:27 PM

Wed, Sep 23

rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • adjust column width to maximum string length
Wed, Sep 23, 10:48 AM
rscheff added a comment to D26518: Extend netstat to display TCP stack and detailed congestion state.

Not sure about showing the TCP stack name and the TCP congestion under the same flag. The TCP congestion control name scales to other transports, the TCP stack name doesn't.

Wouldn't the numbers fit also under -x?

Wed, Sep 23, 10:26 AM
rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • move stack name output to -c option
Wed, Sep 23, 10:21 AM

Tue, Sep 22

rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • address uppercase oversight in comment
Tue, Sep 22, 12:05 PM

Mon, Sep 21

rscheff requested review of D26518: Extend netstat to display TCP stack and detailed congestion state.
Mon, Sep 21, 9:03 PM

Sep 20 2020

rscheff added a comment to D26478: TCP: Send full Initial Window when Timestamps are in use.

Another question: what about RACK and BBR? Do they need a similar change?

Sep 20 2020, 5:06 PM
rscheff updated the diff for D26478: TCP: Send full Initial Window when Timestamps are in use.
  • renaming macro to reduce collision risk
Sep 20 2020, 8:42 AM

Sep 19 2020

rscheff updated the diff for D26478: TCP: Send full Initial Window when Timestamps are in use.
  • adding statistics and validating approach
  • cleaning up branch
  • add "faster" path for majority of (bulk) transmissions
Sep 19 2020, 9:53 PM
rscheff added a comment to D26478: TCP: Send full Initial Window when Timestamps are in use.

Packetdrill script to validate correct IW behavior. However, the 1 / 4 / 1 / 2 / 2 segment transmit sequence around the end of the loss recovery episode appears odd?

Sep 19 2020, 9:10 AM
rscheff requested review of D26478: TCP: Send full Initial Window when Timestamps are in use.
Sep 19 2020, 1:33 AM

Sep 18 2020

rscheff added a comment to D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..

I'm ok with having the user interface heavy-lifting all done in ifconfig (and allowing a more simple kernel API, which doesn't strictly forbid "unusal" configurations.

Sep 18 2020, 5:08 PM · network
rscheff accepted D26454: Initialize some local variables earlier.
Sep 18 2020, 7:41 AM

Sep 17 2020

rscheff added a comment to D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..

 Will (s)vlan1.44 and (s)vlan2.44 work?

This is an interesting point (assuming the question is about using the dot notation to create interface clones with ifconfig).

  • ifconfig vlan1.44 create creates a 802.1Q stack (ETHERTYPE_VLAN over ETHERTYPE_VLAN).
  • ifconfig svlan1.44 create creates a 802.1ad stack (ETHERTYPE_QINQ over ETHERTYPE_QINQ, not so useful in itself).

This is only logical (as per the vlan/svlan prefix rule), but admittedly it may seem deceptive to some users.
I would personally recommend against using the dot notation for stacked VLANs.

Sep 17 2020, 8:51 AM · network

Sep 15 2020

rscheff requested review of D26446: Stop sending tiny new data segments during SACK recovery.
Sep 15 2020, 8:46 PM
rscheff updated the diff for D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.
  • remove redundant maxseg
Sep 15 2020, 8:28 PM
rscheff added a comment to D26436: Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q)..

Will there be an accompanying patch to tcpdump, to deal with stag / svlan headers - possibly of variable size - in the BPF code?

Sep 15 2020, 2:31 PM · network
rscheff updated the diff for D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.
  • use dynamic tcp_maxseg(tp) instead of t_maxseg in PRR calculations
Sep 15 2020, 11:51 AM
rscheff updated the diff for D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.
  • Update Diff to Head to apply cleanly
Sep 15 2020, 11:02 AM

Sep 12 2020

rscheff accepted D26412: Export TCP congestion control name.
Sep 12 2020, 10:25 PM
rscheff accepted D26413: Extend sockstat to display the TCP congestion control.
Sep 12 2020, 10:06 PM
rscheff accepted D26414: Extend netstat to display the TCP congestion control.

I wanted to suggest using -C (for reasons, instead of -c), but seeing this is already addressed...

Sep 12 2020, 9:25 PM
rscheff added inline comments to D26413: Extend sockstat to display the TCP congestion control.
Sep 12 2020, 9:23 PM
rscheff requested changes to D26412: Export TCP congestion control name.
Sep 12 2020, 9:14 PM
rscheff accepted D26410: Allow specifying the traffic class when using traceroute6.

In the man page, do we want to refer to RFC2474 and RFC3168, so that people are at least warned when the tos / tclass bytes are using not only the DSCP field, but also the ECN codepoints in ping / ping6 / traceroute / traceroute6?

Sep 12 2020, 9:10 PM
rscheff updated the diff for D24237: Fix erroneous "DSACK" during loss recovery.
  • INP lock should be retained until socket wakeup calls are completed.
Sep 12 2020, 9:51 AM
rscheff requested review of D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..
Sep 12 2020, 1:02 AM

Sep 11 2020

rscheff updated the diff for D26385: Add DSCP support for network QoS to iscsi target..
  • shift TOS predefinitions and dscp field correctly around
Sep 11 2020, 7:36 AM

Sep 10 2020

rscheff updated the diff for D26385: Add DSCP support for network QoS to iscsi target..
  • uclparse hex values for dscp too
Sep 10 2020, 8:12 PM
rscheff updated the diff for D26385: Add DSCP support for network QoS to iscsi target..
  • adding uclparse and using temporary dscp variable when doing setsockopt
Sep 10 2020, 3:13 PM
rscheff committed rS365547: Add -z "TOS" option to ping6, to test DSCP/ECN values.
Add -z "TOS" option to ping6, to test DSCP/ECN values
Sep 10 2020, 12:50 AM
rscheff closed D26384: Add -z "TOS" option to ping6, to test DSCP/ECN values.
Sep 10 2020, 12:50 AM
rscheff closed D26181: cc_mod: remove unused CCF_DELACK definition.
Sep 10 2020, 12:47 AM
rscheff committed rS365546: cc_mod: remove unused CCF_DELACK definition.
cc_mod: remove unused CCF_DELACK definition
Sep 10 2020, 12:46 AM
rscheff updated the diff for D26385: Add DSCP support for network QoS to iscsi target..
  • prevent the ECN bits to be set.
Sep 10 2020, 12:24 AM
rscheff requested review of D26385: Add DSCP support for network QoS to iscsi target..
Sep 10 2020, 12:00 AM

Sep 9 2020

rscheff requested review of D26384: Add -z "TOS" option to ping6, to test DSCP/ECN values.
Sep 9 2020, 10:25 PM

Sep 3 2020

rscheff committed rS365295: MFC r364354: TCP Cubic: recalculate cwnd for every ACK..
MFC r364354: TCP Cubic: recalculate cwnd for every ACK.
Sep 3 2020, 9:10 AM
rscheff committed rS365294: MFC r364197: TCP Cubic: Have Fast Convergence Heuristic work for ECN, and align….
MFC r364197: TCP Cubic: Have Fast Convergence Heuristic work for ECN, and align…
Sep 3 2020, 8:45 AM
rscheff committed rS365293: MFC r364196: TCP Cubic: After leaving slowstart fix unintended cwnd jump..
MFC r364196: TCP Cubic: After leaving slowstart fix unintended cwnd jump.
Sep 3 2020, 8:42 AM
rscheff committed rS365292: MFC r364195: Improve SACK support code for RFC6675 and PRR.
MFC r364195: Improve SACK support code for RFC6675 and PRR
Sep 3 2020, 8:38 AM

Aug 25 2020

rscheff requested review of D26181: cc_mod: remove unused CCF_DELACK definition.
Aug 25 2020, 1:05 PM

Aug 19 2020

rscheff committed rS364378: MFC r363397: Fix style and comment around concave/convex regions in TCP cubic..
MFC r363397: Fix style and comment around concave/convex regions in TCP cubic.
Aug 19 2020, 10:40 AM
rscheff committed rS364377: MFC r363380: Add MODULE_VERSION to TCP loadable congestion control modules..
MFC r363380: Add MODULE_VERSION to TCP loadable congestion control modules.
Aug 19 2020, 10:36 AM
rscheff committed rS364376: MFC r362988: Fix KASSERT during tcp_newtcpcb when low on memory.
MFC r362988: Fix KASSERT during tcp_newtcpcb when low on memory
Aug 19 2020, 10:32 AM
rscheff accepted D26120: Don't apply L in congestion avoidance.

Looks good - t_bytes_acked is already a "corrected" value to deal with ACK duplication / ACK splitting; During CA, cwnd should grow by 1 MSS every window, and accounting when a window was transferred is t_bytes_acked.

Aug 19 2020, 9:06 AM
rscheff added a comment to D24237: Fix erroneous "DSACK" during loss recovery.

This Diff has morphed over time quite dramatically; Originally only intended to fix one socket upcall at an inopportune time (using a hack that simply prevented the transmission of a premature ACK), it was suggested to revamp all socket upcalls throughout the stack.

Aug 19 2020, 7:32 AM

Aug 18 2020

rscheff committed rS364354: TCP Cubic: recalculate cwnd for every ACK..
TCP Cubic: recalculate cwnd for every ACK.
Aug 18 2020, 7:34 PM
rscheff closed D26060: TCP Cubic: Recalculate cubic cwnd for every ack..
Aug 18 2020, 7:34 PM
rscheff updated the diff for D26060: TCP Cubic: Recalculate cubic cwnd for every ack..
  • straighten comment further
Aug 18 2020, 6:56 PM
rscheff updated the diff for D26060: TCP Cubic: Recalculate cubic cwnd for every ack..
  • always use absolute cubic_cwnd value
  • update cubic cwnd comment to reflect new logic
Aug 18 2020, 6:00 PM

Aug 13 2020

rscheff requested review of D26060: TCP Cubic: Recalculate cubic cwnd for every ack..
Aug 13 2020, 8:17 PM
rscheff closed D25976: TCP Cubic: Have Fast Convergence Heuristic work for ECN, and align concave region.
Aug 13 2020, 4:46 PM