Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[+] explicit path id first shot (ready to merge) #374

Closed
wants to merge 82 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
1cfa662
[+] add new transport parameter max_concurrent_paths
Yanmei-Liu Nov 15, 2023
b72623c
[+] add option for demo client
Yanmei-Liu Nov 15, 2023
eb183a5
[+] get min(local, remote) for max_concurrent_paths
Yanmei-Liu Nov 15, 2023
3311fc6
[+] add MP_CONNECTION_ID and MP_RETIRE_CONNECTION_ID frames
Yanmei-Liu Nov 16, 2023
dace8b1
[+] add basic logic for CID allocation
Yanmei-Liu Nov 16, 2023
94b5952
[+] add frame parser
Yanmei-Liu Nov 16, 2023
2d0bfe1
[+] add log for new frames
Yanmei-Liu Nov 16, 2023
ade9b2a
[~] initialize cid set under path
Yanmei-Liu Nov 16, 2023
52829d0
[~] adjust cid allocation
Yanmei-Liu Nov 16, 2023
3d6ec43
[~] adjust cid allocation
Yanmei-Liu Nov 16, 2023
1cd02b1
[+] add debug log and default value for transport param
Yanmei-Liu Nov 16, 2023
ab4a7c0
[+] set default value
Yanmei-Liu Nov 16, 2023
18bbc37
[+] add default value
Yanmei-Liu Nov 16, 2023
f2df0b5
[~] adjust cid set used when new path is created
Yanmei-Liu Nov 16, 2023
9e4bab2
[+] init cid set earlier
Yanmei-Liu Nov 16, 2023
d97ffd5
[+] adjust transport parameter and the frame format
Yanmei-Liu Nov 17, 2023
fe9ff6b
[~] frame type update
Yanmei-Liu Nov 17, 2023
547ce78
[=] replace definition names
Yanmei-Liu Nov 17, 2023
c665672
[~] fix new cid ack flag set
Yanmei-Liu Nov 17, 2023
d6a5095
[+] update encryption and decryption
Yanmei-Liu Nov 17, 2023
2b45794
[+] add debug log
Yanmei-Liu Nov 17, 2023
e92b26c
[+] update path id for decryption
Yanmei-Liu Nov 17, 2023
8790b3a
[=] add logs for encryption and decryption
Yanmei-Liu Nov 17, 2023
a309119
[~] change the path available / standby frames using path id
Yanmei-Liu Nov 17, 2023
7fc329e
[+] change the way addressing a path
Yanmei-Liu Nov 17, 2023
7618992
[+] add logs for path available and standby
Yanmei-Liu Nov 17, 2023
07b1daf
[~] use the path id from DCID to address the path when receiving path…
Yanmei-Liu Nov 17, 2023
9daa892
[+] address with path id in path abandon frame
Yanmei-Liu Nov 17, 2023
bc343dd
[~] also use path id to address a path when generating path abandon f…
Yanmei-Liu Nov 17, 2023
ab9ccd8
[+] add logs for abandon frame
Yanmei-Liu Nov 17, 2023
cd363f1
[~] adjust transport parameter
Yanmei-Liu Nov 17, 2023
6d42d48
[+] add test cases for path abandon
Yanmei-Liu Nov 17, 2023
1860067
[+] add retire cid after path abandon and 3 ptos
Yanmei-Liu Nov 17, 2023
3fcafaa
[~] bugfix for transport parameter
Yanmei-Liu Nov 17, 2023
e324a22
[+] add retire conn id process
Yanmei-Liu Nov 17, 2023
1031717
[+] add logs for debug
Yanmei-Liu Nov 17, 2023
dc07ac5
[~] bug fix for mp retire conn id
Yanmei-Liu Nov 17, 2023
d64bd3b
[+] add protection
Yanmei-Liu Nov 17, 2023
26fb2e7
[+] merge 2 transport parameters
Yanmei-Liu Feb 24, 2024
93aa8bb
[~] delete unused code
Yanmei-Liu Feb 24, 2024
7f3d93d
[~] modify default value
Yanmei-Liu Feb 24, 2024
e9e0d17
[+] add support version
Yanmei-Liu Feb 24, 2024
ee60a10
[+] adjust tp
Yanmei-Liu Feb 24, 2024
962234a
[+] adjust parameter
Yanmei-Liu Feb 24, 2024
6b1592b
[+] Update frame fields
Yanmei-Liu Feb 28, 2024
99cdb53
[+] update cid set
Yanmei-Liu Feb 28, 2024
b474c5f
[+] Update cid seq
Yanmei-Liu Feb 28, 2024
7163bbc
[=] delete unused log
Yanmei-Liu Feb 28, 2024
bb46c4b
[+] update ack_mp process
Yanmei-Liu Feb 29, 2024
e777ab5
[+] Update MAX_PATHS and ack-eciliting
Yanmei-Liu Mar 1, 2024
2c0fde7
[+] Update cal
Yanmei-Liu Mar 1, 2024
d793940
[+] Fix packet sending err
Yanmei-Liu Mar 1, 2024
8ae982f
[+] fix max_path = 0
Yanmei-Liu Mar 1, 2024
2899f58
[+] add log for new cid generate
Yanmei-Liu Mar 16, 2024
9c648e1
[+] modify check active cid number under per path
Yanmei-Liu Mar 16, 2024
f07769f
[+] add one more unused active cid for each path
Yanmei-Liu Mar 16, 2024
f898519
[+] supports -07 for path standby / available
Yanmei-Liu Mar 16, 2024
3bc9c14
[+] add more logs
Yanmei-Liu Mar 16, 2024
615a082
[+] fix path id
Yanmei-Liu Mar 16, 2024
01d879f
[+] update API
Yanmei-Liu Mar 16, 2024
842f91a
[+] update remote limit for max paths
Yanmei-Liu Mar 16, 2024
00337ec
[+] Make sure path can still be find after the first cid was retired
Yanmei-Liu Mar 17, 2024
137ef37
[+] fix check with origin dcid
Yanmei-Liu Mar 17, 2024
3f753cc
[+] add more logs for max_paths
Yanmei-Liu Mar 17, 2024
84c9a1d
[+] fix upper bond of path id
Yanmei-Liu Mar 17, 2024
dd0a744
[+] compatible for RETIRE_CID
Yanmei-Liu Mar 17, 2024
6967204
[+] support multipath draft-10
Yanmei-Liu Jul 12, 2024
4ee60ad
[+] add support for version 10
Yanmei-Liu Jul 12, 2024
2ab89f6
[+] supporting draft - 10
Yanmei-Liu Jul 12, 2024
e7deb05
[=] Update log
Yanmei-Liu Jul 12, 2024
33cc5a3
[+] Update unused cid check for connection
Yanmei-Liu Jul 15, 2024
8ec39b0
[~] 修复检查条件
Yanmei-Liu Jul 15, 2024
6f90722
[+] add path available send
Yanmei-Liu Jul 20, 2024
8009378
[+] add option for idle timeout
Yanmei-Liu Jul 21, 2024
194f7bd
[~] 统一用0作为max_concurrent_paths未设置判断
Yanmei-Liu Sep 18, 2024
d8aa0cb
[+] 更新合并draft-10最新改动 / 同步FEC分支 / 同步内部修复
Yanmei-Liu Sep 20, 2024
fa0f496
Merge branch 'main' into dev/path_idx
Yanmei-Liu Sep 20, 2024
84d5737
[+] 补齐缺少的文件
Yanmei-Liu Sep 23, 2024
3c67657
[~] 同步单元测试内容
Yanmei-Liu Sep 23, 2024
3f96b4b
[~] 同步demo_client修改
Yanmei-Liu Sep 23, 2024
8198f8e
[~] 去除不用的option
Yanmei-Liu Sep 23, 2024
c89a0de
[=] 去除暂时不用的API
Yanmei-Liu Sep 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ option (XQC_COMPAT_DUPLICATE "qpack compat dup" OFF)
option (XQC_ENABLE_FEC "enable fec" OFF)
option (XQC_ENABLE_XOR "enable fec scheme xor" OFF)
option (XQC_ENABLE_RSC "enable fec scheme reed-solomon code" OFF)
option (XQC_ENABLE_PKM "enable fec scheme packet mask" OFF)

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
Expand Down Expand Up @@ -227,6 +228,7 @@ set(
"src/transport/scheduler/xqc_scheduler_minrtt.c"
"src/transport/scheduler/xqc_scheduler_common.c"
"src/transport/scheduler/xqc_scheduler_backup.c"
"src/transport/scheduler/xqc_scheduler_backup_fec.c"
"src/transport/scheduler/xqc_scheduler_rap.c"
)

Expand All @@ -238,6 +240,7 @@ if(XQC_ENABLE_MP_INTEROP)
)
endif()


# fec framework
set(
FEC_FRAMEWORK_SOURCE
Expand All @@ -262,6 +265,14 @@ if(XQC_ENABLE_RSC)
)
endif()

if(XQC_ENABLE_PKM)
set(
FEC_FRAMEWORK_SOURCE
${FEC_FRAMEWORK_SOURCE}
"src/transport/fec_schemes/xqc_packet_mask.c"
)
endif()

if(XQC_ENABLE_FEC)
set(
TRANSPORT_SOURCES
Expand Down
10 changes: 10 additions & 0 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ set(
"src/transport/scheduler/xqc_scheduler_minrtt.c"
"src/transport/scheduler/xqc_scheduler_common.c"
"src/transport/scheduler/xqc_scheduler_backup.c"
"src/transport/scheduler/xqc_scheduler_backup_fec.c"
"src/transport/scheduler/xqc_scheduler_rap.c"
)

Expand Down Expand Up @@ -233,6 +234,14 @@ if(XQC_ENABLE_RSC)
)
endif()

if(XQC_ENABLE_PKM)
set(
FEC_FRAMEWORK_SOURCE
${FEC_FRAMEWORK_SOURCE}
"src/transport/fec_schemes/xqc_packet_mask.c"
)
endif()

if(XQC_ENABLE_FEC)
set(
TRANSPORT_SOURCES
Expand Down Expand Up @@ -343,6 +352,7 @@ add_library(
${TLS_SOURCE}
${COMMON_SOURCES}
${CONGESTION_CONTROL_SOURCES}
${XQC_SOURCE}
)

add_dependencies(xquic xquic_global)
Expand Down
Loading
Loading