Attendees
- cc@
- olivier@
- Peter Lei
- rscheff@
- tuexen@
Ongoing Short Term Projects
rscheff@ wants feedback for D41715, which is based on a patch from VMWare for CUBIC. cc@ will test and review and rscheff@ will integrate the feedback. The results are in testTCPCCinVM and indicate that the patch has some problems. cc@ will try to reach out to the submitter of the patch.
Not clearing the score board after the first timer based retransmission, results in uncovering several old bugs on SACK enabled connections. rscheff@ wants review of D43355 and D43470. tuexen@ reviewed it. It as suggested to add a counter for the number of times, TSO was used during SACK recovery and a knob to turn TSO during SACK recovery off.
- At least for testing purposes (packetdrill) it would be good to have LRO support for tun interfaces. tuexen@ suggested to generalize LRO to not depend on an Ethernet header being present. gallatin@ prefers to not make the LRO code more complex, since it most likely will impact the performance. tuexen@ has implemented LRO support for the tap interfaces. packetdrill support will be committed soon.
- BBLog is missing a man page. tuexen@ will write one.
- tuexen@ will add tests for handling RST ACK segments in all states and test the base, RACK and BBR stack.
PR 146845. glebius@ will look at it.
rrs@ wants feedback on D45410, which removes experimental code for detecting policers.
tuexen@ wants feedback on D45411, which simplifies the TCP endpoint creation. Endpoints are created with the intended TCP stack instead creating it first with the default stack and then switching it to the intended one. D45947 is required for this and needs to go in first.
tuexen@ created D45419, discussion around what the best default should be. Currently the save bet of a stack NOT being eligible to be a default stack has been chosen, but discussion necessary.
glebius@ wants review on D45746, D45747 to improve stopping the TCP callout.
tuexen@ wants review on D45894, which improves the input validation of SEG.ACK. tuexen@ will ask gallatin@ if the performance impact is acceptable.
It was discussed if settings from the listener should be inherited by default, which is done for most parameters. tuexen@ will propose a patch to remove the sysctl-variable net.inet.tcp.functions_inherit_listen_socket_stack and also a patch for inheriting the congestion control module.
Ongoing Longer Term Projects
- Now the RACK and the BBR stack are compiled by default in head. The BBR and the RACK stack will continue to coexists. We discussed if the RACK stack could be made the default and what should drive this decision. tuexen@ will reach out to the mailing list to ask people to test the RACK stack and provide feedback. In January, we will look again at the decision process based on the feedback we got. Feedback received:
- You need to compile in the TCPHPTS. It is a loadable module now, thanks to glebius@.
- RACK is on the loopback interface slower than the base stack (CPU limited). olivier@ has a script to test combinations of stacks and CC modules.
A problem with RACK an pf, which couldn't be reproduced by olivier@. tuexen@ has an idea what is going wrong and will provide a patch to the reporter for testing.D43769 fixes this, but adds some instructions to the code path.
- When using mbuf queueing, some dtrace static probes are missed. Fixed.
- There is a performance regression by just loading the HPTS module. This is fixed.
- It was discussed that it would be a good idea to move the freebsd stack from ticks to micro seconds.
rscheff@ is improving AccECN code: D36303. rrs@ will review it and implement it for the rack stack. Also the interaction between LRO and AccECN++ has to be taken into account. D42563 further adds the support of ACKofACK.
D23230 is implementing ECN++. rrs@ will review it.
tuexen@ wants to write a tool which dumps the BBLog information of a TCP endpoint from a life system or a core. Using kvm_read() has drawbacks as glebius@ pointed out, using a python kgdb script may be an alternative. An alternative is to write a python kgdb script which pumps data into tcplog_dumper. This would allow to minimize code duplication. glebius@ will try to work on this soon. thj@ has an initial implementation at tcplog_dumper.
The handling on ECN with TSO by NICs was discussed. tuexen@ will add a configuration option for various Intel NICs to make the TSO behavior configurable, rscheff@ will make in the TCP stack configurable wether classical ECN or AccECN will use TSO. tuexen@ wants feedback on D44258 and D44259.
- rgrimes@ reports that FreeBSD using the default parameters can not saturate a Gigabit pipe with a delay used by recent access technologies. He is proposing to bump up some default values.
glebius@ will re-activate D35199 which speeds up finding bugs.
- tuexen@ will add fast open tests to the FreeBSD testsuite. This might require some additional counters.
- gallatin@ will look into improving performance by moving things around in structures. This will reduce cache misses...
Next Meeting
25 July 2024 @ 1500 UTC using FreeBSDTCPCall