Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_log_buf.h
Show First 20 Lines • Show All 253 Lines • ▼ Show 20 Lines | enum tcp_log_events { | ||||
BBR_LOG_TSTMP_VAL, /* Temp debug timestamp validation 53 */ | BBR_LOG_TSTMP_VAL, /* Temp debug timestamp validation 53 */ | ||||
TCP_LOG_CONNEND, /* End of connection 54 */ | TCP_LOG_CONNEND, /* End of connection 54 */ | ||||
TCP_LOG_LRO, /* LRO entry 55 */ | TCP_LOG_LRO, /* LRO entry 55 */ | ||||
TCP_SACK_FILTER_RES, /* Results of SACK Filter 56 */ | TCP_SACK_FILTER_RES, /* Results of SACK Filter 56 */ | ||||
TCP_SAD_DETECT, /* Sack Attack Detection 57 */ | TCP_SAD_DETECT, /* Sack Attack Detection 57 */ | ||||
TCP_TIMELY_WORK, /* Logs regarding Timely CC tweaks 58 */ | TCP_TIMELY_WORK, /* Logs regarding Timely CC tweaks 58 */ | ||||
TCP_LOG_USER_EVENT, /* User space event data 59 */ | TCP_LOG_USER_EVENT, /* User space event data 59 */ | ||||
TCP_LOG_SENDFILE, /* sendfile() logging for TCP connections 60 */ | TCP_LOG_SENDFILE, /* sendfile() logging for TCP connections 60 */ | ||||
TCP_LOG_HTTP_T, /* logging of http request tracking 61 */ | TCP_LOG_REQ_T, /* logging of request tracking 61 */ | ||||
TCP_LOG_ACCOUNTING, /* Log of TCP Accounting data 62 */ | TCP_LOG_ACCOUNTING, /* Log of TCP Accounting data 62 */ | ||||
TCP_LOG_FSB, /* FSB information 63 */ | TCP_LOG_FSB, /* FSB information 63 */ | ||||
RACK_DSACK_HANDLING, /* Handling of DSACK in rack for reordering window 64 */ | RACK_DSACK_HANDLING, /* Handling of DSACK in rack for reordering window 64 */ | ||||
TCP_HYSTART, /* TCP Hystart logging 65 */ | TCP_HYSTART, /* TCP Hystart logging 65 */ | ||||
TCP_CHG_QUERY, /* Change query during fnc_init() 66 */ | TCP_CHG_QUERY, /* Change query during fnc_init() 66 */ | ||||
TCP_RACK_LOG_COLLAPSE, /* Window collapse by peer 67 */ | TCP_RACK_LOG_COLLAPSE, /* Window collapse by peer 67 */ | ||||
TCP_RACK_TP_TRIGGERED, /* A rack tracepoint is triggered 68 */ | TCP_RACK_TP_TRIGGERED, /* A rack tracepoint is triggered 68 */ | ||||
TCP_HYBRID_PACING_LOG, /* Hybrid pacing log 69 */ | TCP_HYBRID_PACING_LOG, /* Hybrid pacing log 69 */ | ||||
▲ Show 20 Lines • Show All 95 Lines • ▼ Show 20 Lines | |||||
* have currently been defined in the code. Add more | * have currently been defined in the code. Add more | ||||
* as you add a call to rack_trace_point(rack, <name>); | * as you add a call to rack_trace_point(rack, <name>); | ||||
* where <name> is defined below. | * where <name> is defined below. | ||||
*/ | */ | ||||
#define TCP_TP_HWENOBUF 0x00000001 /* When we are doing hardware pacing and hit enobufs */ | #define TCP_TP_HWENOBUF 0x00000001 /* When we are doing hardware pacing and hit enobufs */ | ||||
#define TCP_TP_ENOBUF 0x00000002 /* When we hit enobufs with software pacing */ | #define TCP_TP_ENOBUF 0x00000002 /* When we hit enobufs with software pacing */ | ||||
#define TCP_TP_COLLAPSED_WND 0x00000003 /* When a peer to collapses its rwnd on us */ | #define TCP_TP_COLLAPSED_WND 0x00000003 /* When a peer to collapses its rwnd on us */ | ||||
#define TCP_TP_COLLAPSED_RXT 0x00000004 /* When we actually retransmit a collapsed window rsm */ | #define TCP_TP_COLLAPSED_RXT 0x00000004 /* When we actually retransmit a collapsed window rsm */ | ||||
#define TCP_TP_HTTP_LOG_FAIL 0x00000005 /* We tried to allocate a HTTP log but had no space */ | #define TCP_TP_REQ_LOG_FAIL 0x00000005 /* We tried to allocate a Request log but had no space */ | ||||
#define TCP_TP_RESET_RCV 0x00000006 /* Triggers when we receive a RST */ | #define TCP_TP_RESET_RCV 0x00000006 /* Triggers when we receive a RST */ | ||||
#define TCP_TP_EXCESS_RXT 0x00000007 /* When we get excess RXT's clamping the cwnd */ | #define TCP_TP_EXCESS_RXT 0x00000007 /* When we get excess RXT's clamping the cwnd */ | ||||
#define TCP_TP_SAD_TRIGGERED 0x00000008 /* Sack Attack Detection triggers */ | #define TCP_TP_SAD_TRIGGERED 0x00000008 /* Sack Attack Detection triggers */ | ||||
#define TCP_TP_SAD_SUSPECT 0x0000000a /* A sack has supicious information in it */ | #define TCP_TP_SAD_SUSPECT 0x0000000a /* A sack has supicious information in it */ | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
▲ Show 20 Lines • Show All 123 Lines • ▼ Show 20 Lines | |||||
* | * | ||||
* To define a point you add it above under the define for TCP_BBPOINT_NONE (which | * To define a point you add it above under the define for TCP_BBPOINT_NONE (which | ||||
* is the default i.e. no point is defined. You then, for your point use the | * is the default i.e. no point is defined. You then, for your point use the | ||||
* tcp_bblogging_point_on(struct tcpcb *tp, uint8_t bbpoint) inline to enclose | * tcp_bblogging_point_on(struct tcpcb *tp, uint8_t bbpoint) inline to enclose | ||||
* your call to tcp_log_event. Do not use one of the TCP_LOGGING macros else | * your call to tcp_log_event. Do not use one of the TCP_LOGGING macros else | ||||
* your point will never come out. You specify your defined point in the bbpoint | * your point will never come out. You specify your defined point in the bbpoint | ||||
* side of the inline. An example of this you can find in rack where the | * side of the inline. An example of this you can find in rack where the | ||||
* TCP_BBPOINT_REQ_LEVEL_LOGGING is used. There a specific set of logs are generated | * TCP_BBPOINT_REQ_LEVEL_LOGGING is used. There a specific set of logs are generated | ||||
* for each http request that rack is tracking. | * for each request that tcp is tracking. | ||||
* | * | ||||
* When turning on BB logging use the inline: | * When turning on BB logging use the inline: | ||||
* tcp_set_bblog_state(struct tcpcb *tp, uint8_t ls, uint8_t bbpoint) | * tcp_set_bblog_state(struct tcpcb *tp, uint8_t ls, uint8_t bbpoint) | ||||
* the ls field is the logging state TCP_LOG_STATE_CONTINUAL etc. The | * the ls field is the logging state TCP_LOG_STATE_CONTINUAL etc. The | ||||
* bbpoint field is ignored unless the ls field is set to TCP_LOG_VIA_BBPOINTS. | * bbpoint field is ignored unless the ls field is set to TCP_LOG_VIA_BBPOINTS. | ||||
* Currently there is only a socket option that turns on the non-BBPOINT | * Currently there is only a socket option that turns on the non-BBPOINT | ||||
* logging. | * logging. | ||||
* | * | ||||
▲ Show 20 Lines • Show All 78 Lines • Show Last 20 Lines |