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/setup.md b/usingcurl/connections/setup.md new file mode 100644 index 000000000..20c7d83e1 --- /dev/null +++ b/usingcurl/connections/setup.md @@ -0,0 +1,48 @@ +# 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