<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=ICE_Help_NETWORK</id>
	<title>ICE Help NETWORK - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=ICE_Help_NETWORK"/>
	<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=ICE_Help_NETWORK&amp;action=history"/>
	<updated>2026-09-24T10:25:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.ice-online.com/index.php?title=ICE_Help_NETWORK&amp;diff=567&amp;oldid=prev</id>
		<title>ConvertBot: Network interface notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=ICE_Help_NETWORK&amp;diff=567&amp;oldid=prev"/>
		<updated>2020-04-27T18:33:03Z</updated>

		<summary type="html">&lt;p&gt;Network interface notes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #eef9ff; border: 1px solid #999; padding: 10px;&amp;quot;&amp;gt;[[ICE_Help|&amp;amp;uarr; ''Go to the full list of ICE Help pages'']].&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Summary:''' Network interface notes&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newer ICE products often involve data capture/playback over standard host network interfaces.&lt;br /&gt;
&lt;br /&gt;
=== SETUP - system setup parameters&amp;lt;span id=&amp;quot;SETUP&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
To get higher transfer rates on Linux, the system parameters for the max network buffer size must be set.&lt;br /&gt;
The system administrator needs to set these parameters to allow large network buffers for UDP on Linux:&lt;br /&gt;
 &amp;gt; sysctl -a | grep net.core&lt;br /&gt;
 &amp;gt; sysctl -w net.core.rmem_max=16777216&lt;br /&gt;
 &amp;gt; sysctl -w net.core.wmem_max=16777216&lt;br /&gt;
Add these lines to /etc/sysctl.conf to make them permanent.&lt;br /&gt;
If you add or remove network cards, remove the old udev rules to properly renumber the existing interfaces:&lt;br /&gt;
 &amp;gt; rm /etc/udev/rules.d/*-net.rules&lt;br /&gt;
Reboot the system and read the new auto generated file to find the current interfaces.&lt;br /&gt;
Modify /etc/sysconfig/network-scripts/ifcfg-eth{0-N} to specify the interfaces hardware address.&lt;br /&gt;
ICE Network Appliances use the subnet 192.168.N.XXX where N is the ethN of the network data port.&lt;br /&gt;
Make sure to modify the HWADDR, IPADDR, NETWORK, and GATEWAY to reflect the ethN interface number.&lt;br /&gt;
Then run /etc/init.d/network restart to apply the changes.&lt;br /&gt;
&lt;br /&gt;
=== SERVICE - communications with ICE services using SNAPAPP or SNAPPER macros&amp;lt;span id=&amp;quot;SERVICE&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The /SERVER=port switch runs the NeXtMidas SNAPPER macro in server mode.&lt;br /&gt;
The /SERVICE=port switch runs the NeXtMidas SNAPAPP macro and its SNAPPER children in server mode.&lt;br /&gt;
&lt;br /&gt;
It then has a browser interface at http://localhost:&amp;lt;port&amp;gt;.&lt;br /&gt;
This page has links to /System, /Controls, /Registry, /Results, /Files, /System, and /Displays.&lt;br /&gt;
&lt;br /&gt;
The Http /System interface supports any parameter with results access.&lt;br /&gt;
The GC result is a table of all control widgets for the macro.&lt;br /&gt;
&lt;br /&gt;
For example, to start a real time SNAPPER archive:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/System/Set?GC.MODE.ACTION=RTARCHIVE&lt;br /&gt;
&lt;br /&gt;
To get the current state of a transfer:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/System/Get?GC.MODE.ACTION&lt;br /&gt;
&lt;br /&gt;
To get the current state of an ARCHIVE file transfer:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/System/Get?REG.NOOP.PROGRESS&lt;br /&gt;
&lt;br /&gt;
this returns REG.NOOP.PROGRESS=frac or null if completed.&lt;br /&gt;
&lt;br /&gt;
The Http /Controls, /Results and /Registry interfaces support a table syntax for control also used&lt;br /&gt;
by the ICENET interface.  Developers may write their own code to exercise this control mechanism.&lt;br /&gt;
 &lt;br /&gt;
For example:&lt;br /&gt;
To start a SNAPPER macro in archive mode:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Controls/Set?MODE=RTARCHIVE&lt;br /&gt;
&lt;br /&gt;
To change the freq and decimation control widgets of the macro:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Controls/Set?{FREQ=1.2,DEC=256}&lt;br /&gt;
&lt;br /&gt;
To access members of the snapper macro's sourcepic primitive directly:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Registry/SP/Get?{FREQ=,DEC=,GAIN=}&lt;br /&gt;
&lt;br /&gt;
To set and get multiple parameters in an atomic manner:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Controls/Set?{CHAN=11,FREQ=,DEC=}&lt;br /&gt;
&lt;br /&gt;
where the entries without values execute as Gets.&lt;br /&gt;
&lt;br /&gt;
If snapper is invoked with the /NBX=chns switch, the tuner export sourcepics are accessed as:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Registry/SPX&amp;lt;n&amp;gt;/Get?{FREQ=,DEC=,GAIN=,REPLAY=}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;n&amp;gt; is the 1 based channel number.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Registry/SPX5/Set?{FREQ=1.23,DEC=32,GAIN=0,REPLAY=Cont}&lt;br /&gt;
&lt;br /&gt;
will start channel 5 in continuous mode with the given freq/dec/gain parameters.&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Registry/SPX30/Set?{REPLAY=Stop}&lt;br /&gt;
&lt;br /&gt;
will stop channel 30.&lt;br /&gt;
&lt;br /&gt;
There are two special keys intercepted by the HTTP server:&lt;br /&gt;
 /WAIT=n waits for N seconds before processing the next key&lt;br /&gt;
 /SYNC   waits until the previous key has been processed&lt;br /&gt;
If /SYNC is the last key, the socket will not return an HTTP status ACK until &lt;br /&gt;
the command has been processed.&lt;br /&gt;
&lt;br /&gt;
The system status of the machine hosting an ICE service is available at:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/System/&amp;lt;sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;sub&amp;gt; is:&lt;br /&gt;
 Top       - CPU usage&lt;br /&gt;
 Ice-Disks - status of disk drives&lt;br /&gt;
 Ice-Health - low-level status on an Ice-Block&lt;br /&gt;
 Ice-Driver - card status and temps recorded by the driver&lt;br /&gt;
 Ice-PICs - configuration of ICE-PICS&lt;br /&gt;
 Ice-NICs - configuration of ICE-NICS&lt;br /&gt;
 Ice-QICs - configuration of ICE-QICS&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;.tbl&amp;quot; is appended to &amp;lt;sub&amp;gt; the output will be in serialized table format for easy parsing.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/System/Ice-PICs.tbl&lt;br /&gt;
&lt;br /&gt;
gets the ICEPIC configuration in table form.&lt;br /&gt;
&lt;br /&gt;
=== ICENET - utility for communicating with ICE services macro from outside Midas&amp;lt;span id=&amp;quot;ICENET&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The ICENET routine in the $ICEROOT/test directory can be used to control and/or test ICE Network Appliances.&lt;br /&gt;
&lt;br /&gt;
The public interface includes all control widgets exposed by the macro.&lt;br /&gt;
These controls are accessed by key=value pairs where the key is the label of the control.&lt;br /&gt;
The labels are listed in the page http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/Controls or by the readout when a graphical widget has focus.&lt;br /&gt;
To set a control, use the key=value syntax and just the key or key= to perform a get.&lt;br /&gt;
&lt;br /&gt;
To start or stop an appliance that has already been instantiated:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net SET udp:192.168.0.199:7777/192.168.0.123:9000 ACTION=REC&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net SET udp:192.168.0.199:7777/192.168.0.123:9000 ACTION=STOP&lt;br /&gt;
&lt;br /&gt;
where 192.168.0.199 is the address of the controller NIC card&lt;br /&gt;
and 192.168.0.123 is the address of the ICE Appliance.&lt;br /&gt;
&lt;br /&gt;
To change the frequency of the 1st snapper case in the appliance:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net SET udp:192.168.0.199:7777/192.168.0.123:9001 FREQ=10&lt;br /&gt;
&lt;br /&gt;
By default, the SET and GET verbs address control widgets only. The routine can also be used&lt;br /&gt;
to access any other object in the macro registry or reslts table. For instance:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net SET udp:192.168.0.199:7777/192.168.0.123:9001 &amp;quot;/Controls?FREQ=10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sets the same control as the previous example, and &lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net GET udp:192.168.0.199:7777/192.168.0.123:9001 &amp;quot;/Registry/SP?CYCLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
gets the current cycle count of the sourcepic primitive SP.&lt;br /&gt;
&lt;br /&gt;
The ICENET routine can also acquire a snapshot of packet data off a local NIC card.&lt;br /&gt;
By default, this routine checks for packet sequence errors and determines the aggregate data rate.&lt;br /&gt;
To test a packet stream coming from an ICE Appliance for rate and/or drops:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net ACQ udp:192.168.0.199:7777/224.1.40.%d:7777 testfile ICE 40e6 10&lt;br /&gt;
&lt;br /&gt;
The loop count can be used to run the command multiple times with a single call.&lt;br /&gt;
If the multicast address contains an %d, the loop count will be inserted to allow looping&lt;br /&gt;
through a series of channels as if from a tuner bank. &lt;br /&gt;
&lt;br /&gt;
For a description of each parameter, type:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;ice net&lt;br /&gt;
&lt;br /&gt;
with no arguments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:ICE_Help]]&lt;/div&gt;</summary>
		<author><name>ConvertBot</name></author>
		
	</entry>
</feed>