mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-02 02:02:03 +00:00
MINOR: quic: add version field on quic_rx_packet
Add a new field version on quic_rx_packet structure. This is set on header parsing in qc_lstnr_pkt_rcv() function. This change has no functional impact. It is a part of a refactoring series on qc_lstnr_pkt_rcv(). The objective is facilitate integration of FD-owned socket patches. This should be backported up to 2.6.
This commit is contained in:
parent
6c940569f6
commit
0eae57273b
@ -395,7 +395,11 @@ struct quic_dgram {
|
||||
struct quic_rx_packet {
|
||||
struct list list;
|
||||
struct list qc_rx_pkt_list;
|
||||
|
||||
/* QUIC version used in packet. */
|
||||
const struct quic_version *version;
|
||||
struct quic_conn *qc;
|
||||
|
||||
unsigned char type;
|
||||
/* Initial desctination connection ID. */
|
||||
struct quic_cid dcid;
|
||||
|
@ -6032,6 +6032,7 @@ static void qc_lstnr_pkt_rcv(unsigned char *buf, const unsigned char *end,
|
||||
TRACE_PROTO("VN packet sent", QUIC_EV_CONN_LPKT);
|
||||
goto err;
|
||||
}
|
||||
pkt->version = qv;
|
||||
|
||||
/* For Initial packets, and for servers (QUIC clients connections),
|
||||
* there is no Initial connection IDs storage.
|
||||
@ -7167,12 +7168,16 @@ struct task *quic_lstnr_dghdlr(struct task *t, void *ctx, unsigned int state)
|
||||
do {
|
||||
struct quic_rx_packet *pkt;
|
||||
|
||||
/* TODO replace zalloc -> alloc. */
|
||||
pkt = pool_zalloc(pool_head_quic_rx_packet);
|
||||
if (!pkt) {
|
||||
TRACE_ERROR("RX packet allocation failed", QUIC_EV_CONN_LPKT);
|
||||
/* TODO count lost datagram. */
|
||||
goto leave;
|
||||
}
|
||||
|
||||
pkt->version = NULL;
|
||||
|
||||
LIST_INIT(&pkt->qc_rx_pkt_list);
|
||||
pkt->time_received = now_ms;
|
||||
quic_rx_packet_refinc(pkt);
|
||||
|
Loading…
Reference in New Issue
Block a user