Attendees
- glebius@
- gallatin@
- olivier@
- rscheff@
- thj@
- tuexen@
- Cheng C
Ongoing Short Term Projects
tuexen@ wants to discuss the behaviour of recv(fd, NULL, 0, 0) for SOCK_DGRAM sockets. tuexen@ will bring this up on the net@ mailing list.
It was discussed whether the TCP_LOG socket option should be inherited from the listener. jtl@ said that this should be the case, but interaction with the sysctl-variable net.inet.tcp.bb.log_auto_ratio should be taken into account. tuexen@ will look at it and add jtl@ as a reviewer.
netstat does not support reading connection information from a core file anymore. tuexen@ will document that in the man-page.
rscheff@ wants feedback on: D21117. tuexen@ will review it.
gallatin@ asks whether RACK and BBR shouldn't be compiled always to get coverage by universe builds. tuexen@ raised concerns about the BBR stack, since it is not tested for a time and only implements BBRv1 (which has issues) and not the upcoming version BBRv2 (which fixes the issues known for BBRv1). It was agreed to build both BBR and RACK and let BBR issue a deprecation notice, when it is noted. gallatin@ is preparing a patch for this, tuexen@ will review it. tuexen@ will also improve the man-pages for RACK and BBR to clarify what is known to be working and what needs testing. For example, the RACK stack has been tested with the newreno congestion module, but not with CUBIC and DCTCP.
- glebius@ asks whether it makes sense to improve the TCP timer precision. tuexen@ states that this is very useful for testing purposes. glebius@ will provide a patch to tuexen@ for testing and tuexen@ will provide feedback, if such a patch us useful for FreeBSD in general. This applies to the default stack only, not the the RACK or BBR stack, which used HPTS for timers.
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. tjh@ has D37437 under review, which allows the tun interface to add an Ethernet header. tuexen@ will test this to see if it can also be used to enable LRO for the tun interface.
- tuexen@ asks how source address selection works. In particular for the case where you have a single global and a single private IPv4 address, the default route goes to a hop in the private network and you are sending a packet to a global address. It was suggested to contact melifaro@.
Ongoing Longer Term Projects
rscheff@ is improving AccECN code: D36303.
D23230 is implementing ECN++.
D28822 improves PRR, needs some cleanup.
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.
jtl@ suggested to reduce the MSL value used to control the TIMEWAIT state. It was discussed to use a maximum RTT instead. tuexen@ will add the tracking of the maximum RTT and make this algorithm used when the sysctl-variable net.inet.tcp.msl is set to zero. In a separate the default of the sysctl-variable net.inet.tcp.msl will be changed to zero. tuexen@ will also reach out to the TCPM working group to see what other implementations do.
Next Meeting
12 January 2023 @ 1500 UTC