Skip to content

Commit fe30a4e

Browse files
committed
Update docs
1 parent 5d8fce6 commit fe30a4e

File tree

4 files changed

+63
-5
lines changed

4 files changed

+63
-5
lines changed

doc/clihelp.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,8 +494,38 @@ Options:
494494
--socket-keepalive-idletime-s <SOCKET_KEEPALIVE_IDLETIME_S>
495495
Set TCP_KEEPALIVE for the socket
496496
497+
--socket-broadcast
498+
Set SO_BROADCAST for the UDP socket
499+
500+
--socket-multicast <SOCKET_MULTICAST>
501+
Use IP_ADD_MEMBERSHIP or IPV6_ADD_MEMBERSHIP for the UDP socket
502+
503+
--socket-multicast-interface-addr <SOCKET_MULTICAST_INTERFACE_ADDR>
504+
Use this interface address instead of 0.0.0.0 when joining multicast
505+
506+
--socket-multicast-interface-index <SOCKET_MULTICAST_INTERFACE_INDEX>
507+
Use this interface index instead of 0 when joining multicast
508+
509+
--socket-multicast-specific-source <SOCKET_MULTICAST_SPECIFIC_SOURCE>
510+
Use IP_ADD_SOURCE_MEMBERSHIP instead of IP_ADD_MEMBERSHIP
511+
512+
--socket-multicast-all <SOCKET_MULTICAST_ALL>
513+
Set IP_MULTICAST_ALL or IPV6_MULTICAST_ALL for the UDP socket
514+
515+
[possible values: true, false]
516+
517+
--socket-multicast-loop <SOCKET_MULTICAST_LOOP>
518+
Set IP_MULTICAST_LOOP or IPV6_MULTICAST_LOOP for the UDP socket
519+
520+
[possible values: true, false]
521+
522+
--socket-multicast-ttl <SOCKET_MULTICAST_TTL>
523+
Set IP_MULTICAST_TTL or IPV6_MULTICAST_HOPS for the UDP socket
524+
497525
--exclude-ws-from-sockopts
498526
Do not apply `socket_*`, `reuseaddr`, `reuseport` and `bind_before_connect` to specifier stacks that include WebSocket framer
527+
528+
You can attain the reverse effect by playing with --compose mode, registry-send: and registry-stream-listen: , as socket options (like most other options) only affect single sub-session of the compose mode.
499529
500530
--tcp-race-interval-ms <TCP_RACE_INTERVAL_MS>
501531
Delay between initiating subsequent connections when connecting to a TCP using multiple address variants

doc/functions.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1633,6 +1633,22 @@ Options:
16331633
* transparent (`bool`) - Set IP_TRANSPARENT for the socket
16341634
* freebind (`bool`) - Set IP_FREEBIND for the socket
16351635
* only_v6 (`Option<bool>`) - Set IPV6_V6ONLY for the socket in case when it is IPv6
1636+
* tclass_v6 (`Option<u32>`) - Set IPV6_TCLASS for the IPv6 socket
1637+
* tos_v4 (`Option<u32>`) - Set IP_TOS for the IPv4 socket
1638+
* ttl (`Option<u32>`) - Set IP_TTL the IPv4 socket or IPV6_UNICAST_HOPS for an IPv6
1639+
* cpu_affinity (`Option<usize>`) - Set SO_INCOMING_CPU for the socket
1640+
* priority (`Option<u32>`) - Set SO_PRIORITY for the socket
1641+
* recv_buffer_size (`Option<usize>`) - Set SO_RCVBUF for the socket
1642+
* send_buffer_size (`Option<usize>`) - Set SO_SNDBUF for the socket
1643+
* mark (`Option<u32>`) - Set SO_MARK for the socket
1644+
* broadcast (`bool`) - Set SO_BROADCAST to true for the socket
1645+
* multicast (`Option<IpAddr>`) - Use IP_ADD_MEMBERSHIP or IPV6_ADD_MEMBERSHIP for the socket
1646+
* multicast_interface_addr (`Option<Ipv4Addr>`) - Use this interface address instead of 0.0.0.0 when joining multicast
1647+
* multicast_interface_index (`Option<u32>`) - Use this interface index instead of 0 when joining multicast.
1648+
* multicast_specific_source (`Option<Ipv4Addr>`) - Use IP_ADD_SOURCE_MEMBERSHIP instead of IP_ADD_MEMBERSHIP.
1649+
* multicast_all (`Option<bool>`) - Set IP_MULTICAST_ALL or IPV6_MULTICAST_ALL for the socket
1650+
* multicast_loop (`Option<bool>`) - Set IP_MULTICAST_LOOP or IPV6_MULTICAST_LOOP for the socket
1651+
* multicast_ttl (`Option<u32>`) - Set IP_MULTICAST_TTL or IPV6_MULTICAST_HOPS for the socket
16361652

16371653
## udp_socket
16381654

@@ -1667,6 +1683,22 @@ Options:
16671683
* transparent (`bool`) - Set IP_TRANSPARENT for the socket
16681684
* freebind (`bool`) - Set IP_FREEBIND for the socket
16691685
* only_v6 (`Option<bool>`) - Set IPV6_V6ONLY for the socket in case when it is IPv6
1686+
* tclass_v6 (`Option<u32>`) - Set IPV6_TCLASS for the IPv6 socket
1687+
* tos_v4 (`Option<u32>`) - Set IP_TOS for the IPv4 socket
1688+
* ttl (`Option<u32>`) - Set IP_TTL the IPv4 socket or IPV6_UNICAST_HOPS for an IPv6
1689+
* cpu_affinity (`Option<usize>`) - Set SO_INCOMING_CPU for the socket
1690+
* priority (`Option<u32>`) - Set SO_PRIORITY for the socket
1691+
* recv_buffer_size (`Option<usize>`) - Set SO_RCVBUF for the socket
1692+
* send_buffer_size (`Option<usize>`) - Set SO_SNDBUF for the socket
1693+
* mark (`Option<u32>`) - Set SO_MARK for the socket
1694+
* broadcast (`bool`) - Set SO_BROADCAST to true for the socket
1695+
* multicast (`Option<IpAddr>`) - Use IP_ADD_MEMBERSHIP or IPV6_ADD_MEMBERSHIP for the socket
1696+
* multicast_interface_addr (`Option<Ipv4Addr>`) - Use this interface address instead of 0.0.0.0 when joining multicast
1697+
* multicast_interface_index (`Option<u32>`) - Use this interface index instead of 0 when joining multicast.
1698+
* multicast_specific_source (`Option<Ipv4Addr>`) - Use IP_ADD_SOURCE_MEMBERSHIP instead of IP_ADD_MEMBERSHIP.
1699+
* multicast_all (`Option<bool>`) - Set IP_MULTICAST_ALL or IPV6_MULTICAST_ALL for the socket
1700+
* multicast_loop (`Option<bool>`) - Set IP_MULTICAST_LOOP or IPV6_MULTICAST_LOOP for the socket
1701+
* multicast_ttl (`Option<u32>`) - Set IP_MULTICAST_TTL or IPV6_MULTICAST_HOPS for the socket
16701702

16711703
## unlink_file
16721704

doc/todo.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,17 @@ Then it will mostly depend on my own needs, inspiration and ongoing Github and o
1010
* TLS client auth
1111
* outgoing pings
1212
* preamble/preamble-reverse
13-
* Advanced UDP options
14-
* Advanced TCP options
1513
* More datagram tools (autoreconnect, foreachmsg, literalreply)
1614
* base64 mode, text and binary prefixes
1715
* one message mode
1816
* broadcast reuser
19-
* mirror
2017
* inhibit `Host:` header when explicit one specified / http proxy option
2118

2219
# Later
2320

2421
* Lints for unused options
2522
* one message mode
2623
* More datagram tools (combine/fanout, limit)
27-
* Multi-socket listener
2824
* (non-Websocket) HTTP games
2925
* HTTP/2 games
3026
* Proxies

src/scenario_executor/udp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ fn udp_socket(ctx: NativeCallContext, opts: Dynamic) -> RhResult<Handle<Datagram
325325
//@ Set SO_RCVBUF for the socket
326326
recv_buffer_size: Option<usize>,
327327

328-
//@ Set SO_SNDBUF for acceptheted socket
328+
//@ Set SO_SNDBUF for the socket
329329
send_buffer_size: Option<usize>,
330330

331331
//@ Set SO_MARK for the socket

0 commit comments

Comments
 (0)