fiwip_img FiWiP

   FIPUDP Daemon

FIPUDPD is the daemon which redirects all the FIP/WorldFIP frames received by the FiWiP device to the Ethernet network (UDP/IP).

We will describe here how to install the FIPUDP daemon and its associated kernel module under GNU/Linux.

First, download the fiwip archive (.tar.xz) corresponding to your hardware architecture and your GNU/Linux flavour.

In this example, the machine used is based on x86_64 processor (64-bit) and the package archive is extracted in /home directory.


1 - Driver compilation & installation

Open a terminal and enter the following commands:

$ cd /home/fiwip-1.x.x-x86_64/driver/kernel
$ sudo KBUILD_NOPEDANTIC=1 make
$ sudo chmod +x install_drv.sh
$ sudo ./install_drv.sh

2 - Daemon installation

Open a terminal and enter the following commands:

$ cd /home/fiwip-1.x.x-x86_64/fipudpd/
$ sudo chmod +x install_svc.sh
$ sudo ./install_svc.sh


Once installed, you can manipulate the daemon with the classic commands of systemd:

Start the daemon: $ sudo systemctl start fipudpd

Stop the daemon: $ sudo systemctl stop fipudpd

Enable the daemon at system startup: $ sudo systemctl enable fipudpd

Disable the daemon at system startup: $ sudo systemctl disable fipudpd

Daemon status: $ sudo systemctl status fipudpd

Video tutorial: FIPUDPD configuration

To set up this daemon, edit the file "/etc/systemd/system/fipudpd.service" and change the ExecStart command with your own settings.


Daemon configuration file - /etc/systemd/system/fipudpd.service
# It redirects all the FIPWatcher(PCI)'s packets to the ethernet network (UDP).
# By default, if no option is added, the app opens the first FIPWatcher found,
# and redirects the FIP flow to 57117 UDP port.
# 
# Options:
#     -i, --index      device index [default=1st found]
#     -p, --port       udp port number [default=57117]
#     -s, --stats_per  refresh period (ms) for displaying statistics [default=disabled]
#     -d, --daemon     daemonize this application
#     -l, --list       list host devices
#     -R, --lifesign   refresh period (ms) of lifesign packet [default=500 (500ms)]
#     -M, --max_evt    maximum events per udp datagram [default=1000]
#     -B, --buff_file  path to the buffer file [default=/tmp/exoligent/fiwip/buffer.bin]
#     -S, --buff_size  max size of the buffer in bytes [default=50000000 (50MB)]
#     -C, --conf_file  read configuration from the file
#     -L, --log_file   write logs to the file
#     -P, --pid_file   PID file used by daemonized app
#     -v, --version    show version and exit
#     -h, --help       show this help and exit
# 
# Examples: 
#     fipudpd -i 1 -p 55010
#     fipudpd -d

[Unit]
Description=FIP Watcher over UDP/IP

[Service]
Type=simple
ExecStart=/usr/bin/fipudpd \
            --port 57117 \
            --log_file /var/log/fipudpd.log

User=root
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

Daemon Parameters:

  • -i, --index : Index of the FipWatcher (mPCIe) device to attached to the app (value range: [0-7])

  • -p, --port : UDP port number (default=57117)

  • -s, --stats_per : Refresh period (ms) for displaying statistics (default=disabled)

    Note: The statistics are displayed in the default output stream, it is therefore not recommended to use this option if you use this app as a daemon.

  • -d, --daemon : Start this app as a double forking daemon.

  • -l, --list : Display the list of the FipWatcher (mPCIe) devices of the host.

  • -R, --lifesign : Period (ms) of the System LifeSign Event (default=500).

  • -M, --max_evt : Maximum events per UDP datagram (default=1000)

    Note: This parameter corresponds to the Events Number fields of the FWP datagram.
    For example if the user wishes to send an UDP packet per received FIP frame, it will be necessary to set this field to 1.

  • -B, --buff_file : Path to the buffer file (default=/tmp/exoligent/fiwip/buffer.bin)

    This file behaves like a FIFO for the application. If the connection to the Ethernet network is lost, the FIP events will be buffered in this file until the Ethernet network is reactivated.

  • -S, --buff_size : Maximum size of the buffer file in bytes (default=50000000).

  • -C, --conf_file : Read configuration from an external file path.

  • -L, --log_file : Write logs to the specified file path.

  • -P, --pid_file : PID file used by daemonized app.

  • -v, --version : Show the application version and exit.

  • -h, --help : Show this help and exit.