fiwip_img FIP-UDP

   FWP Protocol

FWP (FipWatcher Protocol) defines the data structure of the UDP packets sent by the FIP-UDP service.

By default, the UDP packets are broadcast to UDP destination port 57117. For Wireshark users, it is possible to use a LUA dissector (fwp.lua) provided in the FipCapture (.tar.xz) archive. Alternatively, it is possible to use the Exoligent FipLabs GUI provided in the WorldFipTools6 software package.

The general structure of a FWP datagram is as follows:

FWP datagram - General Structure
NameTypeLengthDescription
IdentificationU8[2]16 bitsIdentification of the FWP protocol (46h 57h: "FW")
VersionU8[2]16 bitsFWP datagram version (Major/Minor)
Sequence NumberU6464 bitsCurrent datagram number
Events NumberU3232 bitsNumber of events contained in this datagram
Event 1
IdentifierU88 bitsEvent identifier
LengthU1616 bitsEvent length in bytes (id[1] + len[2] + event payload)
DataU8[]-Payload of the event 1
Other Events [...]
Event n
IdentifierU88 bitsEvent identifier
LengthU1616 bitsEvent length in bytes (id[1] + len[2] + event payload)
DataU8[]-Payload of the event n

The events associated with this datagram are of two types:

  • FIP Frame Received Event
  • System LifeSign Event

In the rest of this chapter, we will see a description of these events.

This event is generated each time a FIP/WorldFIP frame is received by the FIPWatcher device.

FWP event - FIP Frame Received
NameTypeLengthDescription
IdentifierU88 bitsEvent identifier (C0h: FIP frame reception event id)
LengthU1616 bitsEvent length in bytes (id[1] + len[2] + event payload)
Frame StatusU1616 bitsFIP frame status report
Frame NumberU6464 bitsReceived FIP frame number
Epoch TimeU6464 bitsEvent's unix epoch time (us)
Frame DurationU8[3]24 bitsFrame Duration (1/10 us)
Inter-Frame DurationU8[3]24 bitsInter-Frame Duration (1/10 us)
Glitches CounterU1616 bitsNumber of glitches detected in the frame
JitterU88 bitsPercentage of average Tbit expressed in 0.5% steps
ControlU88 bitsFIP Frame: Control byte
App DataU8[]n bitsFIP Frame: Application layer data
ChecksumU1616 bitsFIP Frame: Checksum word

This event is sent periodically to indicate that the service is alive. In addition, it contains some status data and statistics about the FIPUDP service.

To set its transmission period, go to FIPUDP Daemon section.

FWP event - System LifeSign
NameTypeLengthDescription
IdentifierU88 bitsEvent identifier (C1h: System lifesign event id)
LengthU1616 bitsEvent length in bytes (id[1] + len[2] + event payload)
Lifesign CounterU6464 bitsSystem monitoring event counter
Epoch TimeU6464 bitsEvent's unix epoch time (us)
Product NumberU3232 bitsFIPWatcher product number
CPU Infos
LoadFLOAT32 bitsCPU load (%)
TemperatureFLOAT32 bitsCPU temperature (°C)
MMC Infos
Total KBU3232 bitsMMC: total memory size in KB
Used KBU3232 bitsMMC: memory used in KB
Available KBU3232 bitsMMC: memory available in KB
Used PercentFLOAT32 bitsMMC: memory used percent
RAM Infos
Total KBU3232 bitsRAM: total memory size in KB
Used KBU3232 bitsRAM: memory used in KB
Available KBU3232 bitsRAM: memory available in KB
Used PercentFLOAT32 bitsRAM: memory used percent
FIPUDP Daemon Infos
    + Buffer Infos
Total KBU3232 bitsFIPUDP Buffer: total memory size in KB
Used KBU3232 bitsFIPUDP Buffer: memory used in KB
Available KBU3232 bitsFIPUDP Buffer: memory available in KB
Used PercentFLOAT32 bitsFIPUDP Buffer: memory used percent
    + UDP Activity
StatusU88 bitsUDP: activity status (0:off, 1:on)
Total ON DurationU6464 bitsUDP: total duration of activity (us)
Total OFF DurationU6464 bitsUDP: total duration of inactivity (us)
Last Start EpochU6464 bitsUDP: last date of start of activity
Last Stop EpochU6464 bitsUDP: last date of stop of activity
Last ON DurationU6464 bitsUDP: last duration of activity
Last OFF DurationU6464 bitsUDP: last duration of inactivity
Loss CounterU1616 bitsUDP: number of loss of activity
    + UDP RX Statistics
Frame CountU6464 bitsUDP: RX frame count
Frame RateU3232 bitsUDP: RX frame rate (frame per second: fps)
Byte RateU6464 bitsUDP: RX byte rate (byte per second: B/s)
    + UDP TX Statistics
Frame CountU6464 bitsUDP: TX frame count
Frame RateU3232 bitsUDP: TX frame rate (frame per second: fps)
Byte RateU6464 bitsUDP: TX byte rate (byte per second: B/s)
    + FIP Activity
StatusU88 bitsFIP: activity status (0:off, 1:on)
Total ON DurationU6464 bitsFIP: total duration of activity (us)
Total OFF DurationU6464 bitsFIP: total duration of inactivity (us)
Last Start EpochU6464 bitsFIP: last date of start of activity
Last Stop EpochU6464 bitsFIP: last date of stop of activity
Last ON DurationU6464 bitsFIP: last duration of activity
Last OFF DurationU6464 bitsFIP: last duration of inactivity
Loss CounterU1616 bitsFIP: number of loss of activity
    + FIP RX Statistics
Frame CountU6464 bitsFIP: RX frame count
Frame RateU3232 bitsFIP: RX frame rate (frame per second: fps)
Byte RateU6464 bitsFIP: RX byte rate (byte per second: B/s)
    + FIP Network Infos
TypeU88 bitsFrame type (0:unknown, 1:fip, 2:worldfip)
BitrateU88 bitsFrame bitrate (0:unknown, 1:31.25kbps, 2:1Mbps, 3:2.5Mbps, 4:5Mbps)
    + FIP Error Counters
PREU6464 bitsPhysical layer: no frame preamble (may be a glitch detection)
FSDU6464 bitsPhysical layer: no frame start delimiter (fsd)
FEDU6464 bitsPhysical layer: no frame end delimiter (fed)
CTLU6464 bitsDatalink layer: unknown fip control byte
FCSU6464 bitsDatalink layer: bad frame checksum
PDUU6464 bitsApplication layer: unknown fip pdu
LENU6464 bitsApplication layer: bad data length
GLCU6464 bitsHDL coworker: overflow on glitch counter
IFCU6464 bitsHDL coworker: overflow on inter-frame counter
FCU6464 bitsHDL coworker: overflow on frame counter