mirror of
https://repo.or.cz/socat.git
synced 2024-12-22 23:42:34 +00:00
Preferred backend for TUN is UDP, not TCP
This commit is contained in:
parent
cc3cd744d9
commit
dabcc7f3d5
2 changed files with 13 additions and 6 deletions
4
CHANGES
4
CHANGES
|
@ -186,6 +186,10 @@ Documentation:
|
|||
Address UDP-RECV does not support option fork.
|
||||
Thanks to Fulvio Scapin for reporting that mistake in docu.
|
||||
|
||||
TUN address documentation showed TCP for backend which may merge
|
||||
consecutive packets which causes data loss.
|
||||
Thanks to Tomasz Lakota for reporting this issue.
|
||||
|
||||
####################### V 1.7.3.4:
|
||||
|
||||
Corrections:
|
||||
|
|
13
doc/socat.yo
13
doc/socat.yo
|
@ -1048,6 +1048,9 @@ label(ADDRESS_TUN)dit(bf(tt(TUN[:<if-addr>/<bits>])))
|
|||
requires read and write access to the tunnel cloning device, usually
|
||||
code(/dev/net/tun), as well as permission to set some tt(ioctl()s).
|
||||
bf(Option iff-up is required to immediately activate the interface!)nl()
|
||||
Note: If you intend to transfer packets between two Socat "wire sides" you
|
||||
need a protocol that keeps packet boundaries, e.g.UDP; TCP might work with
|
||||
option link(nodelay)(OPTION_TCP_NODELAY).nl()
|
||||
Option groups: link(FD)(GROUP_FD),link(NAMED)(GROUP_NAMED),link(OPEN)(GROUP_OPEN),link(TUN)(GROUP_TUN) nl()
|
||||
Useful options:
|
||||
link(iff-up)(OPTION_IFF_UP),
|
||||
|
@ -2223,7 +2226,7 @@ label(GROUP_TCP)em(bf(TCP option group))
|
|||
|
||||
These options may be applied to TCP sockets. They work by invoking code(setsockopt()) with the appropriate parameters.
|
||||
startdit()
|
||||
label(OPTION_CORK)dit(bf(tt(cork)))
|
||||
label(OPTION_TCP_CORK)dit(bf(tt(cork)))
|
||||
Doesn't send packets smaller than MSS (maximal segment size).
|
||||
label(OPTION_DEFER-ACCEPT)dit(bf(tt(defer-accept)))
|
||||
While listening, accepts connections only when data from the peer arrived.
|
||||
|
@ -2247,7 +2250,7 @@ label(OPTION_MSS)dit(bf(tt(mss=<bytes>)))
|
|||
label(OPTION_MSS_LATE)dit(bf(tt(mss-late=<bytes>)))
|
||||
Sets the MSS of the socket after connection has been established to <bytes>
|
||||
[link(int)(TYPE_INT)].
|
||||
label(OPTION_NODELAY)dit(bf(tt(nodelay)))
|
||||
label(OPTION_TCP_NODELAY)dit(bf(tt(nodelay)))
|
||||
Turns off the Nagle algorithm for measuring the RTT (round trip time).
|
||||
label(OPTION_RFC1323)dit(bf(tt(rfc1323)))
|
||||
Enables RFC1323 TCP options: TCP window scale, round-trip time measurement
|
||||
|
@ -3475,13 +3478,13 @@ operating system, bridges, or a badly configured switch.
|
|||
|
||||
|
||||
label(EXAMPLE_ADDRESS_TUN)
|
||||
dit(bf(tt(socat TCP:host2:4443 TUN:192.168.255.1/24,up)))
|
||||
dit(bf(tt(socat UDP:host2:4443 TUN:192.168.255.1/24,up)))
|
||||
|
||||
establishes one side of a virtual (but not private!) network with host2 where a
|
||||
similar process might run, with UDP-L and tun address 192.168.255.2. They can
|
||||
reach each other using the addresses 192.168.255.1 and 192.168.255.2. Note that
|
||||
streaming eg. via TCP or SSL does not guarantee to retain packet boundaries and
|
||||
may thus cause packet loss.
|
||||
streaming eg.via TCP or SSL does not guarantee to retain packet boundaries and
|
||||
might thus cause packet loss.
|
||||
|
||||
|
||||
label(EXAMPLE_ADDRESS_VSOCK)
|
||||
|
|
Loading…
Reference in a new issue