pub enum NetHeaders {
Ipv4(Ipv4Header, Ipv4Extensions),
Ipv6(Ipv6Header, Ipv6Extensions),
Arp(ArpPacket),
}Expand description
Headers on the network layer (e.g. IP, ARP, …).
Variants§
Ipv4(Ipv4Header, Ipv4Extensions)
IPv4 header & extension headers.
Ipv6(Ipv6Header, Ipv6Extensions)
IPv6 header & extension headers.
Arp(ArpPacket)
Address Resolution Protocol packet.
Implementations§
Source§impl NetHeaders
impl NetHeaders
Sourcepub fn ipv4_ref(&self) -> Option<(&Ipv4Header, &Ipv4Extensions)>
pub fn ipv4_ref(&self) -> Option<(&Ipv4Header, &Ipv4Extensions)>
Returns references to the IPv4 header & extensions if the header contains IPv4 values.
Sourcepub fn ipv6_ref(&self) -> Option<(&Ipv6Header, &Ipv6Extensions)>
pub fn ipv6_ref(&self) -> Option<(&Ipv6Header, &Ipv6Extensions)>
Returns references to the IPv6 header & extensions if the header contains IPv6 values.
Sourcepub fn arp_ref(&self) -> Option<&ArpPacket>
pub fn arp_ref(&self) -> Option<&ArpPacket>
Returns references to the ARP packet if the header contains ARP values.
Sourcepub fn try_set_next_headers(
&mut self,
last_next_header: IpNumber,
) -> Result<EtherType, NetSetNextHeaderError>
pub fn try_set_next_headers( &mut self, last_next_header: IpNumber, ) -> Result<EtherType, NetSetNextHeaderError>
Sets all the next_header fields in the ipv4 & ipv6 header as well as in all extension headers and returns the ether type number.
The given number will be set as the last “next_header” or protocol number.
Sourcepub fn header_len(&self) -> usize
pub fn header_len(&self) -> usize
Returns the size when the header & extension headers are serialized
Trait Implementations§
Source§impl Clone for NetHeaders
impl Clone for NetHeaders
Source§fn clone(&self) -> NetHeaders
fn clone(&self) -> NetHeaders
Returns a duplicate 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 NetHeaders
impl Debug for NetHeaders
Source§impl From<ArpPacket> for NetHeaders
impl From<ArpPacket> for NetHeaders
Source§impl From<IpHeaders> for NetHeaders
impl From<IpHeaders> for NetHeaders
Source§impl PartialEq for NetHeaders
impl PartialEq for NetHeaders
impl Eq for NetHeaders
impl StructuralPartialEq for NetHeaders
Auto Trait Implementations§
impl Freeze for NetHeaders
impl RefUnwindSafe for NetHeaders
impl Send for NetHeaders
impl Sync for NetHeaders
impl Unpin for NetHeaders
impl UnwindSafe for NetHeaders
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