#
96ad6401 |
|
08-Mar-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
TCP LRO: add dtrace probe points Add the IP, UDP, and TCP receive static probes to the code path, which avoids if_input. Reviewed by: rrs, markj MFC after: 1 week` Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43727
|
#
d1ce0121 |
|
08-Mar-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
TCP LRO: disable mbuf queuing when packet filter hooks are in place When doing mbuf queueing, the packet filter hooks in ether_demux(), ip_input(), and ip6_input() are by-passed. This means that the packet filters don't process incoming packets, which might result in connection failures. For example bypassing the TCP sequence number validation will result in dropping valid packets. Please note that this patch is only disabling mbuf queueing, not LRO. Reported by: Herbert J. Skuhra Reviewed by: glebius, rrs, rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43769
|
#
f30c7d56 |
|
29-Jan-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
TCP LRO: convert TCP header fields to host byte order earlier This is a preparation for adding dtrace hooks in a follow-up commit, which are missing in the code path, where packets are directly queued to the tcpcb. The dtrace hooks expect the fields to be in host byte order. This only applies when TCP HPTS is used. No functional change intended. Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43594
|
#
48b55a7c |
|
19-Dec-2023 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp_hpts: make the module unloadable Although the HPTS subsytem wasn't initially designed as a loadable module, now it is so. Make it possible to also unload it, but for safety reasons hide that under 'kldunload -f'. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D43092
|
#
2c6fc36a |
|
04-Dec-2023 |
Gleb Smirnoff <glebius@FreeBSD.org> |
hpts/lro: make tcp_lro_flush_tcphpts() and tcp_run_hpts() pointers Rename tcp_run_hpts() to tcp_hpts_softlock() to better describe its function. This makes loadable hpts.ko working correctly with LRO. Reviewed by: tuexen, rrs Differential Revision: https://reviews.freebsd.org/D42858
|
#
4f9c93f1 |
|
04-Dec-2023 |
Gleb Smirnoff <glebius@FreeBSD.org> |
lro: separate HPTS specific code into tcp_lro_hpts.c Put same copyright header as tcp_hpts.c has, since all this code was developed by Randall Stewart <rrs@FreeBSD.org> as a part of the HPTS work. Also copy Mellanox copyright from tcp_lro.c as Hans Petter Selasky also participated in restructuring the code. Reviewed by: imp, tuexen, rrs Differential Revision: https://reviews.freebsd.org/D42854
|