From: Amaury Denoyelle Date: Fri, 6 Oct 2023 15:39:00 +0000 (+0200) Subject: REORG: quic: cleanup traces definition X-Git-Tag: v2.9-dev8~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f59f8326f9fff7256d2cfddd9472162858cb1450;p=thirdparty%2Fhaproxy.git REORG: quic: cleanup traces definition Move all QUIC trace definitions from quic_conn.h to quic_trace-t.h. Also remove multiple definition trace_quic macro definition into quic_trace.h. This forces all QUIC source files who relies on trace to include it while reducing the size of quic_conn.h. --- diff --git a/include/haproxy/quic_conn-t.h b/include/haproxy/quic_conn-t.h index 36e74431f6..01a98700e1 100644 --- a/include/haproxy/quic_conn-t.h +++ b/include/haproxy/quic_conn-t.h @@ -180,60 +180,6 @@ enum quic_pkt_type { #define QUIC_STATELESS_RESET_PACKET_HEADER_LEN 5 #define QUIC_STATELESS_RESET_PACKET_MINLEN (22 + QUIC_HAP_CID_LEN) -#define QUIC_EV_CONN_NEW (1ULL << 0) -#define QUIC_EV_CONN_INIT (1ULL << 1) -#define QUIC_EV_CONN_ISEC (1ULL << 2) -#define QUIC_EV_CONN_RSEC (1ULL << 3) -#define QUIC_EV_CONN_WSEC (1ULL << 4) -#define QUIC_EV_CONN_RWSEC (1ULL << 5) -#define QUIC_EV_CONN_LPKT (1ULL << 6) -#define QUIC_EV_CONN_SPKT (1ULL << 7) -#define QUIC_EV_CONN_ENCPKT (1ULL << 8) -#define QUIC_EV_CONN_TXPKT (1ULL << 9) -#define QUIC_EV_CONN_PAPKT (1ULL << 10) -#define QUIC_EV_CONN_PAPKTS (1ULL << 11) -#define QUIC_EV_CONN_IO_CB (1ULL << 12) -#define QUIC_EV_CONN_RMHP (1ULL << 13) -#define QUIC_EV_CONN_PRSHPKT (1ULL << 14) -#define QUIC_EV_CONN_PRSAPKT (1ULL << 15) -#define QUIC_EV_CONN_PRSFRM (1ULL << 16) -#define QUIC_EV_CONN_PRSAFRM (1ULL << 17) -#define QUIC_EV_CONN_BFRM (1ULL << 18) -#define QUIC_EV_CONN_PHPKTS (1ULL << 19) -#define QUIC_EV_CONN_TRMHP (1ULL << 20) -#define QUIC_EV_CONN_ELRMHP (1ULL << 21) -#define QUIC_EV_CONN_RXPKT (1ULL << 22) -#define QUIC_EV_CONN_SSLDATA (1ULL << 23) -#define QUIC_EV_CONN_RXCDATA (1ULL << 24) -#define QUIC_EV_CONN_ADDDATA (1ULL << 25) -#define QUIC_EV_CONN_FFLIGHT (1ULL << 26) -#define QUIC_EV_CONN_SSLALERT (1ULL << 27) -#define QUIC_EV_CONN_PSTRM (1ULL << 28) -#define QUIC_EV_CONN_RTTUPDT (1ULL << 29) -#define QUIC_EV_CONN_CC (1ULL << 30) -#define QUIC_EV_CONN_SPPKTS (1ULL << 31) -#define QUIC_EV_CONN_PKTLOSS (1ULL << 32) -#define QUIC_EV_CONN_STIMER (1ULL << 33) -#define QUIC_EV_CONN_PTIMER (1ULL << 34) -#define QUIC_EV_CONN_SPTO (1ULL << 35) -#define QUIC_EV_CONN_BCFRMS (1ULL << 36) -#define QUIC_EV_CONN_XPRTSEND (1ULL << 37) -#define QUIC_EV_CONN_XPRTRECV (1ULL << 38) -#define QUIC_EV_CONN_FREED (1ULL << 39) -#define QUIC_EV_CONN_CLOSE (1ULL << 40) -#define QUIC_EV_CONN_ACKSTRM (1ULL << 41) -#define QUIC_EV_CONN_FRMLIST (1ULL << 42) -#define QUIC_EV_STATELESS_RST (1ULL << 43) -#define QUIC_EV_TRANSP_PARAMS (1ULL << 44) -#define QUIC_EV_CONN_IDLE_TIMER (1ULL << 45) -#define QUIC_EV_CONN_SUB (1ULL << 46) -#define QUIC_EV_CONN_ELEVELSEL (1ULL << 47) -#define QUIC_EV_CONN_RCV (1ULL << 48) -#define QUIC_EV_CONN_KILL (1ULL << 49) -#define QUIC_EV_CONN_KP (1ULL << 50) -#define QUIC_EV_CONN_SSL_COMPAT (1ULL << 51) -#define QUIC_EV_CONN_SET_AFFINITY (1ULL << 52) - /* Similar to kernel min()/max() definitions. */ #define QUIC_MIN(a, b) ({ \ typeof(a) _a = (a); \ @@ -250,7 +196,6 @@ enum quic_pkt_type { /* Size of the QUIC RX buffer for the connections */ #define QUIC_CONN_RX_BUFSZ (1UL << 16) -extern struct trace_source trace_quic; extern struct pool_head *pool_head_quic_crypto_buf; struct quic_version { diff --git a/include/haproxy/quic_tls.h b/include/haproxy/quic_tls.h index 208a3c26d7..9f964398ca 100644 --- a/include/haproxy/quic_tls.h +++ b/include/haproxy/quic_tls.h @@ -17,8 +17,6 @@ #error "Must define USE_OPENSSL" #endif -#define TRACE_SOURCE &trace_quic - #include #include @@ -29,6 +27,7 @@ #include #include #include +#include #include int quic_tls_finalize(struct quic_conn *qc, int server); diff --git a/include/haproxy/quic_trace-t.h b/include/haproxy/quic_trace-t.h index 77372ebc11..8577a87acc 100644 --- a/include/haproxy/quic_trace-t.h +++ b/include/haproxy/quic_trace-t.h @@ -14,10 +14,10 @@ #ifndef _HAPROXY_QUIC_TRACE_T_H #define _HAPROXY_QUIC_TRACE_T_H -#include -#include - #include +#include + +extern struct trace_source trace_quic; /* Used only for QUIC TLS key phase traces */ struct quic_kp_trace { @@ -38,4 +38,58 @@ struct enc_debug_info { uint64_t pn; }; +#define QUIC_EV_CONN_NEW (1ULL << 0) +#define QUIC_EV_CONN_INIT (1ULL << 1) +#define QUIC_EV_CONN_ISEC (1ULL << 2) +#define QUIC_EV_CONN_RSEC (1ULL << 3) +#define QUIC_EV_CONN_WSEC (1ULL << 4) +#define QUIC_EV_CONN_RWSEC (1ULL << 5) +#define QUIC_EV_CONN_LPKT (1ULL << 6) +#define QUIC_EV_CONN_SPKT (1ULL << 7) +#define QUIC_EV_CONN_ENCPKT (1ULL << 8) +#define QUIC_EV_CONN_TXPKT (1ULL << 9) +#define QUIC_EV_CONN_PAPKT (1ULL << 10) +#define QUIC_EV_CONN_PAPKTS (1ULL << 11) +#define QUIC_EV_CONN_IO_CB (1ULL << 12) +#define QUIC_EV_CONN_RMHP (1ULL << 13) +#define QUIC_EV_CONN_PRSHPKT (1ULL << 14) +#define QUIC_EV_CONN_PRSAPKT (1ULL << 15) +#define QUIC_EV_CONN_PRSFRM (1ULL << 16) +#define QUIC_EV_CONN_PRSAFRM (1ULL << 17) +#define QUIC_EV_CONN_BFRM (1ULL << 18) +#define QUIC_EV_CONN_PHPKTS (1ULL << 19) +#define QUIC_EV_CONN_TRMHP (1ULL << 20) +#define QUIC_EV_CONN_ELRMHP (1ULL << 21) +#define QUIC_EV_CONN_RXPKT (1ULL << 22) +#define QUIC_EV_CONN_SSLDATA (1ULL << 23) +#define QUIC_EV_CONN_RXCDATA (1ULL << 24) +#define QUIC_EV_CONN_ADDDATA (1ULL << 25) +#define QUIC_EV_CONN_FFLIGHT (1ULL << 26) +#define QUIC_EV_CONN_SSLALERT (1ULL << 27) +#define QUIC_EV_CONN_PSTRM (1ULL << 28) +#define QUIC_EV_CONN_RTTUPDT (1ULL << 29) +#define QUIC_EV_CONN_CC (1ULL << 30) +#define QUIC_EV_CONN_SPPKTS (1ULL << 31) +#define QUIC_EV_CONN_PKTLOSS (1ULL << 32) +#define QUIC_EV_CONN_STIMER (1ULL << 33) +#define QUIC_EV_CONN_PTIMER (1ULL << 34) +#define QUIC_EV_CONN_SPTO (1ULL << 35) +#define QUIC_EV_CONN_BCFRMS (1ULL << 36) +#define QUIC_EV_CONN_XPRTSEND (1ULL << 37) +#define QUIC_EV_CONN_XPRTRECV (1ULL << 38) +#define QUIC_EV_CONN_FREED (1ULL << 39) +#define QUIC_EV_CONN_CLOSE (1ULL << 40) +#define QUIC_EV_CONN_ACKSTRM (1ULL << 41) +#define QUIC_EV_CONN_FRMLIST (1ULL << 42) +#define QUIC_EV_STATELESS_RST (1ULL << 43) +#define QUIC_EV_TRANSP_PARAMS (1ULL << 44) +#define QUIC_EV_CONN_IDLE_TIMER (1ULL << 45) +#define QUIC_EV_CONN_SUB (1ULL << 46) +#define QUIC_EV_CONN_ELEVELSEL (1ULL << 47) +#define QUIC_EV_CONN_RCV (1ULL << 48) +#define QUIC_EV_CONN_KILL (1ULL << 49) +#define QUIC_EV_CONN_KP (1ULL << 50) +#define QUIC_EV_CONN_SSL_COMPAT (1ULL << 51) +#define QUIC_EV_CONN_SET_AFFINITY (1ULL << 52) + #endif /* _HAPROXY_QUIC_TRACE_T_H */ diff --git a/include/haproxy/quic_trace.h b/include/haproxy/quic_trace.h index b7f7bb0ac8..19fe864307 100644 --- a/include/haproxy/quic_trace.h +++ b/include/haproxy/quic_trace.h @@ -23,6 +23,8 @@ #include +#define TRACE_SOURCE &trace_quic + /* Initializes a enc_debug_info struct (only for debug purpose) */ static inline void enc_debug_info_init(struct enc_debug_info *edi, unsigned char *payload, size_t payload_len, diff --git a/src/quic_ack.c b/src/quic_ack.c index 9334e77eea..224a4334c3 100644 --- a/src/quic_ack.c +++ b/src/quic_ack.c @@ -4,10 +4,9 @@ #include #include +#include #include -#define TRACE_SOURCE &trace_quic - DECLARE_STATIC_POOL(pool_head_quic_arng, "quic_arng", sizeof(struct quic_arng_node)); /* Deallocate list of ACK ranges. */ diff --git a/src/quic_cc_cubic.c b/src/quic_cc_cubic.c index fd7fef5a23..2dac2fb7a1 100644 --- a/src/quic_cc_cubic.c +++ b/src/quic_cc_cubic.c @@ -1,4 +1,5 @@ #include +#include #include #include @@ -7,7 +8,6 @@ * not want to use any floating point operations to be fast! * (See net/ipv4/tcp_cubic.c) */ -#define TRACE_SOURCE &trace_quic #define CUBIC_BETA_SCALE 1024 #define CUBIC_BETA_SCALE_SHIFT 10 diff --git a/src/quic_cc_newreno.c b/src/quic_cc_newreno.c index 9b132482df..5fa8c0ee6b 100644 --- a/src/quic_cc_newreno.c +++ b/src/quic_cc_newreno.c @@ -25,10 +25,9 @@ #include #include #include +#include #include -#define TRACE_SOURCE &trace_quic - /* Newreno state */ struct nr { uint32_t state; diff --git a/src/quic_cc_nocc.c b/src/quic_cc_nocc.c index 0815c9c61d..5fa6db5d79 100644 --- a/src/quic_cc_nocc.c +++ b/src/quic_cc_nocc.c @@ -6,10 +6,9 @@ #include #include +#include #include -#define TRACE_SOURCE &trace_quic - unsigned int quic_cc_nocc_fixed_cwnd; static int quic_cc_nocc_init(struct quic_cc *cc) diff --git a/src/quic_frame.c b/src/quic_frame.c index b48e878f64..0a52b74cb0 100644 --- a/src/quic_frame.c +++ b/src/quic_frame.c @@ -18,11 +18,10 @@ #include #include #include +#include #include #include -#define TRACE_SOURCE &trace_quic - DECLARE_POOL(pool_head_quic_frame, "quic_frame", sizeof(struct quic_frame)); const char *quic_frame_type_string(enum quic_frame_type ft) diff --git a/src/quic_loss.c b/src/quic_loss.c index c386fa3da7..0eab03d429 100644 --- a/src/quic_loss.c +++ b/src/quic_loss.c @@ -3,14 +3,13 @@ #include #include #include +#include #include #include #include #include -#define TRACE_SOURCE &trace_quic - /* Update QUIC loss information with new measurement and * on ACK frame receipt which MUST be min(ack->ack_delay, max_ack_delay) * before the handshake is confirmed. diff --git a/src/quic_openssl_compat.c b/src/quic_openssl_compat.c index 2accb32937..de5badf0c4 100644 --- a/src/quic_openssl_compat.c +++ b/src/quic_openssl_compat.c @@ -12,6 +12,7 @@ #include #include +#include #include #include @@ -24,8 +25,6 @@ #define QUIC_TLS_KEY_LABEL "key" #define QUIC_TLS_IV_LABEL "iv" -#define TRACE_SOURCE &trace_quic - struct quic_tls_compat_record { unsigned char type; const unsigned char *payload; diff --git a/src/quic_rx.c b/src/quic_rx.c index 2756a3f0fb..3489fef332 100644 --- a/src/quic_rx.c +++ b/src/quic_rx.c @@ -23,11 +23,10 @@ #include #include #include +#include #include #include -#define TRACE_SOURCE &trace_quic - DECLARE_POOL(pool_head_quic_conn_rxbuf, "quic_conn_rxbuf", QUIC_CONN_RX_BUFSZ); DECLARE_POOL(pool_head_quic_dgram, "quic_dgram", sizeof(struct quic_dgram)); DECLARE_POOL(pool_head_quic_rx_packet, "quic_rx_packet", sizeof(struct quic_rx_packet)); diff --git a/src/quic_sock.c b/src/quic_sock.c index 3b3c3a7a28..08ad726efa 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -42,10 +43,6 @@ #include #include -#define TRACE_SOURCE &trace_quic - -#define TRACE_SOURCE &trace_quic - /* Log only first EACCES bind() error runtime occurence. */ static volatile char quic_bind_eacces_warn = 0; diff --git a/src/quic_ssl.c b/src/quic_ssl.c index 0f10604f1c..9cf9b85fff 100644 --- a/src/quic_ssl.c +++ b/src/quic_ssl.c @@ -6,9 +6,9 @@ #include #include #include +#include #include - -#define TRACE_SOURCE &trace_quic +#include DECLARE_POOL(pool_head_quic_ssl_sock_ctx, "quic_ssl_sock_ctx", sizeof(struct ssl_sock_ctx)); diff --git a/src/quic_tls.c b/src/quic_tls.c index 8c085e2783..f5ac9d9099 100644 --- a/src/quic_tls.c +++ b/src/quic_tls.c @@ -11,7 +11,6 @@ #include #include #include -#include DECLARE_POOL(pool_head_quic_enc_level, "quic_enc_level", sizeof(struct quic_enc_level)); diff --git a/src/quic_tp.c b/src/quic_tp.c index 9879828417..5ae4f826b3 100644 --- a/src/quic_tp.c +++ b/src/quic_tp.c @@ -7,12 +7,11 @@ #include #include #include +#include #include #define QUIC_MAX_UDP_PAYLOAD_SIZE 2048 -#define TRACE_SOURCE &trace_quic - /* This is the values of some QUIC transport parameters when absent. * Should be used to initialize any transport parameters (local or remote) * before updating them with customized values. diff --git a/src/quic_trace.c b/src/quic_trace.c index 84f747fed2..257fe730ce 100644 --- a/src/quic_trace.c +++ b/src/quic_trace.c @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include @@ -97,7 +97,6 @@ struct trace_source trace_quic = { .report_events = ~0, /* report everything by default */ }; -#define TRACE_SOURCE &trace_quic INITCALL1(STG_REGISTER, trace_register_source, TRACE_SOURCE); /* Trace callback for QUIC. diff --git a/src/quic_tx.c b/src/quic_tx.c index a1a2c1bbd0..53004acbf7 100644 --- a/src/quic_tx.c +++ b/src/quic_tx.c @@ -21,8 +21,6 @@ #include #include -#define TRACE_SOURCE &trace_quic - DECLARE_POOL(pool_head_quic_tx_packet, "quic_tx_packet", sizeof(struct quic_tx_packet)); DECLARE_POOL(pool_head_quic_cc_buf, "quic_cc_buf", QUIC_MAX_CC_BUFSIZE); diff --git a/src/xprt_quic.c b/src/xprt_quic.c index d23ac89334..74cdffa2db 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -14,10 +14,9 @@ #include #include #include +#include #include -#define TRACE_SOURCE &trace_quic - static void quic_close(struct connection *conn, void *xprt_ctx) { struct ssl_sock_ctx *conn_ctx = xprt_ctx;