#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct GetLinkMessageData
{
pub link_flags: net_device_flags,
pub device_arp_type: ARPHRD,
pub network_interface_index: NetworkInterfaceIndex,
pub network_interface_name: NetworkInterfaceName,
pub transmission_queue_length: u32,
pub operational_status: IF_OPER,
pub link_mode: IF_LINK_MODE,
pub maximum_transmission_unit: MaximumTransmissionUnitPayloadSize,
pub maximum_transmission_unit_minimum: MaximumTransmissionUnitPayloadSize,
pub maximum_transmission_unit_maximum: MaximumTransmissionUnitPayloadSize,
pub group: NetworkDeviceGroup,
pub promiscuity_count: u32,
#[allow(missing_docs)]
pub number_of_transmission_queues: QueueCount,
pub number_of_receive_queues: Option<QueueCount>,
pub generic_segmentation_offload_maximum_segments: u32,
pub generic_segmentation_offload_maximum_size: u32,
pub master_network_interface_index: Option<NetworkInterfaceIndex>,
pub carrier_ok: bool,
pub carrier_up_count: u32,
pub carrier_down_count: u32,
pub carrier_up_and_down_count: u32,
pub queueing_discipline: Option<QueuingDisciplineAlgorithm>,
pub network_interface_alias: Option<NetworkInterfaceAlias>,
pub alternative_network_interface_names: Vec<NetworkInterfaceAlternativeName>,
pub internet_version_4_protocol_details: Option<InternetProtocolVersion4Details>,
pub internet_version_6_protocol_details: Option<InternetProtocolVersion6Details>,
pub protocol_down_and_reason_code: Option<Option<NonZeroU32>>,
pub target_net_namespace_identifier: Option<NetNamespaceIdentifer>,
pub linked_net_namespace_identifier: Option<NetNamespaceIdentifer>,
pub linked_network_interface_index: Option<Option<NetworkInterfaceIndex>>,
pub new_net_namespace_identifier: Option<NetNamespaceIdentifer>,
pub new_network_interface_index: Option<NetworkInterfaceIndex>,
pub map: rtnl_link_ifmap,
pub address_and_broadcast_and_permanent_address: Option<(HardwareAddress, HardwareAddress, Option<HardwareAddress>)>,
pub physical_port_identifier: Option<PhysicalIdentifier>,
pub physical_port_name: Option<CString>,
pub physical_switch_identifier: Option<PhysicalIdentifier>,
pub number_of_virtual_functions: Option<u8>,
pub(crate) statistics: Option<rtnl_link_stats64>,
pub(crate) attached_express_data_path_program_identifiers: Option<MultipleProgramIdentifiers>,
}
#[allow(missing_docs)]
impl GetLinkMessageData
{
#[allow(missing_docs)]
#[inline(always)]
pub fn is_for_name(&self, network_interface_name: &NetworkInterfaceName) -> bool
{
&self.network_interface_name == network_interface_name
}
#[allow(missing_docs)]
#[inline(always)]
pub fn is_for_index(&self, network_interface_index: NetworkInterfaceIndex) -> bool
{
self.network_interface_index == network_interface_index
}
}