Available on crate feature
net only.Expand description
MAC address type for network programming.
This module provides a type-safe abstraction for MAC addresses, ensuring compliance with IEEE 802 MAC address specifications.
§IEEE 802 MAC Address Rules
According to IEEE 802:
- Length: 6 bytes (48 bits) for standard MAC addresses
- Format: XX:XX:XX:XX:XX:XX (colon-separated hex pairs)
- Alternative formats: XX-XX-XX-XX-XX-XX (dash-separated)
- Each octet: 00-FF (0-255 in decimal)
- First octet’s least significant bit indicates unicast (0) or multicast (1)
- First octet’s second least significant bit indicates globally (0) or locally (1) administered
§Examples
use bare_types::net::MacAddress;
// Create a MAC address
let mac = MacAddress::new([0x00, 0x11, 0x22, 0x33, 0x44, 0x55])?;
// Check if it's unicast
assert!(mac.is_unicast());
// Check if it's globally administered
assert!(mac.is_globally_administered());
// Get the string representation
assert_eq!(mac.as_str(), "00:11:22:33:44:55");
// Parse from string
let mac: MacAddress = "00:11:22:33:44:55".parse()?;Structs§
- MacAddress
- A MAC address.
Enums§
- MacAddress
Error - Error type for MAC address validation.