pub struct MutableIcmpv6Packet<'a> { /* private fields */ }Expand description
Represents a mutable ICMPv6 packet.
Implementations§
Source§impl<'a> MutableIcmpv6Packet<'a>
impl<'a> MutableIcmpv6Packet<'a>
Sourcepub fn new_unchecked(buffer: &'a mut [u8]) -> Self
pub fn new_unchecked(buffer: &'a mut [u8]) -> Self
Create a mutable ICMPv6 packet without performing validation.
Sourcepub fn checksum_mode(&self) -> ChecksumMode
pub fn checksum_mode(&self) -> ChecksumMode
Returns the checksum recalculation mode.
Sourcepub fn set_checksum_mode(&mut self, mode: ChecksumMode)
pub fn set_checksum_mode(&mut self, mode: ChecksumMode)
Sets how checksum updates should be handled.
Sourcepub fn enable_auto_checksum(&mut self)
pub fn enable_auto_checksum(&mut self)
Enables automatic checksum recomputation.
Sourcepub fn disable_auto_checksum(&mut self)
pub fn disable_auto_checksum(&mut self)
Disables automatic checksum recomputation.
Sourcepub fn is_checksum_dirty(&self) -> bool
pub fn is_checksum_dirty(&self) -> bool
Returns true if the checksum needs to be recomputed.
Sourcepub fn mark_checksum_dirty(&mut self)
pub fn mark_checksum_dirty(&mut self)
Marks the checksum as dirty and recomputes it when automatic mode is enabled.
Sourcepub fn set_checksum_context(&mut self, context: TransportChecksumContext)
pub fn set_checksum_context(&mut self, context: TransportChecksumContext)
Sets the pseudo-header context required for checksum calculation.
Sourcepub fn set_ipv6_checksum_context(
&mut self,
source: Ipv6Addr,
destination: Ipv6Addr,
)
pub fn set_ipv6_checksum_context( &mut self, source: Ipv6Addr, destination: Ipv6Addr, )
Configures the pseudo-header context for IPv6 checksums.
Sourcepub fn clear_checksum_context(&mut self)
pub fn clear_checksum_context(&mut self)
Clears the configured pseudo-header context.
Sourcepub fn checksum_context(&self) -> Option<TransportChecksumContext>
pub fn checksum_context(&self) -> Option<TransportChecksumContext>
Returns the configured pseudo-header context.
Sourcepub fn recompute_checksum(&mut self) -> Option<u16>
pub fn recompute_checksum(&mut self) -> Option<u16>
Recomputes the checksum using the configured pseudo-header context.
Sourcepub fn get_type(&self) -> Icmpv6Type
pub fn get_type(&self) -> Icmpv6Type
Returns the ICMPv6 type field.
Sourcepub fn set_type(&mut self, icmpv6_type: Icmpv6Type)
pub fn set_type(&mut self, icmpv6_type: Icmpv6Type)
Sets the ICMPv6 type field and marks the checksum as dirty.
Sourcepub fn get_code(&self) -> Icmpv6Code
pub fn get_code(&self) -> Icmpv6Code
Returns the ICMPv6 code field.
Sourcepub fn set_code(&mut self, icmpv6_code: Icmpv6Code)
pub fn set_code(&mut self, icmpv6_code: Icmpv6Code)
Sets the ICMPv6 code field and marks the checksum as dirty.
Sourcepub fn get_checksum(&self) -> u16
pub fn get_checksum(&self) -> u16
Returns the serialized checksum value.
Sourcepub fn set_checksum(&mut self, checksum: u16)
pub fn set_checksum(&mut self, checksum: u16)
Sets the serialized checksum value and clears the dirty flag.