pub struct OnlineConfig {
pub duration: Option<u64>,
pub promiscuous: bool,
pub nb_rxd: usize,
pub mtu: usize,
pub hardware_assist: bool,
pub dpdk_supl_args: Vec<String>,
pub monitor: Option<MonitorConfig>,
pub ports: Vec<PortMap>,
}Expand description
Live traffic analysis options.
Online mode performs traffic analysis on a live network interface. Either OnlineConfig or OfflineConfig must be specified, but not both.
§Example
[online]
duration = 30
nb_rxd = 32768
promiscuous = true
mtu = 1500
hardware_assist = true
dpdk_supl_args = []
[online.monitor.display]
throughput = true
mempool_usage = true
[online.monitor.log]
directory = "./log"
interval = 1000
[[online.ports]]
device = "0000:3b:00.0"
cores = [1,2,3,4]
[[online.ports]]
device = "0000:3b:00.1"
cores = [5,6,7,8]Fields§
§duration: Option<u64>If set, the applicaton will stop after duration seconds. Defaults to None.
promiscuous: boolWhether promiscuous mode is enabled for all ports. Defaults to true.
nb_rxd: usizeThe number of RX descriptors per receive queue. Defaults to 4096.
Receive queues are polled for packets using a run-to-completion model. Deeper queues will be more tolerant of processing delays at the cost of higher memory usage and hugepage reservation.
mtu: usizeMaximum transmission unit (in bytes) allowed for ingress packets. Defaults to 1500.
To capture jumbo frames, set this value higher (e.g., 9702).
hardware_assist: boolIf set, will attempt to offload parts of the filter to the NIC, depending on its hardware
filtering support. Defaults to true.
dpdk_supl_args: Vec<String>If set, will pass supplementary arguments to DPDK EAL (see DPDK
configuration). For instance --no-huge.
Defaults to empty string.
monitor: Option<MonitorConfig>Live performance monitoring. Defaults to None.
ports: Vec<PortMap>List of network interfaces to read from.
Trait Implementations§
Source§impl Clone for OnlineConfig
impl Clone for OnlineConfig
Source§fn clone(&self) -> OnlineConfig
fn clone(&self) -> OnlineConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OnlineConfig
impl Debug for OnlineConfig
Source§impl<'de> Deserialize<'de> for OnlineConfig
impl<'de> Deserialize<'de> for OnlineConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for OnlineConfig
impl RefUnwindSafe for OnlineConfig
impl Send for OnlineConfig
impl Sync for OnlineConfig
impl Unpin for OnlineConfig
impl UnsafeUnpin for OnlineConfig
impl UnwindSafe for OnlineConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more