added environment example to doc/socat-multicast.html

This commit is contained in:
Gerhard Rieger 2009-05-06 19:59:57 +02:00
parent c5201ee1f5
commit 7d0ec2734a

View file

@ -228,10 +228,10 @@ Set a multicast/broadcast route with the following command (Linux):</p>
route add -net 224.0.0.0/3 gw 192.168.10.2 route add -net 224.0.0.0/3 gw 192.168.10.2
</span></span> </span></span>
<a name="ALLSYSTEMS"> <a name="ALLSYSTEMS"></a>
<h3>ALL-SYSTEMS multicast address</h3> <h3>ALL-SYSTEMS multicast address</h3>
<p> <p>
<tt>224.0.0.1</tt></a> is the all-systems multicast address: all <tt>224.0.0.1</tt> is the all-systems multicast address: all
datagram sockets appear to be automatically member of this group on all datagram sockets appear to be automatically member of this group on all
interfaces. This membership cannot be dropped on Linux (you need iptables to interfaces. This membership cannot be dropped on Linux (you need iptables to
filter packets). filter packets).
@ -304,7 +304,51 @@ Please note that the new features could not be successfully tested on IPv6;
these sections thus apply to IPv4 only. these sections thus apply to IPv4 only.
</p> </p>
<p>This document was last modified in April 2009.</p> <h3>New Features in socat 1.7.0</h3>
<p>
socat version 1.7.0 helps to find more information about incoming packets in
environment variables that can be used in scripts or programs invoked by
socat. The option <tt>ip-pktinfo</tt> (on non-BSD systems)
or <tt>ip-recvdstaddr</tt> (on BSD systems) is required to get basic
information about incoming packets.
</p>
<p>
Example: Start a receiver of the following form (tried on Linux):
</p>
<span class="frame"><span class="shell">
socat -u udp-recvfrom:8888,reuseaddr,ip-add-membership=224.1.0.1:192.168.10.2,ip-pktinfo,fork system:export
</span></span>
<p>
Then send a multicast packet from the client:
</p>
<span class="frame"><span class="shell">
echo |socat -u - udp-datagram:224.1.0.1:8888
</span></span>
<p>
On the server the following text should appear (only interesting lines shown):
</p>
<pre>
export SOCAT_IP_DSTADDR="224.1.0.1"
export SOCAT_IP_IF="eth0"
export SOCAT_IP_LOCADDR="192.168.10.2"
export SOCAT_PEERADDR="192.168.10.1"
export SOCAT_PEERPORT="41159"
</pre>
<p>
<tt>SOCAT_IP_IF</tt> shows the interface where the packet entered the server;
<tt>SOCAT_IP_LOCADDR</tt> shows the IP address of this interface;
<tt>SOCAT_IP_DSTADDR</tt> shows the target address of the packet;
<tt>SOCAT_PEERADDR</tt> and <tt>SOCAT_PEERPORT</tt> are the client socket
values.
</p>
<h2>More info about socat datagrams</h2> <h2>More info about socat datagrams</h2>
@ -339,6 +383,7 @@ with one peer address<br>
<a href="http://en.wikipedia.org/wiki/Broadcast_address">broadcasting on Wikipedia</a><br> <a href="http://en.wikipedia.org/wiki/Broadcast_address">broadcasting on Wikipedia</a><br>
<p> <p>
<small>This document was last modified in May 2009.</small><br>
<small>Copyright: Gerhard Rieger 2007-2009</small><br> <small>Copyright: Gerhard Rieger 2007-2009</small><br>
<small>License: <a href="http://www.fsf.org/licensing/licenses/fdl.html">GNU Free Documentation License (FDL)</a></small> <small>License: <a href="http://www.fsf.org/licensing/licenses/fdl.html">GNU Free Documentation License (FDL)</a></small>
</p> </p>