2529f56ed3
summits at BSDCan and BSDCam in 2017. The TCP Blackbox Recorder allows you to capture events on a TCP connection in a ring buffer. It stores metadata with the event. It optionally stores the TCP header associated with an event (if the event is associated with a packet) and also optionally stores information on the sockets. It supports setting a log ID on a TCP connection and using this to correlate multiple connections that share a common log ID. You can log connections in different modes. If you are doing a coordinated test with a particular connection, you may tell the system to put it in mode 4 (continuous dump). Or, if you just want to monitor for errors, you can put it in mode 1 (ring buffer) and dump all the ring buffers associated with the connection ID when we receive an error signal for that connection ID. You can set a default mode that will be applied to a particular ratio of incoming connections. You can also manually set a mode using a socket option. This commit includes only basic probes. rrs@ has added quite an abundance of probes in his TCP development work. He plans to commit those soon. There are user-space programs which we plan to commit as ports. These read the data from the log device and output pcapng files, and then let you analyze the data (and metadata) in the pcapng files. Reviewed by: gnn (previous version) Obtained from: Netflix, Inc. Relnotes: yes Differential Revision: https://reviews.freebsd.org/D11085 |
||
---|---|---|
.. | ||
bpf.c | ||
if.c | ||
inet6.c | ||
inet.c | ||
ipsec.c | ||
main.c | ||
Makefile | ||
Makefile.depend | ||
mbuf.c | ||
mroute6.c | ||
mroute.c | ||
netgraph.c | ||
netisr.c | ||
netstat.1 | ||
netstat.h | ||
nlist_symbols | ||
pfkey.c | ||
route.c | ||
sctp.c | ||
unix.c |