<?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_PACKETS</id>
	<title>ICE Help PACKETS - 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_PACKETS"/>
	<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=ICE_Help_PACKETS&amp;action=history"/>
	<updated>2026-11-12T20:54:15Z</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_PACKETS&amp;diff=568&amp;oldid=prev</id>
		<title>ConvertBot: Packet data formats and handlers</title>
		<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=ICE_Help_PACKETS&amp;diff=568&amp;oldid=prev"/>
		<updated>2020-04-27T18:33:03Z</updated>

		<summary type="html">&lt;p&gt;Packet data formats and handlers&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:''' Packet data formats and handlers&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As network interfaces play an increasing role in data distribution, software &lt;br /&gt;
and hardware must be extended to process data packets.  Three forms of packets &lt;br /&gt;
are currently handled by the ICE hardware/software: &lt;br /&gt;
&lt;br /&gt;
# ICE Packet format 	- 64by header, fixed or variable length data&lt;br /&gt;
# SDDS Packet format 	- 56by header, fixed 1024by data&lt;br /&gt;
# VRT Packet format 	- 32by header, fixed 1440by data&lt;br /&gt;
# RMIF Packet protocol	- 8by header, variable data&lt;br /&gt;
&lt;br /&gt;
Normally, the packet headers precede the packet data they describe.  They may&lt;br /&gt;
also be placed in separate streams.  The packet header formats are as follows:&lt;br /&gt;
&lt;br /&gt;
=== ICE - ICE Packet Header (Little/Big Endian):&amp;lt;span id=&amp;quot;ICE&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 typedef struct {&lt;br /&gt;
 int_1  keys[4];       /* barker syncs(3) and packet type(1) */&lt;br /&gt;
 int_4  count;         /* packet number since start of xfer */&lt;br /&gt;
 int_4  elem;          /* data elements in packet */&lt;br /&gt;
 int_2  user;          /* user defined field */&lt;br /&gt;
 int_2  channel;       /* port channel number */&lt;br /&gt;
 int_1  id1,id2;       /* subsystem IDs */&lt;br /&gt;
 int_1  rep;           /* data rep (Vax,Ieee,Eeei) */&lt;br /&gt;
 int_1  bpa;           /* bytes per atom=(mode,type) */&lt;br /&gt;
 int_1  mode;          /* data format mode (Complex, Scalar) */&lt;br /&gt;
 int_1  type;          /* data format type (Pack,Byte,Int,Long) */&lt;br /&gt;
 int_1  tcmode;        /* timecode mode */&lt;br /&gt;
 int_1  tcstatus;      /* timecode status */&lt;br /&gt;
 double tcoff;         /* sample offset from data(1) to TC */&lt;br /&gt;
 double tcwsec;        /* timecode 1950 whole seconds */&lt;br /&gt;
 double tcfsec;        /* timecode fractional seconds */&lt;br /&gt;
 int_4 lval[4];        /* user fields */&lt;br /&gt;
 } ICEPACKETSTRUCT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VRT - VITA-49 Radio Transport Packet Header (Big Endian)&amp;lt;span id=&amp;quot;VRT&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;typedef struct {&lt;br /&gt;
 int_4 header;         /* Pkt type, fields, size */&lt;br /&gt;
 int_4 streamID;       /* Stream Identifier */&lt;br /&gt;
 int_4 orgID;          /* Organizational Unique ID */&lt;br /&gt;
 int_4 classID;        /* Information:Packet Class ID */&lt;br /&gt;
 int_4 tsis;           /* Time Stamp Integer Seconds */&lt;br /&gt;
 int_8 tsfs;           /* Time Stamp Fractional Seconds */&lt;br /&gt;
 int_1 data[1440];     /* Packet data */&lt;br /&gt;
 int_4 trailer;        /* Event trailer */&lt;br /&gt;
} VRTPACKETSTRUCT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SDDS - SDDS Packet Header Modified (Big Endian):&amp;lt;span id=&amp;quot;SDDS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 typedef struct {&lt;br /&gt;
 int_2 keys            /* barker packet sync 0x55AA */&lt;br /&gt;
 int_2 port            /* UDP source|destination port */&lt;br /&gt;
 int_4 addr            /* UDP source|destination address */&lt;br /&gt;
 /* now starts the actual SDDS UDP payload */&lt;br /&gt;
 int_1 fid;            /* format identifier */&lt;br /&gt;
 int_1 bits;           /* bits per data word 4|8|16 */&lt;br /&gt;
 int_2 frame;          /* frame sequence number (0x1F=parity packet) */&lt;br /&gt;
 int_2 tcinfo;         /* Timecode valid (0xF000) and sample offset in packet (0x0FFF) */&lt;br /&gt;
 int_2 tccorr;         /* Time from sample to 1msec hack in 250psec tics (min SR=60kHz) */&lt;br /&gt;
 int_8 tctics;         /* Number of 250psec tics since jan 1 to timecode hack */&lt;br /&gt;
 int_4 tcext;          /* Timecode extended precision (250psec/2^32) */&lt;br /&gt;
 int_1 sscinfo[12];    /* SSC information */&lt;br /&gt;
 int_1 ssdinfo[4];     /* SSD information | IP address */&lt;br /&gt;
 int_1 aadinfo[20];    /* AAD information */&lt;br /&gt;
 int_1 data[1024];     /* packet data */&lt;br /&gt;
 } SDDSPACKETSTRUCT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RMIF - RMIF Packet Header (Endian independent):&amp;lt;span id=&amp;quot;RMIF&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 typedef struct {&lt;br /&gt;
 int_1 func;           /* defines the method to call */&lt;br /&gt;
 int_1 flag;           /* is the protocol version number and options mask */&lt;br /&gt;
 int_1 info;           /* channel number for fast routing of monitored properties */&lt;br /&gt;
 int_1 rep;            /* packet data representation (VAX|IEEE|EEEI) */&lt;br /&gt;
 int_1 seq;            /* sequence number (0-127) for Reliable packets */&lt;br /&gt;
 int_1 try;            /* number of resends for Reliable packets */&lt;br /&gt;
 int_1 rpt;            /* report sequence number */&lt;br /&gt;
 int_1 adj;            /* number of bytes in adjunct header */&lt;br /&gt;
 } RMIFPACKETSTRUCT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NETWORK - Network interface notes&amp;lt;span id=&amp;quot;NETWORK&amp;quot;&amp;gt;&amp;lt;/span&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;
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 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;
More notes to come.&lt;br /&gt;
&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>