- User Since
- Jan 22 2015, 5:22 AM (333 w, 4 d)
Fri, Jun 11
One question, were you going to kill the printf?
And I think Richard is right here, the conditions on setting beta_ecn should be removed as well.
The more I think about it.. this is incorrect.
Thu, Jun 10
Yes the pure whitespace changes are intended..
Wed, Jun 9
Oh I almost forgot the other change here, i.e. the centralization
of counting bytes sent and bytes retransmitted. This is an essential
thing for hardware TLS. That way hardware TLS can have a place
they can notice a connection is retransmitting a large amount
and "remove" that connection from using hardware and instead
This addresses Hans concern about comparing a bintime to a sbtime by just
using the bintime and converting things to pure nanoseconds for comparisions.
Tue, Jun 8
Sure I can do that, I do think its safe, but will cause some inaccuracy.. let me go work on converting the other to a bintime too.
I hesitated to change the flushing time to use bintime, just because it was easier not
too and in reality few drivers use this, and those that do I think less precision
I tried that at First but Lawrence complained since the whole timing
structure of the sbintime is also yet another abbreviation.. so it changes
the granularity of the time (at least according to Lawrence). I did poke
into the code a bit and looked and yes, he was right .. so thats when
I elected to go with bintime.
Fri, Jun 4
Thu, Jun 3
Tue, Jun 1
Thu, May 27
Wed, May 26
Tue, May 25
Mon, May 24
We are missing the mtu change call too which is why it was not acting correctly
Wed, May 19
It makes it easier for debugging if we remove the dup rtt log in TCP_LOG_RTT and instead
put the actual slop being used by the stack. This way we can validate in the BB log
that the slop was set properly via the socket option.
These two pkt drill scripts can be used to validate that the feature is working
Tue, May 18
I realized when we set the socket option, we also need to set the rxt timer
with the new slop if an srtt has been collected.
May 13 2021
May 12 2021
May 11 2021
May 10 2021
Address Michaels comments and further do some code reducing (create a conversion
function that all places use to get srtt/rttvar in rack format).
Turns out the problem is far deeper. There are at least
a couple of interactions here.
May 8 2021
May 7 2021
Define a kernel that has all the TCP options to get the alternate
stacks but don't add RATELIMIT.
Turns out I was wrong, we need both functions not just one.
Lets get the right function here
It needs to be static and match the signature duhh
Lets take Warners alternative.. i.e. have the tcp_ratelimit code return 0 for the highest hw rate when
ratelimit is not in the kernel.
Michael try this with UDP port overbooking as we discussed.
Cool lets definitely figure out what is wrong besides what Peter found here
May 6 2021
One last comment from Michael Tuexen, use %zu in printf.
May 5 2021
This addresses Richards comments about mss = tcp_maxseg(). Which actually itself is
incorrect. Instead we need the fixed max segment size i.e. not including all the
dynamic things like sack since we are setting a cwnd that will survive long after
we are out of recovery.
May 3 2021
gesh get the comments too silly
Address some of Richards comments
Apr 30 2021
Please wait. I have a major set of changes coming in and this is old broken code you are playing with. I am sure
a lot of the spacings are taken care of . Please wait until D30036 lands before you do any cleanups.
and yes Oliver this is because when the LRO code went in I forgot to update rack_bbr_common.c. I am glad
it fixes the issue. Neither Michael or I could recreate it since we were running on VM's and we did not
realize vmware fusion does not get LRO enabled .. Drew has given me a patch for that so I should put
it in... at least on my local box ;)