Troubleshooting
Drivers not loading (modprobe)
Symptoms:
-
When loading a module:
-
When installing a package:
You need to install the linux-headers-amd64 (Debian) package and make sure that
the kernel version corresponding to the version of this package is loaded, then run:
Docker and docker-compose not working
By default, these commands only work for users in the docker group and for root.
This is a standard Docker security measure.
Solution:
MITIGATOR does not start (unknown log opt)
When starting MITIGATOR, an error like the following appears:
The base docker-compose.yml configuration sets log rotation options that are
not compatible with logging drivers other than the default json-file (for
example, syslog or journald). For the fix, see
Logging setup.
Packet processor not available
Such a message appears in the web interface if the package processor
did not start or stopped. Diagnostics (from /srv/mitigator):
Below are some typical problems and typical messages.
EAL: Cannot get hugepage information
Message:
Reason: Hugepages not allocated or fully occupied.
Check for available hugepages and make sure HugePages_Total
and Hugepagesize are the same as configured, and HugePages_Free
is equal to HugePages_Total (or differs by no more than a few pages):
EAL: set_mempolicy failed: Invalid argument
Message:
Reason: Hugepages were not allocated on all NUMA nodes used by the application on a multiprocessor platform.
Check command output (for a platform with two NUMA nodes):
The output should contain the hugepages and memory directories and should
not differ much. If there are no such directories, check the machine for the
physical presence of memory on both CPUs. View memory information in BIOS,
check NUMA settings in BIOS, check memory and NUMA settings in OS.
no port found
Message:
or
You need to make sure that the device address 04:00.0 is correct, and that the device is bound to the DPDK driver in the same way as during system preparation.
If the device is bound, look for other errors in the log, for example:
This error means that not all devices in the same IOMMU group are bound to the
vfio-pci driver. To work through vfio-pci, you need to bind all ports of
one card to vfio-pci, or switch to another driver.
Crash
When looking at the docker-compose logs dataplane logs, the message is:
To resume work, run the command:
Further, it is recommended to contact the developers for the purpose of accurate diagnosis and correction and send them:
-
Description of the situation in which the issue occurred (actions with MITIGATOR, incoming traffic).
-
Description of the server hardware configuration:
- CPU and network cards model;
- memory size and hugepages configuration;
- Linux kernel version, network card drivers and their versions.
-
The
/srv/mitigator/dataplane.conffile. -
The dataplane.stacktrace file, which is stored in
/var/lib/docker/volumes/mitigator_coredumps/_data/dataplane.stacktraceby default. -
Core dump (a snapshot of process memory), which is stored by default in
/var/lib/docker/volumes/mitigator_coredumps/_data/core. Its size is gigabytes, but it usually compresses well.On some distributions (eg Ubuntu) the
corefile does not appear because the crash handling is configured differently. You can check the setting like this:The default on Linux is
core. If it’s different:-
Remember original value:
-
Replace it with
core: -
Reproduce the issue, get the
corefile from the path above. -
Restore original value:
-