//** INSTALLATION
// Pre-requirement:
//      1/ compile tools + kernel headers
ex: debian/ubuntu
$ sudo apt-get install build-essential
$ sudo apt-get install kernel-headers-$(uname -r)
//      2/ boost libraries
ex debian/ubuntu:
$ sudo apt-get install libboost-all-dev

// Remove the 'pcifw.ko' kernel module in use (if necessary)
$ sudo rmmod pcifw

// Compilation and installation of the 'pcifw.ko' kernel module
$ cd driver/kernel/
$ sudo KBUILD_NOPEDANTIC=1 make
$ sudo ./install_drv.sh

// Installation of the 'fipudpd' daemon
$ cd ../../fipudpd/
$ sudo ./install_svc.sh

//** CONFIGURATION
// Information about the 'fipudpd' daemon
$ cd /usr/bin/
$ ./fipudpd -h
    Example:
        Usage: fipudpd [OPTION]...

        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

// Daemon configuration file
$ sudo nano /etc/systemd/system/fipudpd.service

// Daemon reload
$ sudo systemctl daemon-reload

// Start the 'fipudpd' daemon
$ sudo systemctl start fipudpd

// Stop the 'fipudpd' daemon
$ sudo systemctl stop fipudpd

// Enable 'fipudpd' daemon at system startup
$ sudo systemctl enable fipudpd

// Disable 'fipudpd' daemon at system startup
$ sudo systemctl disable fipudpd
