The following configuration allows to overwrite the global default interface link settings.
{ "interfaces": {} }
Attribute |
Description |
Default |
---|---|---|
io-mode |
IO mode |
packet_mmap_raw |
io-slots |
IO slots (ring size) |
4096 |
qdisc-bypass |
Bypass the kernel’s qdisc layer |
true |
tx-interval |
TX polling interval in milliseconds |
1.0 |
rx-interval |
RX polling interval in milliseconds |
1.0 |
tx-threads |
Number of TX threads per interface link |
0 (main thread) |
rx-threads |
Number of RX threads per interface link |
0 (main thread) |
capture-include-streams |
Include traffic streams in the capture |
true |
mac-modifier |
Third byte of access session MAC address (0-255) |
0 |
The supported IO modes are listed with bngblaster -v
but except
packet_mmap_raw
all other modes are currently considered experimental. In
the default mode (packet_mmap_raw
) all packets are received in a Packet MMAP
ring buffer and sent directly through RAW packet sockets.
The default tx-interval
and rx-interval
of 1.0
(1ms) allows precise timestamps
and high throughput. Those values can be further increased (e.g. 0.1
) for higher throughput
or decreased (e.g. 5.0
) for lower system load.
It might be also needed to increase the io-slots
from the default value of 4096
to
reach the desired throughput. The actual meaning of IO slots depends on the selected IO mode.
For Packet MMAP, it defines the maximum number of packets in the ring buffer.