mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Release 2.19.2
- [BUGFIX] Do not reduce PLPMTU size by network overhead. - [BUGFIX] Windows build.
This commit is contained in:
parent
41a496506f
commit
244e8c6fb9
11 changed files with 40 additions and 19 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2020-07-30
|
||||||
|
- 2.19.2
|
||||||
|
- [BUGFIX] Do not reduce PLPMTU size by network overhead.
|
||||||
|
- [BUGFIX] Windows build.
|
||||||
|
|
||||||
2020-07-29
|
2020-07-29
|
||||||
- 2.19.1
|
- 2.19.1
|
||||||
- [FEATURE] DPLPMTUD support. IETF connections now search for the
|
- [FEATURE] DPLPMTUD support. IETF connections now search for the
|
||||||
|
|
|
@ -762,6 +762,22 @@ settings structure:
|
||||||
|
|
||||||
Default value is :macro:`LSQUIC_DF_MAX_PLPMTU`
|
Default value is :macro:`LSQUIC_DF_MAX_PLPMTU`
|
||||||
|
|
||||||
|
.. member:: unsigned es_mtu_probe_timer
|
||||||
|
|
||||||
|
This value specifies how long the DPLPMTUD probe timer is, in
|
||||||
|
milliseconds. `[draft-ietf-tsvwg-datagram-plpmtud-22] <https://tools.ietf.org/html/draft-ietf-tsvwg-datagram-plpmtud-22>`_ says:
|
||||||
|
|
||||||
|
PROBE_TIMER: The PROBE_TIMER is configured to expire after a period
|
||||||
|
longer than the maximum time to receive an acknowledgment to a
|
||||||
|
probe packet. This value MUST NOT be smaller than 1 second, and
|
||||||
|
SHOULD be larger than 15 seconds. Guidance on selection of the
|
||||||
|
timer value are provided in section 3.1.1 of the UDP Usage
|
||||||
|
Guidelines :rfc:`8085#section-3.1`.
|
||||||
|
|
||||||
|
If set to zero, the default is used.
|
||||||
|
|
||||||
|
Default value is :macro:`LSQUIC_DF_MTU_PROBE_TIMER`
|
||||||
|
|
||||||
.. member:: unsigned es_noprogress_timeout
|
.. member:: unsigned es_noprogress_timeout
|
||||||
|
|
||||||
No progress timeout.
|
No progress timeout.
|
||||||
|
@ -973,6 +989,10 @@ out of date. Please check your :file:`lsquic.h` for actual values.*
|
||||||
|
|
||||||
By default, this value is left up to the engine.
|
By default, this value is left up to the engine.
|
||||||
|
|
||||||
|
.. macro:: LSQUIC_DF_MTU_PROBE_TIMER
|
||||||
|
|
||||||
|
By default, we use the minimum timer of 1000 milliseconds.
|
||||||
|
|
||||||
.. macro:: LSQUIC_DF_NOPROGRESS_TIMEOUT_SERVER
|
.. macro:: LSQUIC_DF_NOPROGRESS_TIMEOUT_SERVER
|
||||||
|
|
||||||
By default, drop no-progress connections after 60 seconds on the server.
|
By default, drop no-progress connections after 60 seconds on the server.
|
||||||
|
|
|
@ -26,7 +26,7 @@ author = u'LiteSpeed Technologies'
|
||||||
# The short X.Y version
|
# The short X.Y version
|
||||||
version = u'2.19'
|
version = u'2.19'
|
||||||
# The full version, including alpha/beta/rc tags
|
# The full version, including alpha/beta/rc tags
|
||||||
release = u'2.19.1'
|
release = u'2.19.2'
|
||||||
|
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
|
@ -25,7 +25,7 @@ extern "C" {
|
||||||
|
|
||||||
#define LSQUIC_MAJOR_VERSION 2
|
#define LSQUIC_MAJOR_VERSION 2
|
||||||
#define LSQUIC_MINOR_VERSION 19
|
#define LSQUIC_MINOR_VERSION 19
|
||||||
#define LSQUIC_PATCH_VERSION 1
|
#define LSQUIC_PATCH_VERSION 2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Engine flags:
|
* Engine flags:
|
||||||
|
|
|
@ -738,9 +738,7 @@ lsquic_gquic_full_conn_client_new (struct lsquic_engine_public *enpub,
|
||||||
if (!max_packet_size)
|
if (!max_packet_size)
|
||||||
{
|
{
|
||||||
if (enpub->enp_settings.es_base_plpmtu)
|
if (enpub->enp_settings.es_base_plpmtu)
|
||||||
max_packet_size = enpub->enp_settings.es_base_plpmtu
|
max_packet_size = enpub->enp_settings.es_base_plpmtu;
|
||||||
- (is_ipv4 ? 20 : 40) /* IP header */
|
|
||||||
- 8; /* UDP header */
|
|
||||||
else if (is_ipv4)
|
else if (is_ipv4)
|
||||||
max_packet_size = GQUIC_MAX_IPv4_PACKET_SZ;
|
max_packet_size = GQUIC_MAX_IPv4_PACKET_SZ;
|
||||||
else
|
else
|
||||||
|
|
|
@ -705,7 +705,7 @@ calc_base_packet_size (const struct ietf_full_conn *conn, int is_ipv6)
|
||||||
unsigned short size;
|
unsigned short size;
|
||||||
|
|
||||||
if (conn->ifc_settings->es_base_plpmtu)
|
if (conn->ifc_settings->es_base_plpmtu)
|
||||||
size = conn->ifc_settings->es_base_plpmtu - TRANSPORT_OVERHEAD(is_ipv6);
|
size = conn->ifc_settings->es_base_plpmtu;
|
||||||
else if (is_ipv6)
|
else if (is_ipv6)
|
||||||
size = IQUIC_MAX_IPv6_PACKET_SZ;
|
size = IQUIC_MAX_IPv6_PACKET_SZ;
|
||||||
else
|
else
|
||||||
|
@ -6964,13 +6964,15 @@ check_or_schedule_mtu_probe (struct ietf_full_conn *conn, lsquic_time_t now)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
net_header_sz = TRANSPORT_OVERHEAD(NP_IS_IPv6(&cpath->cop_path));
|
|
||||||
if (ds->ds_failed_size)
|
if (ds->ds_failed_size)
|
||||||
mtu_ceiling = ds->ds_failed_size; /* Don't subtract net_header_sz */
|
mtu_ceiling = ds->ds_failed_size;
|
||||||
else if (conn->ifc_settings->es_max_plpmtu)
|
else if (conn->ifc_settings->es_max_plpmtu)
|
||||||
mtu_ceiling = conn->ifc_settings->es_max_plpmtu - net_header_sz;
|
mtu_ceiling = conn->ifc_settings->es_max_plpmtu;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
net_header_sz = TRANSPORT_OVERHEAD(NP_IS_IPv6(&cpath->cop_path));
|
||||||
mtu_ceiling = 1500 - net_header_sz;
|
mtu_ceiling = 1500 - net_header_sz;
|
||||||
|
}
|
||||||
|
|
||||||
if (conn->ifc_max_udp_payload < mtu_ceiling)
|
if (conn->ifc_max_udp_payload < mtu_ceiling)
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,9 +10,6 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/queue.h>
|
#include <sys/queue.h>
|
||||||
#ifdef MSVC
|
|
||||||
#include <vc_compat.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "lsquic.h"
|
#include "lsquic.h"
|
||||||
#include "lsquic_types.h"
|
#include "lsquic_types.h"
|
||||||
|
|
|
@ -514,9 +514,7 @@ lsquic_mini_conn_ietf_new (struct lsquic_engine_public *enpub,
|
||||||
conn->imc_enpub = enpub;
|
conn->imc_enpub = enpub;
|
||||||
conn->imc_created = packet_in->pi_received;
|
conn->imc_created = packet_in->pi_received;
|
||||||
if (enpub->enp_settings.es_base_plpmtu)
|
if (enpub->enp_settings.es_base_plpmtu)
|
||||||
conn->imc_path.np_pack_size = enpub->enp_settings.es_base_plpmtu
|
conn->imc_path.np_pack_size = enpub->enp_settings.es_base_plpmtu;
|
||||||
- (is_ipv4 ? 20 : 40) /* IP header */
|
|
||||||
- 8; /* UDP header */
|
|
||||||
else if (is_ipv4)
|
else if (is_ipv4)
|
||||||
conn->imc_path.np_pack_size = IQUIC_MAX_IPv4_PACKET_SZ;
|
conn->imc_path.np_pack_size = IQUIC_MAX_IPv4_PACKET_SZ;
|
||||||
else
|
else
|
||||||
|
|
|
@ -8,9 +8,6 @@
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#ifdef MSVC
|
|
||||||
#include <vc_compat.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "lsquic_int_types.h"
|
#include "lsquic_int_types.h"
|
||||||
#include "lsquic_types.h"
|
#include "lsquic_types.h"
|
||||||
|
|
|
@ -3205,7 +3205,7 @@ send_ctl_resize_q (struct lsquic_send_ctl *ctl, struct lsquic_packets_tailq *q,
|
||||||
unsigned count_src = 0, count_dst = 0;
|
unsigned count_src = 0, count_dst = 0;
|
||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
#ifdef MSVC
|
#ifdef _MSC_VER
|
||||||
idx = 0;
|
idx = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,11 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/queue.h>
|
#include <sys/queue.h>
|
||||||
|
#ifndef WIN32
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#else
|
||||||
|
#include "getopt.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LSQUIC_TEST 1
|
#define LSQUIC_TEST 1
|
||||||
#include "lsquic.h"
|
#include "lsquic.h"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue