PcapPlusPlus
21.05
|
KNI device initialization data. Used to create new KNI device. Usage of callbacks member or oldCallbacks member is defined by result of KniDeviceList::callbackVersion. More...
#include <KniDevice.h>
Public Attributes | |
std::string | name |
MacAddress | mac |
uint16_t | portId |
uint16_t | mtu |
bool | bindKthread |
uint32_t | kthreadCoreId |
KNI device initialization data. Used to create new KNI device. Usage of callbacks member or oldCallbacks member is defined by result of KniDeviceList::callbackVersion.
bool pcpp::KniDevice::KniDeviceConfiguration::bindKthread |
If set forces to bind KNI Linux kernel thread (NOT userspace thread) to specific core. If rte_kni kernel module is loaded with "kthread_mode=single" then - rebinds kernel thread used for all KNI devices to specified core. If rte_kni kernel module is loaded with "kthread_mode=multiple" then - binds new kernel thread for this device to specified core.
uint32_t pcpp::KniDevice::KniDeviceConfiguration::kthreadCoreId |
ID of core to bind Linux kernel thread to (same as DPDK cores IDs)
MacAddress pcpp::KniDevice::KniDeviceConfiguration::mac |
MAC (ETHERNET) address of new KNI device. If MacAddress::Zero is provided then some valid address will be automatically generated. If provided (not MacAddress::Zero) will be cached by new KNI device info structure.
uint16_t pcpp::KniDevice::KniDeviceConfiguration::mtu |
MTU of new KNI device. Will be cached by new KNI device info structure
std::string pcpp::KniDevice::KniDeviceConfiguration::name |
Name used to display device in system. Must not interfere with already existing network interfaces. Must be less than or equal to IFNAMSIZ (16 chars including \0 on most systems)
uint16_t pcpp::KniDevice::KniDeviceConfiguration::portId |
Used in same way as DPDK port id. If some new callbacks are omitted then have separate meaning (see KniIoctlCallbacks::config_mac_address and KniIoctlCallbacks::config_promiscusity). Can be set to UINT16_MAX.