Struct netlink_packet_route::rtnl::link::LinkHeader
source · #[non_exhaustive]pub struct LinkHeader {
pub interface_family: u8,
pub index: u32,
pub link_layer_type: u16,
pub flags: u32,
pub change_mask: u32,
}Expand description
High level representation of RTM_GETLINK, RTM_SETLINK, RTM_NEWLINK and
RTM_DELLINK messages headers.
These headers have the following structure:
0 8 16 24 32
+----------------+----------------+----------------+----------------+
|interface family| reserved | link layer type |
+----------------+----------------+----------------+----------------+
| link index |
+----------------+----------------+----------------+----------------+
| flags |
+----------------+----------------+----------------+----------------+
| change mask |
+----------------+----------------+----------------+----------------+
LinkHeader exposes all these fields except for the “reserved” one.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.interface_family: u8Address family: one of the AF_* constants.
index: u32Link index.
link_layer_type: u16Link type. It should be set to one of the ARPHRD_*
constants. The most common value is ARPHRD_ETHER for
Ethernet.
flags: u32State of the link, described by a combinations of IFF_*
constants, for instance IFF_UP | IFF_LOWER_UP.
change_mask: u32Change mask for the flags field. Reserved, it should be set
to 0xffff_ffff.
Trait Implementations§
source§impl Clone for LinkHeader
impl Clone for LinkHeader
source§fn clone(&self) -> LinkHeader
fn clone(&self) -> LinkHeader
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for LinkHeader
impl Debug for LinkHeader
source§impl Default for LinkHeader
impl Default for LinkHeader
source§fn default() -> LinkHeader
fn default() -> LinkHeader
Returns the “default value” for a type. Read more
source§impl Emitable for LinkHeader
impl Emitable for LinkHeader
source§impl<T: AsRef<[u8]>> Parseable<LinkMessageBuffer<T>> for LinkHeader
impl<T: AsRef<[u8]>> Parseable<LinkMessageBuffer<T>> for LinkHeader
source§fn parse(buf: &LinkMessageBuffer<T>) -> Result<Self, DecodeError>
fn parse(buf: &LinkMessageBuffer<T>) -> Result<Self, DecodeError>
Deserialize the current type.
source§impl PartialEq<LinkHeader> for LinkHeader
impl PartialEq<LinkHeader> for LinkHeader
source§fn eq(&self, other: &LinkHeader) -> bool
fn eq(&self, other: &LinkHeader) -> bool
This method tests for
self and other values to be equal, and is used
by ==.