Struct etherparse::Ipv6ExtensionsSlice
source · pub struct Ipv6ExtensionsSlice<'a> { /* private fields */ }
Expand description
Slice containing the IPv6 extension headers present after the ip header.
Currently supported:
- Authentication Header
- Hop by Hop Options Header
- Destination Options Header (before and after routing headers)
- Routing Header
- Fragment
- Authentication Header
Currently not supported:
- Encapsulating Security Payload Header (ESP)
- Host Identity Protocol (HIP)
- IP Mobility
- Site Multihoming by IPv6 Intermediation (SHIM6)
Implementations§
source§impl<'a> Ipv6ExtensionsSlice<'a>
impl<'a> Ipv6ExtensionsSlice<'a>
sourcepub fn from_slice(
start_ip_number: u8,
start_slice: &'a [u8]
) -> Result<(Ipv6ExtensionsSlice<'_>, u8, &'a [u8]), ReadError>
pub fn from_slice(
start_ip_number: u8,
start_slice: &'a [u8]
) -> Result<(Ipv6ExtensionsSlice<'_>, u8, &'a [u8]), ReadError>
Collects all ipv6 extension headers in a slice & checks if a fragmentation header that fragments the packet is present.
sourcepub fn is_fragmenting_payload(&self) -> bool
pub fn is_fragmenting_payload(&self) -> bool
Returns true if a fragmentation header is present in the extensions that fragments the payload.
Note: A fragmentation header can still be present even if the return value is false in case the fragmentation headers don’t fragment the payload. This is the case if the offset of all fragmentation header is 0 and the more fragment bit is not set.
sourcepub fn first_header(&self) -> Option<u8>
pub fn first_header(&self) -> Option<u8>
Returns the ip protocol number of the first header in the slice if the slice contains an ipv6 extension header. If no ipv6 header is present None is returned.
None is only returned if the slice length of this struct is 0.
Trait Implementations§
source§impl<'a> Clone for Ipv6ExtensionsSlice<'a>
impl<'a> Clone for Ipv6ExtensionsSlice<'a>
source§fn clone(&self) -> Ipv6ExtensionsSlice<'a>
fn clone(&self) -> Ipv6ExtensionsSlice<'a>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more