Page MenuHomeFreeBSD
Feed Advanced Search

Dec 4 2020

rscheff closed D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.
Dec 4 2020, 11:29 AM
rscheff committed rS368327: Add TCP feature Proportional Rate Reduction (PRR) - RFC6937.
Add TCP feature Proportional Rate Reduction (PRR) - RFC6937
Dec 4 2020, 11:29 AM
rscheff added a comment to D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.

Discussed the next steps around PRR in yesterdays transport@ call.

Dec 4 2020, 10:23 AM

Nov 23 2020

rscheff added a comment to D26807: move cwnd and ssthresh updates into individual congestion control module.

incrementing by t_maxseg (w/o TSopt) vs. tcp_maxseg() (w/ TSopt/MPTCP) does not lead to a unexpected transmission of 2 segments, when only a single segment would be expected (tcp_output prefers to send full segments but considers option overhead).

Incrementing by tcp_maxseg() is sightly less aggressive during CA, not?

First up, it seems buggy to me that the sender side accounts for received SACK blocks in the "effective" MSS computed by tcp_maxseg() for outbound segments. (Not your bug, but your change amplifies the effect of the bug).

Nov 23 2020, 12:30 PM

Nov 19 2020

rscheff added inline comments to D18985: New SACK (RFC6675).
Nov 19 2020, 6:15 PM
rscheff updated the diff for D18985: New SACK (RFC6675).
  • updating diff to head and removing unrelated whitespace changes
Nov 19 2020, 6:14 PM
rscheff added a comment to D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.

Well, there are "known issues" insofar, as that PRR-SS (the non-conservative variant) is known to sometimes perform poorly with token bucket rate limiters - where the PRR_conservative mechanism is a better fit.

Nov 19 2020, 6:04 PM
rscheff accepted D27286: net/ifq.h: make header C++ friendly.

LGTM

Nov 19 2020, 5:01 PM
rscheff added a comment to D27275: Create new CC module to track cubic RFC 8312bis changes.

Work-in-progress on https://github.com/NTAP/rfc8312bis/ (not yet even in draft -00 state in IETF). See the Issues page for things that are expected to get adressed in this update.

Nov 19 2020, 4:41 PM
rscheff added a comment to D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD.

Discussed the next steps around this Diff in todays call:

  • the PRR functionality is off by default (no change expected in the base stack behavior, unless explicitly enabled)
  • the functionality has been validated to work as expected in the scenario this is designed to address (ACK thinning during SACK loss recovery)
Nov 19 2020, 4:07 PM
rscheff updated the summary of D27275: Create new CC module to track cubic RFC 8312bis changes.
Nov 19 2020, 4:01 PM
rscheff requested review of D27275: Create new CC module to track cubic RFC 8312bis changes.
Nov 19 2020, 12:08 PM

Nov 17 2020

rscheff committed rS367753: MFC r367008: TCP Cubic: improve reaction to (and rollback from) RTO.
MFC r367008: TCP Cubic: improve reaction to (and rollback from) RTO
Nov 17 2020, 8:11 AM
rscheff committed rS367752: MFC r367007: tcp: move cwnd and ssthresh updates into cc modules.
MFC r367007: tcp: move cwnd and ssthresh updates into cc modules
Nov 17 2020, 8:04 AM
rscheff closed D24237: Fix erroneous "DSACK" during loss recovery.

For some reason, the Diff did not get automatically updated with the commit...
Adding commit r367492 manually, and manually closing Diff.

Nov 17 2020, 7:59 AM

Nov 8 2020

rscheff committed rS367492: Prevent premature SACK block transmission during loss recovery.
Prevent premature SACK block transmission during loss recovery
Nov 8 2020, 6:47 PM

Nov 4 2020

rscheff added a comment to D26807: move cwnd and ssthresh updates into individual congestion control module.

Hi Lawrence,

Nov 4 2020, 7:35 AM

Nov 1 2020

rscheff accepted D27036: [iscsictl] Fix compiler issues on gcc-6.4.

Looks good;

Nov 1 2020, 7:27 AM

Oct 24 2020

rscheff closed D26740: Add network QoS support for PCP to iscsi target..
Oct 24 2020, 9:11 PM
rscheff committed rS367024: Add network QoS support for PCP to iscsi target..
Add network QoS support for PCP to iscsi target.
Oct 24 2020, 9:11 PM
rscheff closed D26739: Add network QoS support for PCP to iscsi initiator..
Oct 24 2020, 9:07 PM
rscheff committed rS367023: Add network QoS support for PCP to iscsi initiator..
Add network QoS support for PCP to iscsi initiator.
Oct 24 2020, 9:07 PM
rscheff closed D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
Oct 24 2020, 9:01 PM
rscheff committed rS367021: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
Make use of IP_VLAN_PCP setsockopt in ping and ping6.
Oct 24 2020, 9:01 PM
rscheff committed rS367019: MFC r366573: Add DSCP support for network QoS to iscsi initiator..
MFC r366573: Add DSCP support for network QoS to iscsi initiator.
Oct 24 2020, 8:52 PM
rscheff committed rS367018: MFC r366570: Stop sending tiny new data segments during SACK recovery.
MFC r366570: Stop sending tiny new data segments during SACK recovery
Oct 24 2020, 8:48 PM
rscheff committed rS367017: MFC r366569: Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow..
MFC r366569: Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow.
Oct 24 2020, 8:23 PM
rscheff committed rS367015: MFC r366566;r366567: Extend netstat to display TCP stack and detailed….
MFC r366566;r366567: Extend netstat to display TCP stack and detailed…
Oct 24 2020, 5:47 PM
rscheff added reviewers for D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6.: mav, trasz.
Oct 24 2020, 4:52 PM
rscheff closed D26808: TCP Cubic: improve reaction to (and rollback from) RTO.
Oct 24 2020, 4:12 PM
rscheff committed rS367008: TCP Cubic: improve reaction to (and rollback from) RTO.
TCP Cubic: improve reaction to (and rollback from) RTO
Oct 24 2020, 4:12 PM
rscheff closed D26807: move cwnd and ssthresh updates into individual congestion control module.
Oct 24 2020, 4:10 PM
rscheff committed rS367007: tcp: move cwnd and ssthresh updates into cc modules.
tcp: move cwnd and ssthresh updates into cc modules
Oct 24 2020, 4:10 PM

Oct 22 2020

rscheff accepted D26897: Improve ioctl() for listening TCP sockets.
Oct 22 2020, 2:36 PM

Oct 15 2020

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

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

Oct 15 2020, 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.

Oct 15 2020, 9:07 PM

Oct 11 2020

rscheff updated the diff for D26739: Add network QoS support for PCP to iscsi initiator..
  • syncing man page
Oct 11 2020, 1:48 PM
rscheff updated the diff for D26740: Add network QoS support for PCP to iscsi target..
  • lint man
Oct 11 2020, 1:47 PM
rscheff updated the diff for D26740: Add network QoS support for PCP to iscsi target..
  • sync man page entry
Oct 11 2020, 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.
Oct 11 2020, 1:39 PM
rscheff requested review of D26740: Add network QoS support for PCP to iscsi target..
Oct 11 2020, 1:27 PM
rscheff requested review of D26739: Add network QoS support for PCP to iscsi initiator..
Oct 11 2020, 1:24 PM

Oct 9 2020

rscheff closed D26714: Add DSCP support for network QoS to iscsi initiator..
Oct 9 2020, 2:33 PM
rscheff committed rS366573: Add DSCP support for network QoS to iscsi initiator..
Add DSCP support for network QoS to iscsi initiator.
Oct 9 2020, 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.

Oct 9 2020, 12:52 PM
rscheff closed D26446: Stop sending tiny new data segments during SACK recovery.
Oct 9 2020, 12:45 PM
rscheff committed rS366570: Stop sending tiny new data segments during SACK recovery.
Stop sending tiny new data segments during SACK recovery
Oct 9 2020, 12:45 PM
rscheff closed D26409: Add IP(V6)_VLAN_PCP to adjust 802.1 priority per-flow..
Oct 9 2020, 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.
Oct 9 2020, 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)
Oct 9 2020, 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?

Oct 9 2020, 10:11 AM
rscheff closed D26518: Extend netstat to display TCP stack and detailed congestion state.
Oct 9 2020, 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
Oct 9 2020, 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
Oct 9 2020, 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
Oct 9 2020, 9:38 AM
rscheff committed rS366564: MFC r366149: TCP newreno: improve after_idle ssthresh.
MFC r366149: TCP newreno: improve after_idle ssthresh
Oct 9 2020, 9:33 AM

Oct 8 2020

rscheff added reviewers for D26714: Add DSCP support for network QoS to iscsi initiator.: mav, trasz, manpages, bcr, tuexen, NetApp, allanjude.
Oct 8 2020, 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
Oct 8 2020, 6:28 PM
rscheff requested review of D26714: Add DSCP support for network QoS to iscsi initiator..
Oct 8 2020, 12:54 AM

Oct 2 2020

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

Oct 1 2020

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 \) &
Oct 1 2020, 3:05 PM
rscheff added a reviewer for D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6.: bcr.
Oct 1 2020, 1:47 PM
rscheff added reviewers for D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6.: rrs, rgrimes, gallatin, tuexen.
Oct 1 2020, 1:47 PM
rscheff updated the summary of D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
Oct 1 2020, 1:46 PM
rscheff requested review of D26627: Make use of IP_VLAN_PCP setsockopt in ping and ping6..
Oct 1 2020, 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 ).

Oct 1 2020, 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..
Oct 1 2020, 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
Oct 1 2020, 12:35 PM

Sep 27 2020

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

Sep 25 2020

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...

Sep 25 2020, 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.

Sep 25 2020, 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
Sep 25 2020, 10:57 AM
rscheff committed rS366151: MFC r365546: cc_mod: remove unused CCF_DELACK definition.
MFC r365546: cc_mod: remove unused CCF_DELACK definition
Sep 25 2020, 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
Sep 25 2020, 10:38 AM
rscheff closed D26478: TCP: Send full Initial Window when Timestamps are in use.
Sep 25 2020, 10:38 AM
rscheff committed rS366149: TCP newreno: improve after_idle ssthresh.
TCP newreno: improve after_idle ssthresh
Sep 25 2020, 10:24 AM
rscheff closed D22438: Improve NewReno after_idle ssthresh per RFC2861 Sec.2.
Sep 25 2020, 10:24 AM
rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • update man page accordingly
Sep 25 2020, 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
Sep 25 2020, 9:11 AM

Sep 24 2020

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

Sep 23 2020

rscheff updated the diff for D26518: Extend netstat to display TCP stack and detailed congestion state.
  • adjust column width to maximum string length
Sep 23 2020, 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?

Sep 23 2020, 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
Sep 23 2020, 10:21 AM

Sep 22 2020

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

Sep 21 2020

rscheff requested review of D26518: Extend netstat to display TCP stack and detailed congestion state.
Sep 21 2020, 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