User Details
- User Since
- Jan 22 2015, 5:22 AM (579 w, 5 d)
Wed, Feb 25
Tue, Feb 24
done
Out goes CLOSE WAIT :)
commited
added close wait.. and fixed all my earlier errors :)
include close-wait
fix my earlier bobble :)
fix comment
Fix the compile bug and get the tested code in.
Updates per latest comments.
Sending ack's in general (ESTABLISHED) will of course not cause issues. But what concerns me
is that we *do* use acks to drive the various state-machines when we are in the front or back-states.
Can ack's driven by CC/ECN interfere .. I don't know.. is it protocol or implementation probably both.
I just think there needs to be careful thought on when the CC/ECN overrides and says "ACK" if
we are not in established.
Mon, Feb 23
The reason I am suggesting to include FIN WAIT 1/2 is that we stopped sending, but the
peer can send us data for an unlimited amount of time.. Shouldn't this data transfer towards
us be able to use ECN? That would mean we should send ACKs based on the received ECN markings.
Am I wrong with this? Why shouldn't half closed TCP connections not use ECN for the
direction data is still sent?
And I have found the case where we are getting the initial ack that causes the ack-war beginning.. not the
src of the continued ack-war (thats in tcp_timewait) but the initial extra ack :)
Ok I have added the CLOSE_WAIT stage Michael suggested. However I am not
sure that is a wise thing. It may mean an extra ack in the closing state i.e. while you
are waiting for your user to close.. but on the other hand that may take a *very* long
time.. so I am ambivalent about it
Sun, Feb 22
Wed, Feb 18
Jan 23 2026
What other CC modules are you contemplating using this for?
Jan 5 2026
Dec 17 2025
Dec 11 2025
Nov 19 2025
Nov 18 2025
Nov 17 2025
I think you forget that I am the author of read_bbrlog and it will slowly change over time as I work on the next features I am planning in rack. I admit
I am a bit slow, since retirement keeps getting in the way :-D, but I anticipate getting a lot more done on measurements and improvements using
the measurements to DGP. As that all occurs read_bbrlog will change. As will other base things in FreeBSD... Gleb had asked me to move the socket
read/write code of of the generic for TCP.. I plan on doing that first and getting rid of the socket buffer locks. From there it will be onward to get the
measurements in.. hmm come to think about it I need to complete my improvements for reordering and get rid of the sysctl stuff that can make
rack use the old reorder methods from draft 1 of Rack... something that the recent fun with reordering proves is not a good idea :)
Nov 4 2025
Nov 3 2025
Oct 20 2025
Oct 19 2025
Oct 10 2025
Adopt Gleb's suggestion on __inline -> inline (other places need that change too) :)
Oct 9 2025
Oct 8 2025
Testing is a good thing so I think this is well worth having. I will say on the rumor of name changes inside tcp_hpts due to the idea of possibly supporting
more than just TCP. I am unsupportive of this UNTIL we have tcp_hpts being able to handle multiple protocols. When I originally wrote hpts (called pacing not hpts.. Robert
renamed it hpts) I did envision expanding it to include not just TCP but SCTP and maybe even UDP. But the fundamental problem I hit was the fact that choosing where
to dice the thing such that you would have a common call point into the protocol was not a cut and dried thing. For TCP it was easy since there was a clear demark between
the initial input of the packet and the actual segment processing, which I used when I broke out the multiple stacks idea. However for SCTP and UDP no such clear
basis exists that is common with TCP..... or even between SCTP and UDP... so I back down and decided to implement it has a TCP thing. Now if someone comes up
with a clean and elegant way to call into to TCP/SCTP and UDP then name changes would be appropriate within the code.. without that elegant set of proposed
changes name changes I am STRONGLY against and will object to since they are just irrelevant until HTPS can support multiple protocols... so in summary
Oct 7 2025
Oct 4 2025
Oct 2 2025
Sep 30 2025
Aug 13 2025
Aug 12 2025
Aug 8 2025
Jul 21 2025
Jul 19 2025
Jun 18 2025
Jun 15 2025
Jun 14 2025
May 29 2025
May 1 2025
Apr 27 2025
Apr 26 2025
How about a compromise here... I do think Michael has a valid point...
Apr 25 2025
Apr 21 2025
Apr 15 2025
Only question I have is why the change from hlen -> sizeof(struct ip6_hdr)
Apr 8 2025
To me this is marginally less readable in the changed form. Both are much better than the original but considering your comments about what the compiler actually does I suggest we leave it the way it is!
Apr 7 2025
Apr 3 2025
Note I do agree with Gleb here, these macros are just nasty and not very clear. However I think that making such a change should be a separate commit from this one!
