]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
REORG: quic: cleanup traces definition
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 6 Oct 2023 15:39:00 +0000 (17:39 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 11 Oct 2023 12:15:31 +0000 (14:15 +0200)
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.

19 files changed:
include/haproxy/quic_conn-t.h
include/haproxy/quic_tls.h
include/haproxy/quic_trace-t.h
include/haproxy/quic_trace.h
src/quic_ack.c
src/quic_cc_cubic.c
src/quic_cc_newreno.c
src/quic_cc_nocc.c
src/quic_frame.c
src/quic_loss.c
src/quic_openssl_compat.c
src/quic_rx.c
src/quic_sock.c
src/quic_ssl.c
src/quic_tls.c
src/quic_tp.c
src/quic_trace.c
src/quic_tx.c
src/xprt_quic.c

index 36e74431f633be6d366a8949fe1756567591d37b..01a98700e1458542aa7aabd450a81a62d86bb0e9 100644 (file)
@@ -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 {
index 208a3c26d70bc2524c344329de7a45115f5f3ee3..9f964398cac99c99676b75c7ebd232af346f92f2 100644 (file)
@@ -17,8 +17,6 @@
 #error "Must define USE_OPENSSL"
 #endif
 
-#define TRACE_SOURCE &trace_quic
-
 #include <stdlib.h>
 #include <string.h>
 
@@ -29,6 +27,7 @@
 #include <haproxy/quic_frame.h>
 #include <haproxy/quic_tls-t.h>
 #include <haproxy/quic_tx.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/trace.h>
 
 int quic_tls_finalize(struct quic_conn *qc, int server);
index 77372ebc11cbbacbd48e8e1f97fe202ff475091c..8577a87acc5aaa2dd081449739647db415e71048 100644 (file)
 #ifndef _HAPROXY_QUIC_TRACE_T_H
 #define _HAPROXY_QUIC_TRACE_T_H
 
-#include <inttypes.h>
-#include <stdlib.h>
-
 #include <haproxy/quic_tls-t.h>
+#include <haproxy/trace-t.h>
+
+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 */
index b7f7bb0ac873afdec253db47bdd4bba6e4ba2c0e..19fe864307575939bb70a6b19a696c38782891ac 100644 (file)
@@ -23,6 +23,8 @@
 
 #include <haproxy/quic_trace-t.h>
 
+#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,
index 9334e77eea65545998384ca2ca47a1de352deafd..224a4334c3aa91004b7f12d9f6b65bbf84ae8a4f 100644 (file)
@@ -4,10 +4,9 @@
 
 #include <haproxy/quic_conn-t.h>
 #include <haproxy/quic_enc.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/trace.h>
 
-#define TRACE_SOURCE &trace_quic
-
 DECLARE_STATIC_POOL(pool_head_quic_arng, "quic_arng", sizeof(struct quic_arng_node));
 
 /* Deallocate <l> list of ACK ranges. */
index fd7fef5a231f3e912190d5209fd8f108cd0d095c..2dac2fb7a16ce181533f4e00524f73e5784c6653 100644 (file)
@@ -1,4 +1,5 @@
 #include <haproxy/quic_cc.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/ticks.h>
 #include <haproxy/trace.h>
 
@@ -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
index 9b132482df3e4c715ba3b20ed80a0b31d553519c..5fa8c0ee6b19f08b6a2a979da998d8c0cac63585 100644 (file)
 #include <haproxy/chunk.h>
 #include <haproxy/quic_cc.h>
 #include <haproxy/quic_conn-t.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/trace.h>
 
-#define TRACE_SOURCE    &trace_quic
-
 /* Newreno state */
 struct nr {
        uint32_t state;
index 0815c9c61deacec8d626a49e68a5489ac2a0a5ac..5fa6db5d79786fc86420781eb88e153c6f0f37e9 100644 (file)
@@ -6,10 +6,9 @@
 
 #include <haproxy/api-t.h>
 #include <haproxy/quic_conn-t.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/trace.h>
 
-#define TRACE_SOURCE    &trace_quic
-
 unsigned int quic_cc_nocc_fixed_cwnd;
 
 static int quic_cc_nocc_init(struct quic_cc *cc)
index b48e878f640981d1ad00c6e406e96521248aa6fa..0a52b74cb005410754cceace5866ca11ffc9eb7f 100644 (file)
 #include <haproxy/quic_frame.h>
 #include <haproxy/quic_rx-t.h>
 #include <haproxy/quic_tp-t.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/quic_tx.h>
 #include <haproxy/trace.h>
 
-#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)
index c386fa3da780f48a649bfe3fe35936a967dae227..0eab03d4292037abbb450ec53bfd0266bfaad98d 100644 (file)
@@ -3,14 +3,13 @@
 #include <haproxy/quic_conn-t.h>
 #include <haproxy/quic_loss.h>
 #include <haproxy/quic_tls.h>
+#include <haproxy/quic_trace.h>
 
 #include <haproxy/atomic.h>
 #include <haproxy/list.h>
 #include <haproxy/ticks.h>
 #include <haproxy/trace.h>
 
-#define TRACE_SOURCE &trace_quic
-
 /* Update <ql> QUIC loss information with new <rtt> measurement and <ack_delay>
  * on ACK frame receipt which MUST be min(ack->ack_delay, max_ack_delay)
  * before the handshake is confirmed.
index 2accb329379ab07668ab0664cf4326c483b451e3..de5badf0c4921731658fbae892129a8d26760c6c 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <haproxy/quic_conn.h>
 #include <haproxy/quic_tls.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/ssl_sock.h>
 #include <haproxy/trace.h>
 
@@ -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;
index 2756a3f0fb6c054a6b09b22fcaad158c517ebd7f..3489fef332d46d3752246bf1d0663f4d5e8f93ea 100644 (file)
 #include <haproxy/quic_stream.h>
 #include <haproxy/quic_ssl.h>
 #include <haproxy/quic_tls.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/quic_tx.h>
 #include <haproxy/trace.h>
 
-#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));
index 3b3c3a7a28ed94d242b0cd1956980c7689aeea9f..08ad726efad4bea7ea745315a220a0fb6e167550 100644 (file)
@@ -35,6 +35,7 @@
 #include <haproxy/quic_rx.h>
 #include <haproxy/quic_sock.h>
 #include <haproxy/quic_tp-t.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/session.h>
 #include <haproxy/stats-t.h>
 #include <haproxy/task.h>
 #include <haproxy/tools.h>
 #include <haproxy/trace.h>
 
-#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;
 
index 0f10604f1c2a4429e4e046f3e6d43b4fff0f95bf..9cf9b85fff17a95e36a373b17daac2f8386adadf 100644 (file)
@@ -6,9 +6,9 @@
 #include <haproxy/quic_ssl.h>
 #include <haproxy/quic_tls.h>
 #include <haproxy/quic_tp.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/ssl_sock.h>
-
-#define TRACE_SOURCE       &trace_quic
+#include <haproxy/trace.h>
 
 DECLARE_POOL(pool_head_quic_ssl_sock_ctx, "quic_ssl_sock_ctx", sizeof(struct ssl_sock_ctx));
 
index 8c085e278360cda29a40e71b4daa9c8b13991d1a..f5ac9d9099c0228086877ec7c5b0293fe7bc2a96 100644 (file)
@@ -11,7 +11,6 @@
 #include <haproxy/pool.h>
 #include <haproxy/quic_ack.h>
 #include <haproxy/quic_conn.h>
-#include <haproxy/quic_trace-t.h>
 
 
 DECLARE_POOL(pool_head_quic_enc_level,  "quic_enc_level",  sizeof(struct quic_enc_level));
index 9879828417e580d4ac563e4731eec14c4ac12dde..5ae4f826b30d98da3935461a1159f877f1f401ab 100644 (file)
@@ -7,12 +7,11 @@
 #include <haproxy/quic_conn.h>
 #include <haproxy/quic_enc.h>
 #include <haproxy/quic_tp.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/trace.h>
 
 #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.
index 84f747fed2072925dafb297411dc28dac1c17e4d..257fe730ce040fafc95e6f696e2d09434cef19f6 100644 (file)
@@ -14,7 +14,7 @@
 
 #include <haproxy/quic_conn.h>
 #include <haproxy/quic_tls.h>
-#include <haproxy/quic_trace-t.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/quic_tp.h>
 #include <haproxy/trace.h>
 
@@ -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.
index a1a2c1bbd0e2ae7a59f4bd13a4579cfed76e5ea6..53004acbf7d03e459acfd6a8d29fa27d01db8c84 100644 (file)
@@ -21,8 +21,6 @@
 #include <haproxy/quic_trace.h>
 #include <haproxy/ssl_sock-t.h>
 
-#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);
 
index d23ac89334115db84399ac0baced6a412a247041..74cdffa2db0f7e6209f2b546edf807c4ff6fa6d0 100644 (file)
 #include <haproxy/connection.h>
 #include <haproxy/quic_conn.h>
 #include <haproxy/ssl_sock.h>
+#include <haproxy/quic_trace.h>
 #include <haproxy/trace.h>
 
-#define TRACE_SOURCE &trace_quic
-
 static void quic_close(struct connection *conn, void *xprt_ctx)
 {
        struct ssl_sock_ctx *conn_ctx = xprt_ctx;