Page MenuHomeFreeBSD

rscheff_gmx.at (Richard Scheffenegger)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Thu, Sep 12

rscheff_gmx.at updated the diff for D21619: Update SIFTR man page, and make siftr port_filter work as intended.
  • bumping .Dd date
Thu, Sep 12, 4:09 PM
rscheff_gmx.at updated the diff for D21619: Update SIFTR man page, and make siftr port_filter work as intended.
  • man page typos
Thu, Sep 12, 3:46 PM
rscheff_gmx.at added a reviewer for D21619: Update SIFTR man page, and make siftr port_filter work as intended: bcr.
Thu, Sep 12, 3:20 PM
rscheff_gmx.at created D21619: Update SIFTR man page, and make siftr port_filter work as intended.
Thu, Sep 12, 3:17 PM
rscheff_gmx.at abandoned D19234: fix cwnd increase for empty acks when not doing ABC.

@tuexen correctly pointed out, that newreno_ack_received is only called by the wrapper cc_ack_received during input processing, if an ACK actually moves snd_una right (acks new data). This patch would therefore only increase the codepath length, but not functionally change anything.

Thu, Sep 12, 9:40 AM

Mon, Sep 9

rscheff_gmx.at added a comment to D21567: Improve DSACK computation.

Checked this patch with various "pure FIN after hole" and "data FIN after hole" combinations; the FIN bit becomes part of the SACK (and DSACK) blocks, as it should be when considering that FIN is part of the sequence number space.

I don't think the above is true with the code right now. But changing it that the FIN is dealt with in SACK/DSACK is a separate commit, I think,

Mon, Sep 9, 2:31 PM
rscheff_gmx.at accepted D21567: Improve DSACK computation.
Mon, Sep 9, 11:51 AM
rscheff_gmx.at added a comment to D21567: Improve DSACK computation.

Checked this patch with various "pure FIN after hole" and "data FIN after hole" combinations; the FIN bit becomes part of the SACK (and DSACK) blocks, as it should be when considering that FIN is part of the sequence number space.

Mon, Sep 9, 10:49 AM

Tue, Aug 27

rscheff_gmx.at added inline comments to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
Tue, Aug 27, 11:08 AM

Aug 8 2019

rscheff_gmx.at added inline comments to D19047: TCP Dynamic Burst Limit.
Aug 8 2019, 11:40 PM

Aug 7 2019

rscheff_gmx.at added inline comments to D21179: Add header definition for RFC4340, Datagram Congestion Control Protocol.
Aug 7 2019, 6:30 PM
rscheff_gmx.at added inline comments to D21179: Add header definition for RFC4340, Datagram Congestion Control Protocol.
Aug 7 2019, 12:09 PM
D21178: Rename IPPROTO 33 from SEP to DCCP is now accepted and ready to land.
Aug 7 2019, 11:46 AM

Aug 3 2019

rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.

synced up my branch to add the dsack change on drop in rack_bbr_common, as pointed out. Thx!

Aug 3 2019, 8:12 PM
rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.
  • add dsack drop block in rack_bbr_common
  • lint - breaking some lines longer than 80 char
Aug 3 2019, 8:10 PM

Jul 30 2019

rscheff_gmx.at created D21117: Reduce size of t_rttupdated in tcpcb.
Jul 30 2019, 5:16 PM

Jul 29 2019

rscheff_gmx.at added inline comments to D21038: DSACK patch to conform fully with RFC2883.
Jul 29 2019, 6:22 PM
rscheff_gmx.at added a comment to D18811: nuke sack_newdata.

Randall, since you seem to be the most knowledgeable person when it comes to tcpcb optimization, I think this one should be reviewed by you for any potential cache line implications.

Jul 29 2019, 6:09 PM
rscheff_gmx.at added a reviewer for D18811: nuke sack_newdata: rrs. rscheff_gmx.at removed 1 blocking reviewer(s) for D18811: nuke sack_newdata: transport.
Jul 29 2019, 6:08 PM
rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.

This tgz file contains packetdrill tests for dsack, with the non-duplicate packets getting delivered in various orderings, before the overlapping DSACK is sent.

Jul 29 2019, 6:04 PM
rscheff_gmx.at added a comment to D19118: Add Boundary and Overflow checks in Cubic formulas.

I learned that the SCE project group is looking into qualification of TCP Cubic; As R. Grimes is part of that group, adding him as a reviewer, to validate the functional changes to Cubic are sound.

Jul 29 2019, 5:57 PM
rscheff_gmx.at added a reviewer for D19118: Add Boundary and Overflow checks in Cubic formulas: rgrimes.
Jul 29 2019, 5:57 PM
rscheff_gmx.at added a comment to D18954: Implement Cubic-specific After-Idle reaction.

I learned that the SCE project group is looking into qualification of TCP Cubic; As R. Grimes is part of that group, adding him as a reviewer, to validate the functional changes to Cubic are sound.

Jul 29 2019, 5:55 PM
rscheff_gmx.at added a reviewer for D18954: Implement Cubic-specific After-Idle reaction: rgrimes.
Jul 29 2019, 5:55 PM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • bump dctcp reference to RFC8257 in the man page
Jul 29 2019, 3:32 AM

Jul 28 2019

rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • fixing two nits in the man page, and setting dctcp alpha default to conservative 1024
Jul 28 2019, 9:27 PM
rscheff_gmx.at added inline comments to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
Jul 28 2019, 4:32 PM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • cleaned up sysctl handlers, fixed sysctl name in man
Jul 28 2019, 4:29 PM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.

Addressed all comments so far.

Jul 28 2019, 12:48 PM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • remove .Pp from man page
  • fixing lint issues of man update
Jul 28 2019, 12:41 PM

Jul 27 2019

rscheff_gmx.at added a comment to D21011: Functional implementation of Accurate ECN in FreeBSD.

Adjust IW if SYN or SYN,ACK were delivered with [CE] set, as indicated by the SYN,ACK or final ACK of the 3WHS.

Jul 27 2019, 3:41 PM
rscheff_gmx.at added a comment to D21011: Functional implementation of Accurate ECN in FreeBSD.
  • adding AccECN settings of net.inet.tcp.ecn.enable to man page
Jul 27 2019, 3:37 PM
rscheff_gmx.at added a comment to D19118: Add Boundary and Overflow checks in Cubic formulas.
  • put magic number as #define
Jul 27 2019, 12:55 PM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • parathentis in #define
  • updating man page
Jul 27 2019, 11:00 AM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.

Regarding the man page and defaults:

Jul 27 2019, 10:53 AM

Jul 26 2019

rscheff_gmx.at added a comment to D21011: Functional implementation of Accurate ECN in FreeBSD.
  • adding CC reaction on <SYN(,ACK)> that are CE marked
  • limiting initwin to 2mss on a [CE] delivered for <SYN> or <SYN,ACK>
  • Set the initial window explicitly to 2*MSS
Jul 26 2019, 3:41 PM
rscheff_gmx.at added a comment to D21011: Functional implementation of Accurate ECN in FreeBSD.
  • adding debug printout, fixing AccECN final ACK signaling
  • add ipv6 version check and #ifdef on ipv6 in t4_listen
  • final ACK of 3WHS working, proper initial s_cep, r_cep values
  • move all ECN related tcpcb flags to flags2
  • whitespace, remove debug logging code
  • missed trailing space
  • fix ipv6 version check
Jul 26 2019, 2:43 AM

Jul 24 2019

rscheff_gmx.at added a comment to D21011: Functional implementation of Accurate ECN in FreeBSD.
  • adding TH_AE to tcp_log_addr string
  • fixing initial cep couter on [ce]SYN to 6;
  • removal of debug code
  • remove debug code
Jul 24 2019, 6:33 PM
rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.
  • fix indentation
Jul 24 2019, 1:10 PM
rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.

Added DSACK to RACK again. Validated by running packet drill DSACK testsuite against the rack stack:

Jul 24 2019, 2:28 AM
rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.

update rack stack with dsack (again)

Jul 24 2019, 2:23 AM

Jul 23 2019

rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.

Hopefully the tab/space mixup is fixed now too.

Jul 23 2019, 9:46 PM
rscheff_gmx.at added a comment to D21038: DSACK patch to conform fully with RFC2883.
  • fix whitespace mixup and missing bracket
Jul 23 2019, 9:45 PM
rscheff_gmx.at created D21038: DSACK patch to conform fully with RFC2883.
Jul 23 2019, 5:45 PM

Jul 21 2019

rscheff_gmx.at created D21011: Functional implementation of Accurate ECN in FreeBSD.
Jul 21 2019, 12:08 PM

Jul 11 2019

D20908: Fixing the DSACK code to properly clean up after sending a DSACK. is now accepted and ready to land.

Sorry for the oversight; Indeed I tested this with continous data from the receiver only, not when the data direction changes :(

Jul 11 2019, 4:18 AM

Jun 17 2019

rscheff_gmx.at added inline comments to D20550: Fix bugs in DCTCP on TCP events.
Jun 17 2019, 2:36 PM
rscheff_gmx.at added a comment to D20550: Fix bugs in DCTCP on TCP events.
  • - missed rename of variable
Jun 17 2019, 2:32 PM
rscheff_gmx.at added inline comments to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
Jun 17 2019, 2:20 PM
rscheff_gmx.at updated the summary of D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • fix comment to be in-line with RFC
Jun 17 2019, 2:19 PM

Jun 11 2019

rscheff_gmx.at added inline comments to D20550: Fix bugs in DCTCP on TCP events.
Jun 11 2019, 8:37 AM
rscheff_gmx.at added a comment to D20550: Fix bugs in DCTCP on TCP events.

Comment from Midori (original author of this code):

Jun 11 2019, 8:20 AM

Jun 7 2019

rscheff_gmx.at created D20550: Fix bugs in DCTCP on TCP events.
Jun 7 2019, 12:49 PM
rscheff_gmx.at added a comment to D20549: fixing sysctl interface for DCTCP and types of dctcp variables.

Note: DCTCP alpha is initially at zero - thus there will be no reduction in cwnd after the first window, only the 2nd window will have some response, if an elephant flow is tested.

Jun 7 2019, 12:08 PM
rscheff_gmx.at updated the summary of D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
Jun 7 2019, 12:07 PM
rscheff_gmx.at updated the diff for D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
  • aligning sysctl with linux for alpha
Jun 7 2019, 12:01 PM
rscheff_gmx.at added a reviewer for D20549: fixing sysctl interface for DCTCP and types of dctcp variables: transport.
Jun 7 2019, 11:56 AM
rscheff_gmx.at created D20549: fixing sysctl interface for DCTCP and types of dctcp variables.
Jun 7 2019, 11:56 AM

Jun 6 2019

rscheff_gmx.at added a comment to D19622: Fix panic in network stack due memory use after free in relation to fragmented packets.

@bz - once a packet (fragment in this case) has made it to it's destination, I would argue that you shouldn't needlessly drop that packet any more. (Host vs. Router behavior). An interface flapping frequently, and removing all enqueued fragments while doing this, would reduce the usability of such an interface from marginal to completely inoperable.

Jun 6 2019, 2:57 PM

Jun 5 2019

rscheff_gmx.at accepted D20372: Fix TCP RACK after adding DSACK support.

Looks good to me

Jun 5 2019, 10:38 AM

Apr 26 2019

rscheff_gmx.at updated the diff for D18811: nuke sack_newdata.
  • bump tcp_log_buf version
Apr 26 2019, 8:40 AM

Apr 25 2019

rscheff_gmx.at added a reviewer for D18954: Implement Cubic-specific After-Idle reaction: transport.
Apr 25 2019, 2:36 PM
rscheff_gmx.at added reviewers for D18985: New SACK (RFC6675): tuexen, lstewart, slavash, jtl.
Apr 25 2019, 2:28 PM
rscheff_gmx.at added a comment to D18811: nuke sack_newdata.

Removal of the variable in a cacheline > 4 is not that critical (to retain the alignment of tcpcb at that place still.)

Apr 25 2019, 2:19 PM
rscheff_gmx.at added a comment to D17614: RFC6582 - prevent cwnd to collapse down to 1 mss after exiting recovery.

Lawrence reviewed this during IETF104, Michael volunteered to follup up with the full commit process.

Apr 25 2019, 2:15 PM · transport

Mar 29 2019

rscheff_gmx.at added inline comments to D18624: improvements to support code for RFC6675.
Mar 29 2019, 9:45 AM
rscheff_gmx.at updated the diff for D18624: improvements to support code for RFC6675.
  • fixing curly bracket if branch
  • semantically moving check for new sack data to tcp_input
  • fixed wrong deref to TO struct
Mar 29 2019, 9:42 AM
rscheff_gmx.at updated the diff for D18624: improvements to support code for RFC6675.
  • fixing curly bracket if branch, semantically moving check for new sack data to tcp_input
Mar 29 2019, 9:01 AM
rscheff_gmx.at added a comment to D19334: Receiver Side DSACK (RFC2883) implementation.

Ready to land.

Mar 29 2019, 8:37 AM

Mar 27 2019

rscheff_gmx.at added a comment to D19334: Receiver Side DSACK (RFC2883) implementation.

Need to look into RACK stack and apply similar changes.

Mar 27 2019, 5:58 PM

Mar 25 2019

rscheff_gmx.at added a reviewer for D18892: Phase 2 to add Proportional Rate Reduction (RFC6937) to FreeBSD: hiren.
Mar 25 2019, 3:43 PM

Feb 27 2019

rscheff_gmx.at added a reviewer for D19118: Add Boundary and Overflow checks in Cubic formulas: chengc_netapp.com.
Feb 27 2019, 8:56 PM
rscheff_gmx.at added a reviewer for D18954: Implement Cubic-specific After-Idle reaction: chengc_netapp.com.
Feb 27 2019, 8:56 PM

Feb 24 2019

rscheff_gmx.at added a comment to D19334: Receiver Side DSACK (RFC2883) implementation.

packetdrill test script

Feb 24 2019, 9:51 PM
rscheff_gmx.at created D19334: Receiver Side DSACK (RFC2883) implementation.
Feb 24 2019, 9:46 PM
rscheff_gmx.at retitled D19329: address possible illegal SACK block after FIN when client keeps sending data from don't update rcv_nxt if socket can not receive. to address possible illegal SACK block after FIN when client keeps sending data.
Feb 24 2019, 2:06 PM
rscheff_gmx.at created D19329: address possible illegal SACK block after FIN when client keeps sending data.
Feb 24 2019, 1:52 PM

Feb 23 2019

rscheff_gmx.at added a comment to D18960: Patch to MFC TCP reassembly rewrite to stable/11.

Quick comment: DSACKs are not working in HEAD. Potentially, the tlenp is set to zero for the duplicate segment, so that tcp_update_sack_list is not called to build the DSACK entry to the next ACK. If this is the reason, this patch may break DSACK in BSD11

Feb 23 2019, 10:06 AM

Feb 18 2019

rscheff_gmx.at created D19234: fix cwnd increase for empty acks when not doing ABC.
Feb 18 2019, 10:15 AM
rscheff_gmx.at updated the diff for D19000: Avoid cwnd update for SYN sequence space.
  • Merge branch 'master' into fix-not-rfc3465
  • - remove non-abc fix for cong-avoidance cwnd increase on empty acks
Feb 18 2019, 10:01 AM

Feb 11 2019

rscheff_gmx.at added inline comments to D8253: Cubic changes for improved loss recovery..
Feb 11 2019, 8:16 PM
rscheff_gmx.at updated the diff for D19118: Add Boundary and Overflow checks in Cubic formulas.
  • replace one division with a multiplication, with proper brackets. Taken from D8021
Feb 11 2019, 1:52 PM
rscheff_gmx.at added a comment to D8021: Correctness fixes to Cubic .

Replacing two divisions by one multiplication and one division in cubic.h looks good;

Feb 11 2019, 1:25 PM

Feb 8 2019

rscheff_gmx.at added a comment to D19118: Add Boundary and Overflow checks in Cubic formulas.

While splitting these overflow checks out from the other Diff, I found that there is another typecast overflow, and potential negative overflow in cubic_cwnd.

Feb 8 2019, 4:56 PM
rscheff_gmx.at updated the diff for D18954: Implement Cubic-specific After-Idle reaction.
  • removed overflow and boundary checks (see D19118 for details)
Feb 8 2019, 2:36 PM
rscheff_gmx.at updated the test plan for D19118: Add Boundary and Overflow checks in Cubic formulas.
Feb 8 2019, 2:27 PM
rscheff_gmx.at created D19118: Add Boundary and Overflow checks in Cubic formulas.
Feb 8 2019, 2:27 PM

Feb 7 2019

rscheff_gmx.at added a comment to D18954: Implement Cubic-specific After-Idle reaction.

Splitting off the interger overflow changes into another Diff.

Feb 7 2019, 9:21 PM

Feb 6 2019

rscheff_gmx.at added inline comments to D18954: Implement Cubic-specific After-Idle reaction.
Feb 6 2019, 5:18 PM

Feb 5 2019

rscheff_gmx.at updated the diff for D17614: RFC6582 - prevent cwnd to collapse down to 1 mss after exiting recovery.
  • prepare to land
Feb 5 2019, 7:51 PM · transport
rscheff_gmx.at added a comment to D17614: RFC6582 - prevent cwnd to collapse down to 1 mss after exiting recovery.

Over the last two or three weeks, we have run a large number of performance regression tests including this patch, in particular again workloads with frequent app-stalls (no additional data to send for about an RTO interval). That type of workload very often causes burst to be transmitted, including self-inflicted packet drops.

Feb 5 2019, 1:01 PM · transport

Feb 3 2019

rscheff_gmx.at updated the diff for D18954: Implement Cubic-specific After-Idle reaction.
  • sys/libkern.h has implicit typecast to (int) for min/max. Need to use ulmin/ulmax for (long)
  • fixing the limit check from D14141
Feb 3 2019, 6:06 PM
rscheff_gmx.at added inline comments to rS331567: CC Cubic: fix underflow for cubic_cwnd().
Feb 3 2019, 6:05 PM

Feb 2 2019

rscheff_gmx.at added a comment to D19047: TCP Dynamic Burst Limit.

According to this https://www.ietf.org/proceedings/88/slides/slides-88-tcpm-9.pdf Linux - at least at some point - also used a dynamic limit with pipe (inflight) as an input parameter: maxburst = pipe +3.

Feb 2 2019, 9:36 AM

Jan 31 2019

rscheff_gmx.at created D19047: TCP Dynamic Burst Limit.
Jan 31 2019, 6:42 PM
rscheff_gmx.at added inline comments to D19000: Avoid cwnd update for SYN sequence space.
Jan 31 2019, 2:41 PM
rscheff_gmx.at updated the diff for D19000: Avoid cwnd update for SYN sequence space.
  • typo
Jan 31 2019, 11:47 AM
rscheff_gmx.at updated the diff for D19000: Avoid cwnd update for SYN sequence space.
  • consolidate snd_una adjustment for SYN bit
  • set snd_wnd in the generic case in rack
Jan 31 2019, 10:49 AM
rscheff_gmx.at added a comment to D19000: Avoid cwnd update for SYN sequence space.

RACK already increments snd_una to deal with FASTOPEN. Consolidate the snd_una++ in the code then?

Jan 31 2019, 9:43 AM
rscheff_gmx.at added a comment to D19033: Initialise snd_wnd on the server side always before processing the ack.

RACK seems to have a similar code in rack_do_syn_recv.

Jan 31 2019, 9:36 AM