frameassembly 1.0.0

A Domain-Specific Language (DSL) for writing deterministic network traffic to .pcap files.
Documentation
//! IPsec Encapsulating Security Payload (ESP) AST definitions.

use alloc::vec::Vec;
use core::marker::PhantomData;

/// IPsec ESP (RFC 4303) specification.
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct IpsecSpec<'a> {
    /// Security Parameters Index.
    pub spi: Option<u32>,
    /// Sequence Number.
    pub seq: Option<u32>,
    /// Initialization Vector bytes.
    pub iv: Option<Vec<u8>>,
    /// Integrity Check Value bytes.
    pub icv: Option<Vec<u8>>,
    /// Next Header protocol number.
    pub next_header: Option<u8>,
    /// Optional phantom reference.
    pub _marker: PhantomData<&'a ()>,
}

/// Type alias for RFC 4303 ESP specification.
pub type EspSpec<'a> = IpsecSpec<'a>;