Page MenuHomeFreeBSD

rscheff (Richard Scheffenegger)
User

Projects

User Details

User Since
Oct 18 2018, 9:44 PM (89 w, 3 d)

Recent Activity

Wed, Jul 1

rscheff committed rS362832: MFC r362006: Prevent TCP Cubic to abruptly increase cwnd after app-limited.
MFC r362006: Prevent TCP Cubic to abruptly increase cwnd after app-limited
Wed, Jul 1, 9:35 AM
rscheff committed rS362831: MFC r361987: Prevent TCP Cubic to abruptly increase cwnd after slow-start.
MFC r361987: Prevent TCP Cubic to abruptly increase cwnd after slow-start
Wed, Jul 1, 9:32 AM
rscheff committed rS362830: MFC r361806: Add O_DIRECT flag to DD for cache bypass.
MFC r361806: Add O_DIRECT flag to DD for cache bypass
Wed, Jul 1, 9:28 AM

Sat, Jun 27

rscheff accepted D25486: Improve error path in BBR.

This mechanical change looks good to me. Just wondering is similar missing sbunlock would be in RACK or elsewhere in BBR. (but didn't spot anything obvious just now)

Sat, Jun 27, 3:04 PM

Wed, Jun 24

rscheff committed rS362586: MFC r361347: With RFC3168 ECN, CWR SHOULD only be sent with new data.
MFC r361347: With RFC3168 ECN, CWR SHOULD only be sent with new data
Wed, Jun 24, 4:18 PM
rscheff abandoned D19329: address possible illegal SACK block after FIN when client keeps sending data.
Wed, Jun 24, 3:06 PM
rscheff closed D25133: Fix cubic RTO reaction.
Wed, Jun 24, 1:53 PM
rscheff committed rS362580: TCP: fix cubic RTO reaction..
TCP: fix cubic RTO reaction.
Wed, Jun 24, 1:53 PM
rscheff committed rS362577: TCP: make after-idle work for transactional sessions..
TCP: make after-idle work for transactional sessions.
Wed, Jun 24, 1:43 PM
rscheff closed D25016: Make After-Idle congestion control work correctly for transactional sessions..
Wed, Jun 24, 1:43 PM
rscheff retitled D25133: Fix cubic RTO reaction from Move cwnd assignment after RTO into each CC algo to Fix cubic RTO reaction.
Wed, Jun 24, 12:19 PM
rscheff updated the diff for D25133: Fix cubic RTO reaction.
  • simplify patch and use snd_cwnd_prev in cc_cubic only.
Wed, Jun 24, 12:01 PM

Tue, Jun 23

rscheff updated the test plan for D18624: improvements to support code for RFC6675.
Tue, Jun 23, 10:24 AM
rscheff updated the test plan for D18624: improvements to support code for RFC6675.
Tue, Jun 23, 9:40 AM
rscheff updated the diff for D18624: improvements to support code for RFC6675.
  • add comment to explain the semantic change to sack_changed
Tue, Jun 23, 9:40 AM
rscheff added a comment to D18624: improvements to support code for RFC6675.

This improvement of the SACK scoreboard accounting is actually what Jason seems to have asked for in D3971 when the RFC6675 pipe calculation was added.

Tue, Jun 23, 9:07 AM
rscheff added a reviewer for D18624: improvements to support code for RFC6675: jason_eggnet.com.
Tue, Jun 23, 9:01 AM
rscheff updated the diff for D24657: update cwnd in both convex and concave regions like comment stated..
  • style fix
Tue, Jun 23, 8:28 AM
rscheff closed D24817: DCTCP: update alpha only once after loss recovery..
Tue, Jun 23, 3:20 AM
rscheff requested review of D24817: DCTCP: update alpha only once after loss recovery..
Tue, Jun 23, 3:17 AM
rscheff requested review of D24657: update cwnd in both convex and concave regions like comment stated..
Tue, Jun 23, 3:16 AM

Mon, Jun 22

rscheff accepted D25401: (Re)allow 0.0.0.0 to be used as a destination address in connect() for TCP.

Should this

  • If the destination address is INADDR_ANY,
  • use the primary local address.

be documented in a man page in addition to the comment in the code?

Mon, Jun 22, 2:05 PM

Thu, Jun 18

rscheff added inline comments to D18624: improvements to support code for RFC6675.
Thu, Jun 18, 6:07 PM
rscheff added inline comments to D25133: Fix cubic RTO reaction.
Thu, Jun 18, 6:05 PM

Sat, Jun 13

rscheff added a comment to D25247: Incorrect rwnd needs update decision.

Using the upstream variant of bbr (not "bbr_latest"), I could not recreate the reported issue (that is, the packetdrill script failing) with either bbr or the base stack...

Sat, Jun 13, 11:55 PM

Fri, Jun 12

rscheff updated the diff for D18624: improvements to support code for RFC6675.
  • Merge branch 'master'
  • whitespace fix in comment
Fri, Jun 12, 1:16 PM

Wed, Jun 10

rscheff requested review of D25215: Remove TCP option alignment padding.
Wed, Jun 10, 6:47 PM
rscheff closed D25065: Start cubic epoch after having been app-limited..
Wed, Jun 10, 7:32 AM
rscheff committed rS362006: Prevent TCP Cubic to abruptly increase cwnd after app-limited.
Prevent TCP Cubic to abruptly increase cwnd after app-limited
Wed, Jun 10, 7:32 AM

Tue, Jun 9

rscheff committed rS361987: Prevent TCP Cubic to abruptly increase cwnd after slow-start.
Prevent TCP Cubic to abruptly increase cwnd after slow-start
Tue, Jun 9, 9:08 PM
rscheff closed D23655: Cubic: prevent abrupt cwnd jumps after slow start.
Tue, Jun 9, 9:08 PM
rscheff updated the diff for D25065: Start cubic epoch after having been app-limited..
  • remove flag field microoptimization
Tue, Jun 9, 8:31 PM
rscheff updated the diff for D23655: Cubic: prevent abrupt cwnd jumps after slow start.
  • remove flag field microoptimization
Tue, Jun 9, 7:21 PM
rscheff updated the diff for D25065: Start cubic epoch after having been app-limited..
  • update flags to uppercase and expand constant to 32 bit.
Tue, Jun 9, 4:48 PM
rscheff added inline comments to D23655: Cubic: prevent abrupt cwnd jumps after slow start.
Tue, Jun 9, 4:32 PM
rscheff updated the diff for D23655: Cubic: prevent abrupt cwnd jumps after slow start.
  • uppercase all flag definitions and left-pad flags to 32bit.
Tue, Jun 9, 4:32 PM

Mon, Jun 8

rscheff added a comment to D25016: Make After-Idle congestion control work correctly for transactional sessions..

Addressed all comments from rrs@ with this update.

Mon, Jun 8, 3:12 PM
rscheff updated the diff for D25016: Make After-Idle congestion control work correctly for transactional sessions..
  • Merge branch 'master' into D25016_fix_afteridle_timer
  • make use of a new tcpcb variable to track last send time
Mon, Jun 8, 3:09 PM

Jun 5 2020

rscheff committed rS361841: MFC r361346: Retain only mutually supported TCP options after simultaneous SYN.
MFC r361346: Retain only mutually supported TCP options after simultaneous SYN
Jun 5 2020, 6:00 PM

Jun 4 2020

rscheff updated the diff for D25133: Fix cubic RTO reaction.
  • move max_cwnd assignment into the conditional and recalc K
Jun 4 2020, 10:36 PM
rscheff committed rS361808: MFC rS361348: DCTCP: update alpha only once after loss recovery..
MFC rS361348: DCTCP: update alpha only once after loss recovery.
Jun 4 2020, 9:02 PM
Herald added a reviewer for D24817: DCTCP: update alpha only once after loss recovery.: transport.
Jun 4 2020, 9:02 PM
rscheff closed D25066: Add O_DIRECT flag to DD for cache bypass.
Jun 4 2020, 8:47 PM
rscheff committed rS361806: Add O_DIRECT flag to DD for cache bypass.
Add O_DIRECT flag to DD for cache bypass
Jun 4 2020, 8:47 PM
rscheff requested review of D25133: Fix cubic RTO reaction.
Jun 4 2020, 8:44 PM
rscheff added a comment to D24869: Transition DCTCP to use ECT1 marks for elegible segments.

This change will not go in for the time being, pending a conclusion of the discussion around the ECT1 codepoint in IETF.

Jun 4 2020, 6:06 PM

Jun 3 2020

rscheff added a comment to D24852: Invalid addresses in sending or connecting.

Sorry to have overlooked this inconsistency earlier.

Jun 3 2020, 2:48 PM
rscheff added a comment to D25115: Restrict enabling TCP-FASTOPEN to end-points in CLOSED or LISTEN state.

Is EINVAL the correct return code? Or should this be EAGAIN / EBUSY?

Jun 3 2020, 11:04 AM

May 30 2020

rscheff added inline comments to D24237: Fix erroneous "DSACK" during loss recovery.
May 30 2020, 8:52 PM
rscheff updated the diff for D24237: Fix erroneous "DSACK" during loss recovery.
  • adding socket upcall to ctf_do_queued_segments()
May 30 2020, 8:50 PM
rscheff requested review of D25066: Add O_DIRECT flag to DD for cache bypass.
May 30 2020, 12:01 PM
rscheff requested review of D25065: Start cubic epoch after having been app-limited..
May 30 2020, 10:43 AM
rscheff added a comment to D25016: Make After-Idle congestion control work correctly for transactional sessions..

While investigating this problem futher, there is a more severe implication:

May 30 2020, 1:36 AM

May 27 2020

rscheff committed rS361565: MFS r361436: MFC r361347: With RFC3168 ECN, CWR SHOULD only be sent with new….
MFS r361436: MFC r361347: With RFC3168 ECN, CWR SHOULD only be sent with new…
May 27 2020, 10:34 PM

May 26 2020

rscheff added a comment to D25016: Make After-Idle congestion control work correctly for transactional sessions..

The packetdrill script newreno-after-idle-server.pkt will demonstrate the issue of the inactive (receive only) half session not resetting cwnd after-idle.

May 26 2020, 3:29 PM
rscheff requested review of D25016: Make After-Idle congestion control work correctly for transactional sessions..
May 26 2020, 11:41 AM

May 24 2020

rscheff added a comment to D24781: Allow TCP to reuse local port with different destinations.

You'll want to match https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=174087 against this, and close that Bug with this fix...

May 24 2020, 6:10 PM
rscheff committed rS361436: MFC r361347: With RFC3168 ECN, CWR SHOULD only be sent with new data.
MFC r361347: With RFC3168 ECN, CWR SHOULD only be sent with new data
May 24 2020, 5:51 PM

May 22 2020

rscheff added a comment to D10894: First cut implementation of hybrid slow start.

I wonder if this work comes close to what the proposed hystart++ draft is documenting...

May 22 2020, 9:09 PM
rscheff added a comment to D11105: Compile the default TCP stack as a module.

What was the reason this Diff got effectively abandonden, jtl@?

May 22 2020, 9:05 PM

May 21 2020

rscheff closed D23371: Retain only mutually supported TCP options after simultaneous SYN.
May 21 2020, 9:46 PM
rscheff committed rS361348: DCTCP: update alpha only once after loss recovery..
DCTCP: update alpha only once after loss recovery.
May 21 2020, 9:43 PM
rscheff committed rS361347: With RFC3168 ECN, CWR SHOULD only be sent with new data.
With RFC3168 ECN, CWR SHOULD only be sent with new data
May 21 2020, 9:33 PM
rscheff closed D23364: Send CWR only on new data, as per sec. 6.1.2 of RFC3168.
May 21 2020, 9:33 PM
rscheff committed rS361346: Retain only mutually supported TCP options after simultaneous SYN.
Retain only mutually supported TCP options after simultaneous SYN
May 21 2020, 9:26 PM
rscheff committed rS361345: Handle ECN handshake in simultaneous open.
Handle ECN handshake in simultaneous open
May 21 2020, 9:16 PM
rscheff closed D23373: Handle ECN handshake in simultaneous open.
May 21 2020, 9:16 PM
rscheff committed rS361342: MFC r360477: Correctly set up the initial TCP congestion window in all cases.
MFC r360477: Correctly set up the initial TCP congestion window in all cases
May 21 2020, 7:46 PM
rscheff committed rS361340: MFC r360479: Prevent premature shrinking of the scaled receive window.
MFC r360479: Prevent premature shrinking of the scaled receive window
May 21 2020, 7:41 PM

May 20 2020

rscheff added a comment to D24902: Time to First byte in and out.
In D24902#548693, @rrs wrote:

Richard:

I don't think that holding just the delta is what you really want. You want to be able
to tell when the first byte came in and the first byte went out.

May 20 2020, 3:26 PM

May 19 2020

rscheff accepted D24852: Invalid addresses in sending or connecting.
May 19 2020, 2:46 PM

May 18 2020

rscheff added a comment to D24902: Time to First byte in and out.

Just a quick question - do you really need both (t_fbyte_in and t_fbyte_out) variables in TCPCB in full?

May 18 2020, 9:55 PM

May 17 2020

rscheff requested review of D24869: Transition DCTCP to use ECT1 marks for elegible segments.
May 17 2020, 12:46 AM

May 16 2020

rscheff updated the diff for D23230: Implement ECN+ (RFC5562) and ECN++ feature (draft-generalized-ecn).
  • Merge branch 'master' into ecn++ to keep diff current
May 16 2020, 11:21 PM
rscheff updated the diff for D23655: Cubic: prevent abrupt cwnd jumps after slow start.
  • Merge branch 'master' to keep diff current
May 16 2020, 11:10 PM
rscheff updated the diff for D21117: Reduce size of t_rttupdated in tcpcb.
  • Merge branch 'master'
May 16 2020, 8:53 PM
rscheff updated the diff for D23373: Handle ECN handshake in simultaneous open.
  • update to include only ECN diff against master
May 16 2020, 8:13 PM
rscheff accepted D24781: Allow TCP to reuse local port with different destinations.

LGTM.

May 16 2020, 6:25 PM

May 15 2020

rscheff added a comment to D24852: Invalid addresses in sending or connecting.

TCP is strictly unicast connection oriented. There are other protocols to implement reliable transport over multicast (eg RFC3208). TCP simply does not work with a multicast address as either source or destination, since there are no mechanisms to arbitrate between one-to-many and then many-to-one responses.

May 15 2020, 8:43 PM
rscheff updated the diff for D24237: Fix erroneous "DSACK" during loss recovery.
  • restore socket upcalls to BBR, to check for the panic
  • add check for connected socket and clean up diff
May 15 2020, 7:50 PM
rscheff requested changes to D24852: Invalid addresses in sending or connecting.

@rrs can you please re-upload the Diff, with the defined constants from in.h instead of hardcoded numbers.

May 15 2020, 7:46 PM
rscheff reopened D24852: Invalid addresses in sending or connecting.

A commit (rS361080) referenced this Diff due to a mistype, binding the wrong commit here., when D24826 should have been targeted. Reopening, so this actual issue doesn't drop to the floor.

May 15 2020, 7:42 PM
rscheff added a reviewer for D24852: Invalid addresses in sending or connecting: rscheff.
May 15 2020, 7:39 PM
rscheff added inline comments to D24852: Invalid addresses in sending or connecting.
May 15 2020, 1:46 PM

May 14 2020

rscheff added a comment to D24781: Allow TCP to reuse local port with different destinations.

What was the special handling of a inp_port == 0 doing, or why did you remove this in this patch?

May 14 2020, 7:50 PM
rscheff committed rS361029: MFC r360491: Introduce a lower bound of 2 MSS to TCP Cubic..
MFC r360491: Introduce a lower bound of 2 MSS to TCP Cubic.
May 14 2020, 9:55 AM

May 12 2020

rscheff updated the diff for D24237: Fix erroneous "DSACK" during loss recovery.
  • moving upcall flags to tcpcb and upcall to past INP has been unlocked. Also adding sowwakeup() support to BBR and RACK, and performing the potential upcalls only in one single place. Timing of SOW upcall may change some of the timings in RACK / BBR though, if new data becomes available while processing...
May 12 2020, 4:07 PM
rscheff added a comment to D24817: DCTCP: update alpha only once after loss recovery..

Attached the packetdrill script to validate the evolution of cwnd under loss and ecn for dctcp.

May 12 2020, 7:31 AM

May 8 2020

rscheff added a comment to D24237: Fix erroneous "DSACK" during loss recovery.

During yesterdays transport@ call, we discussed this further. The ask is, to move these two flags into TCPCB, so that BBR / RACK can also fully participate in this, and then to have the socket upcall even further back, after relinquishing all the INP locks. It was pointed out, that the current in-kernel TCP consumers, where receive socket buffer processing is triggering a TCP window update, most likly only work, because the INP lock currently supports recursiveness, provided the same kernel thread aquires the lock multiple times. Therefore, a cleaner way of supporting similar functionality also when running TCP-over-UDP oder SCTP-over-UDP is to perform the socket upcall really only once all locks are released.

May 8 2020, 9:44 AM

May 7 2020

rscheff updated the diff for D23364: Send CWR only on new data, as per sec. 6.1.2 of RFC3168.
  • RACK doesn't use 1-byte window probes (or FORCEDATA) now
May 7 2020, 4:15 PM
rscheff updated the diff for D23371: Retain only mutually supported TCP options after simultaneous SYN.
  • undo style change
May 7 2020, 3:46 PM
rscheff updated subscribers of D23364: Send CWR only on new data, as per sec. 6.1.2 of RFC3168.
May 7 2020, 3:40 PM
rscheff updated the diff for D23364: Send CWR only on new data, as per sec. 6.1.2 of RFC3168.
  • nicefy addition with whitespaces
  • merge large RACK commit
May 7 2020, 3:36 PM
rscheff added inline comments to D23371: Retain only mutually supported TCP options after simultaneous SYN.
May 7 2020, 3:02 PM

Apr 30 2020

rscheff committed rS360510: MFC r360010: Reduce the delayed ACK timeout from 100ms to 40ms..
MFC r360010: Reduce the delayed ACK timeout from 100ms to 40ms.
Apr 30 2020, 9:16 PM
rscheff closed D23353: ECN and CUBIC do not play well together in very congested networks.
Apr 30 2020, 11:11 AM
rscheff committed rS360491: Introduce a lower bound of 2 MSS to TCP Cubic..
Introduce a lower bound of 2 MSS to TCP Cubic.
Apr 30 2020, 11:11 AM

Apr 29 2020

rscheff committed rS360479: Prevent premature shrinking of the scaled receive window.
Prevent premature shrinking of the scaled receive window
Apr 29 2020, 10:02 PM
rscheff closed D24515: Prevent premature zeroing of a scaled receiver window.
Apr 29 2020, 10:02 PM
rscheff committed rS360477: Correctly set up the initial TCP congestion window in all cases,.
Correctly set up the initial TCP congestion window in all cases,
Apr 29 2020, 9:49 PM