#[non_exhaustive]pub enum HardwareAddress {
Ethernet([u8; 6]),
Ieee802154([u8; 8]),
Ip,
}
Expand description
Representation of an hardware address, such as an Ethernet address or an IEEE802.15.4 address.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Ethernet([u8; 6])
Ethernet medium, with a A six-octet Ethernet address.
Devices of this type send and receive Ethernet frames, and interfaces using it must do neighbor discovery via ARP or NDISC.
Examples of devices of this type are Ethernet, WiFi (802.11), Linux tap
, and VPNs in tap (layer 2) mode.
Ieee802154([u8; 8])
6LoWPAN over IEEE802.15.4, with an eight-octet address.
Ip
Indicates that a Driver is IP-native, and has no hardware address.
Devices of this type send and receive IP frames, without an Ethernet header. MAC addresses are not used, and no neighbor discovery (ARP, NDISC) is done.
Examples of devices of this type are the Linux tun
, PPP interfaces, VPNs in tun (layer 3) mode.
Trait Implementations§
Source§impl Clone for HardwareAddress
impl Clone for HardwareAddress
Source§fn clone(&self) -> HardwareAddress
fn clone(&self) -> HardwareAddress
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 HardwareAddress
impl Debug for HardwareAddress
Source§impl Format for HardwareAddress
impl Format for HardwareAddress
Source§impl PartialEq for HardwareAddress
impl PartialEq for HardwareAddress
impl Copy for HardwareAddress
impl Eq for HardwareAddress
impl StructuralPartialEq for HardwareAddress
Auto Trait Implementations§
impl Freeze for HardwareAddress
impl RefUnwindSafe for HardwareAddress
impl Send for HardwareAddress
impl Sync for HardwareAddress
impl Unpin for HardwareAddress
impl UnwindSafe for HardwareAddress
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)