From b9ce18de98f6a0517534b753ef994a62df24c4c0 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 30 Dec 2024 16:44:52 +0100 Subject: [PATCH] setup.md: add --ip-toc and --mptcp Fixes #464 Fixes #465 Closes #531 --- SUMMARY.md | 2 +- index-words | 5 ++++ usingcurl/connections/README.md | 2 +- usingcurl/connections/setup.md | 49 +++++++++++++++++++++++++++++++++ usingcurl/connections/vlan.md | 11 -------- wordlist.txt | 4 ++- 6 files changed, 59 insertions(+), 14 deletions(-) create mode 100644 usingcurl/connections/setup.md delete mode 100644 usingcurl/connections/vlan.md diff --git a/SUMMARY.md b/SUMMARY.md index 0aa0370c1..48381af8e 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -106,7 +106,7 @@ * [Compression](usingcurl/transfers/compression.md) * [Skip download if already done](usingcurl/transfers/skip.md) * [Connections](usingcurl/connections/README.md) - * [VLAN](usingcurl/connections/vlan.md) + * [Setup](usingcurl/connections/setup.md) * [Name resolve tricks](usingcurl/connections/name.md) * [Connection timeout](usingcurl/connections/timeout.md) * [Happy Eyeballs](usingcurl/connections/happy.md) diff --git a/index-words b/index-words index 97cc2d285..5d0f1acc2 100644 --- a/index-words +++ b/index-words @@ -33,6 +33,7 @@ --http2-prior-knowledge --http3 --http3-only +--ip-tos --ipfs-gateway --json --keepalive-cnt @@ -44,6 +45,7 @@ --max-filesize --max-time --metalink +--mptcp --negotiate --netrc-file --netrc-optional @@ -342,6 +344,7 @@ MITM-proxies MQTT mTLS multi-threading +Multipath TCP name resolving nghttp2 nix @@ -417,8 +420,10 @@ TFTP TLS TLS backend TODO +Traffic Class transfer-encoding trurl +Type of Service Ubuntu URL Globbing URL parser diff --git a/usingcurl/connections/README.md b/usingcurl/connections/README.md index 8b32b989a..dde3d158c 100644 --- a/usingcurl/connections/README.md +++ b/usingcurl/connections/README.md @@ -9,7 +9,7 @@ For ordinary command line usage, operating on a URL, these are details which are taken care of under the hood, and which you can mostly ignore. But at times you might find yourself wanting to tweak the specifics… -* [VLAN](vlan.md) +* [Setup](setup.md) * [Name resolve tricks](name.md) * [Connection timeout](timeout.md) * [Happy Eyeballs](happy.md) diff --git a/usingcurl/connections/setup.md b/usingcurl/connections/setup.md new file mode 100644 index 000000000..f9a3c8d49 --- /dev/null +++ b/usingcurl/connections/setup.md @@ -0,0 +1,49 @@ +# Setup + +There are several options that let the user control different aspects of how +connections are setup. + +## VLAN + +With the `--vlan-priority` command line option you set a priority value +between 0 and 7 that is set in the Ethernet header. It is thus limited to your +local network only and will not be used across any routers. + +VLAN priority as defined in IEEE 802.1Q. + +Example: + + curl --vlan-priority 4 https://example.com + +## Type of Service + +The IPv4 protocol header has a "Type of Service (TOS)" field. It is called +"Traffic Class" in IPv6. A user can set the value using the `--ip-tos` option +to either a numerical value between zero and 255, or by using one of the +recognized names: + + CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13, + AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43, EF, + VOICE-ADMIT, ECT1, ECT0, CE, LE, LOWCOST, LOWDELAY, + THROUGHPUT, RELIABILITY, MINCOST + +Example: + + curl --ip-tos CS5 https://example.com + +## Multipath TCP + +Multipath TCP is a way for a TCP connection to use multiple concurrent network +paths to maximize throughput and increase redundancy, compared to the normal +single path that ordinary TCP uses. + +You can ask curl to use Multipath TCP with the `--mptcp` option. It only works +on Linux and it requires Linux 5.6 or later. It has no effect on QUIC or UDP +connections. + +The server curl connects to must also support MPTCP. If not, the connection +seamlessly falls back to "normal" TCP. + +Example: + + curl --mptcp https://example.com diff --git a/usingcurl/connections/vlan.md b/usingcurl/connections/vlan.md deleted file mode 100644 index 7c7f10b13..000000000 --- a/usingcurl/connections/vlan.md +++ /dev/null @@ -1,11 +0,0 @@ -# VLAN - -With the `--vlan-priority` command line option you set a priority value -between 0 and 7 that is set in the Ethernet header. It is thus limited to your -local network only and will not be used across any routers. - -VLAN priority as defined in IEEE 802.1Q. - -Example: - - curl --vlan-priority 4 https://example.com diff --git a/wordlist.txt b/wordlist.txt index 9216d9105..4e5f0030b 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -325,6 +325,7 @@ MITM mk Monnerat MPL +MPTCP MQTT mqtt mqtts @@ -338,6 +339,7 @@ MSYS msys mTLS multicwd +Multipath MultiSSL mumbo mutex @@ -537,6 +539,7 @@ TODO Tomtom toolchains Torre +TOS TrackMemory trurl Tse @@ -600,4 +603,3 @@ Zakrzewski Zitzmann zlib zsh -