mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 05:41:26 +02:00
MINOR: quic: remove unused pacing burst in bind_conf/quic_cc_path
Pacing burst size is now dynamic. As such, configuration value has been removed and related fields in bind_conf and quic_cc_path structures can be safely removed. This should be backported up to 3.1.
This commit is contained in:
parent
cb91ccd8a8
commit
7896edccdc
@ -185,7 +185,6 @@ struct bind_conf {
|
|||||||
struct quic_cc_algo *quic_cc_algo; /* QUIC control congestion algorithm */
|
struct quic_cc_algo *quic_cc_algo; /* QUIC control congestion algorithm */
|
||||||
size_t max_cwnd; /* QUIC maximumu congestion control window size (kB) */
|
size_t max_cwnd; /* QUIC maximumu congestion control window size (kB) */
|
||||||
enum quic_sock_mode quic_mode; /* QUIC socket allocation strategy */
|
enum quic_sock_mode quic_mode; /* QUIC socket allocation strategy */
|
||||||
int quic_pacing_burst; /* QUIC allowed pacing burst size */
|
|
||||||
#endif
|
#endif
|
||||||
struct proxy *frontend; /* the frontend all these listeners belong to, or NULL */
|
struct proxy *frontend; /* the frontend all these listeners belong to, or NULL */
|
||||||
const struct mux_proto_list *mux_proto; /* the mux to use for all incoming connections (specified by the "proto" keyword) */
|
const struct mux_proto_list *mux_proto; /* the mux to use for all incoming connections (specified by the "proto" keyword) */
|
||||||
|
@ -118,8 +118,6 @@ struct quic_cc_path {
|
|||||||
uint64_t in_flight;
|
uint64_t in_flight;
|
||||||
/* Number of in flight ack-eliciting packets. */
|
/* Number of in flight ack-eliciting packets. */
|
||||||
uint64_t ifae_pkts;
|
uint64_t ifae_pkts;
|
||||||
/* Burst size if pacing is used. Not used if congestion algo handle pacing itself. */
|
|
||||||
uint32_t pacing_burst;
|
|
||||||
uint64_t delivery_rate; /* bytes per second */
|
uint64_t delivery_rate; /* bytes per second */
|
||||||
size_t send_quantum;
|
size_t send_quantum;
|
||||||
uint32_t recovery_start_ts;
|
uint32_t recovery_start_ts;
|
||||||
|
@ -39,7 +39,6 @@ void quic_cc_state_trace(struct buffer *buf, const struct quic_cc *cc);
|
|||||||
|
|
||||||
/* Pacing callbacks */
|
/* Pacing callbacks */
|
||||||
uint quic_cc_default_pacing_inter(const struct quic_cc *cc);
|
uint quic_cc_default_pacing_inter(const struct quic_cc *cc);
|
||||||
uint quic_cc_default_pacing_burst(const struct quic_cc *cc);
|
|
||||||
|
|
||||||
static inline const char *quic_cc_state_str(enum quic_cc_algo_state_type state)
|
static inline const char *quic_cc_state_str(enum quic_cc_algo_state_type state)
|
||||||
{
|
{
|
||||||
@ -82,7 +81,7 @@ static inline void *quic_cc_priv(const struct quic_cc *cc)
|
|||||||
* which is true for an IPv4 path, if not false for an IPv6 path.
|
* which is true for an IPv4 path, if not false for an IPv6 path.
|
||||||
*/
|
*/
|
||||||
static inline void quic_cc_path_init(struct quic_cc_path *path, int ipv4, unsigned long max_cwnd,
|
static inline void quic_cc_path_init(struct quic_cc_path *path, int ipv4, unsigned long max_cwnd,
|
||||||
struct quic_cc_algo *algo, int burst,
|
struct quic_cc_algo *algo,
|
||||||
struct quic_conn *qc)
|
struct quic_conn *qc)
|
||||||
{
|
{
|
||||||
unsigned int max_dgram_sz;
|
unsigned int max_dgram_sz;
|
||||||
@ -98,7 +97,6 @@ static inline void quic_cc_path_init(struct quic_cc_path *path, int ipv4, unsign
|
|||||||
path->prep_in_flight = 0;
|
path->prep_in_flight = 0;
|
||||||
path->in_flight = 0;
|
path->in_flight = 0;
|
||||||
path->ifae_pkts = 0;
|
path->ifae_pkts = 0;
|
||||||
path->pacing_burst = burst;
|
|
||||||
quic_cc_init(&path->cc, algo, qc);
|
quic_cc_init(&path->cc, algo, qc);
|
||||||
path->delivery_rate = 0;
|
path->delivery_rate = 0;
|
||||||
path->send_quantum = 64 * 1024;
|
path->send_quantum = 64 * 1024;
|
||||||
|
@ -202,9 +202,7 @@ static int bind_parse_quic_cc_algo(char **args, int cur_arg, struct proxy *px,
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
conf->quic_pacing_burst = burst;
|
|
||||||
cc_algo->pacing_inter = quic_cc_default_pacing_inter;
|
cc_algo->pacing_inter = quic_cc_default_pacing_inter;
|
||||||
cc_algo->pacing_burst = quic_cc_default_pacing_burst;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*end_opt == ')') {
|
if (*end_opt == ')') {
|
||||||
|
@ -2040,7 +2040,6 @@ struct bind_conf *bind_conf_alloc(struct proxy *fe, const char *file,
|
|||||||
/* Use connection socket for QUIC by default. */
|
/* Use connection socket for QUIC by default. */
|
||||||
bind_conf->quic_mode = QUIC_SOCK_MODE_CONN;
|
bind_conf->quic_mode = QUIC_SOCK_MODE_CONN;
|
||||||
bind_conf->max_cwnd = global.tune.quic_frontend_max_window_size;
|
bind_conf->max_cwnd = global.tune.quic_frontend_max_window_size;
|
||||||
bind_conf->quic_pacing_burst = 0;
|
|
||||||
#endif
|
#endif
|
||||||
LIST_INIT(&bind_conf->listeners);
|
LIST_INIT(&bind_conf->listeners);
|
||||||
|
|
||||||
|
@ -57,15 +57,6 @@ uint quic_cc_default_pacing_inter(const struct quic_cc *cc)
|
|||||||
return path->loss.srtt * 1000000 / (path->cwnd / path->mtu + 1) + 1;
|
return path->loss.srtt * 1000000 / (path->cwnd / path->mtu + 1) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the max number of datagrams which can be emitted in a burst with
|
|
||||||
* pacing. Must return a strictly positive value.
|
|
||||||
*/
|
|
||||||
uint quic_cc_default_pacing_burst(const struct quic_cc *cc)
|
|
||||||
{
|
|
||||||
struct quic_cc_path *path = container_of(cc, struct quic_cc_path, cc);
|
|
||||||
return path->pacing_burst;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns true if congestion window on path ought to be increased. */
|
/* Returns true if congestion window on path ought to be increased. */
|
||||||
int quic_cwnd_may_increase(const struct quic_cc_path *path)
|
int quic_cwnd_may_increase(const struct quic_cc_path *path)
|
||||||
{
|
{
|
||||||
|
@ -1225,8 +1225,7 @@ struct quic_conn *qc_new_conn(const struct quic_version *qv, int ipv4,
|
|||||||
/* Only one path at this time (multipath not supported) */
|
/* Only one path at this time (multipath not supported) */
|
||||||
qc->path = &qc->paths[0];
|
qc->path = &qc->paths[0];
|
||||||
quic_cc_path_init(qc->path, ipv4, server ? l->bind_conf->max_cwnd : 0,
|
quic_cc_path_init(qc->path, ipv4, server ? l->bind_conf->max_cwnd : 0,
|
||||||
cc_algo ? cc_algo : default_quic_cc_algo,
|
cc_algo ? cc_algo : default_quic_cc_algo, qc);
|
||||||
l->bind_conf->quic_pacing_burst, qc);
|
|
||||||
|
|
||||||
memcpy(&qc->local_addr, local_addr, sizeof(qc->local_addr));
|
memcpy(&qc->local_addr, local_addr, sizeof(qc->local_addr));
|
||||||
memcpy(&qc->peer_addr, peer_addr, sizeof qc->peer_addr);
|
memcpy(&qc->peer_addr, peer_addr, sizeof qc->peer_addr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user