systemd integration

Reference Documentation

Intel® PAC
Napatech SmartNIC
Content Type
Reference Information
Capture Software Version
Link™ Capture Software 12.10
Napatech Software Suite: systemd integration

Example of a systemd service unit file ntservice.service for the Napatech 3GD Service:

; This file contains a unit configuration for systemd, enabling the Napatech
; 3GD Service (ntservice) to be controlled and supervised by systemd. This
; includes starting the ntservice at boot time.
; systemd is a suite of system management daemons, libraries, and utilities
; designed as a central management and configuration platform for the Linux
; computer operating system.
; It is recommended to ensure 'LogToSystem = true' is set in the ntservice.ini
; file to enable logging with journald which is a part of systemd.
; To use this unit configuration file with systemd, copy this file to
; /usr/lib/systemd/system/ and call
; $ systemctl daemon-reload
; To enable Napatech 3GD Service to start at boot time call
; $ systemctl enable ntservice
; To disable Napatech 3GD Service from starting at boot time call
; $ systemctl disable ntservice
; To start the Napatech 3GD Service call
; $ systemctl start ntservice
; This will not return until the ntservice is operational.
; To stop the Napatech 3GD Service call
; $ systemctl stop ntservice
; To restart the Napatech 3GD Service after ntservice.ini changes call
; $ systemctl restart ntservice
; If LogToSystem is set to true in ntservice.ini and journald is used, then
; call the following command to show error, warning and information messages
; from the ntservice process
; $ journalctl -u ntservice

Description=Napatech 3GD Service

; Type is forking as ntservice will call fork() as part of its start-up.
; ntservice does not use PID files, but systemd can guess it.

; Call directly. will automatically load the
; low level driver, if needed. Optionally enable ExecStopPost to unload the
; low level driver when stopping ntservice.
; By default the file /opt/napatech3/config/ntservice.ini is used as
; configuration file for the ntservice. This can optionally be changed by
; adding an alternative configuration file as last argument to See
; " -h" for additional information.
ExecStart=/opt/napatech3/bin/ --managed
ExecStop=/opt/napatech3/bin/ --managed
; ExecStopPost=/opt/napatech3/bin/

; Disable the timeout logic to wait for start-up as start-up time differs
; greatly depending on the numbers of adapters and adapter types.

; Disable the timeout logic to wait for stop as will forcibly
; terminate ntservice after 120 seconds.

; Always restart when the ntservice process terminates unclean. When the death
; of the process is a result of a systemd operation (e.g. service stop or
; restart), the service will not be restarted.

; Successful ntservice termination code is 0. Configuration errors returns 1
; but accept this as well to keep ntservice alive in Service Mode
SuccessExitStatus=0 1

; Do not restart when exit code is 1. This is normally caused by a
; configuration error. See the log from ntservice using 'journalctl -xe' for
; details.


Example of a systemd service unit file osmode.service for the osmode network interface:

; This file contains a unit configuration for systemd, enabling the Napatech
; osmode tool to be create a network interface to be created at boot time.
; Create a file in /opt/naptech3/config/osmode-0.conf:
; streamid=0
; macaddress=00:ff:11:22:33:44
; Copy this file to /usr/lib/systemd/system/ and call:
; $ systemctl daemon-reload
; $ systemctl enable osmode@0
; For the first time you can issue usual commands, e.g. start, stop.
; Subsequent reboots should have this enabled by default.
Description=Napatech OSMode Port %I

ExecStartPre=/opt/napatech3/bin/ntpl -e 'Assign[StreamId=${streamid}] = Port == %i'
ExecStart=/opt/napatech3/bin/osmode -p %i -s ${streamid} -m ${macaddress}


Example of a systemd service unit file my_service.service that depends on the above Napatech 3GD Service:

; This file contains a unit configuration for a systemd service that
; depends on the Napatech 3GD Service (ntservice.service).
; It ensures that ntservice is operational before this service is
; activated. If ntservice is shutdown through systemd this service
; will be deactivated prior to that.
; To enable this service to automatically start on boot, copy this
; unit configuration file to /usr/lib/systemd/system/ and call
; $ systemctl daemon-reload
; $ systemctl enable my_service

Description=My service description