pub enum NdiscRepr<'a> {
RouterSolicit {
lladdr: Option<RawHardwareAddress>,
},
RouterAdvert {
hop_limit: u8,
flags: RouterFlags,
router_lifetime: Duration,
reachable_time: Duration,
retrans_time: Duration,
lladdr: Option<RawHardwareAddress>,
mtu: Option<u32>,
prefix_info: Option<NdiscPrefixInformation>,
},
NeighborSolicit {
target_addr: Ipv6Address,
lladdr: Option<RawHardwareAddress>,
},
NeighborAdvert {
flags: NeighborFlags,
target_addr: Ipv6Address,
lladdr: Option<RawHardwareAddress>,
},
Redirect {
target_addr: Ipv6Address,
dest_addr: Ipv6Address,
lladdr: Option<RawHardwareAddress>,
redirected_hdr: Option<NdiscRedirectedHeader<'a>>,
},
}Expand description
A high-level representation of an Neighbor Discovery packet header.
Variants
RouterSolicit
Fields
lladdr: Option<RawHardwareAddress>RouterAdvert
Fields
flags: RouterFlagsrouter_lifetime: Durationreachable_time: Durationretrans_time: Durationlladdr: Option<RawHardwareAddress>prefix_info: Option<NdiscPrefixInformation>NeighborSolicit
NeighborAdvert
Redirect
Fields
target_addr: Ipv6Addressdest_addr: Ipv6Addresslladdr: Option<RawHardwareAddress>redirected_hdr: Option<NdiscRedirectedHeader<'a>>Implementations
sourceimpl<'a> Repr<'a>
impl<'a> Repr<'a>
sourcepub fn parse<T>(packet: &Packet<&'a T>) -> Result<Repr<'a>> where
T: AsRef<[u8]> + ?Sized,
pub fn parse<T>(packet: &Packet<&'a T>) -> Result<Repr<'a>> where
T: AsRef<[u8]> + ?Sized,
Parse an NDISC packet and return a high-level representation of the packet.
pub fn buffer_len(&self) -> usize
pub fn emit<T>(&self, packet: &mut Packet<&mut T>) where
T: AsRef<[u8]> + AsMut<[u8]> + ?Sized,
Trait Implementations
impl<'a> Copy for Repr<'a>
impl<'a> Eq for Repr<'a>
impl<'a> StructuralEq for Repr<'a>
impl<'a> StructuralPartialEq for Repr<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for Repr<'a>
impl<'a> Send for Repr<'a>
impl<'a> Sync for Repr<'a>
impl<'a> Unpin for Repr<'a>
impl<'a> UnwindSafe for Repr<'a>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstablefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more