Skip to main content

flowparser_sflow/flow_records/
extended_decapsulate.rs

1use nom::IResult;
2use nom::number::complete::be_u32;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
6pub struct ExtendedDecapsulateEgress {
7    pub inner_header_offset: u32,
8}
9
10pub(crate) fn parse_extended_decapsulate_egress(
11    input: &[u8],
12) -> IResult<&[u8], ExtendedDecapsulateEgress> {
13    let (input, inner_header_offset) = be_u32(input)?;
14
15    Ok((
16        input,
17        ExtendedDecapsulateEgress {
18            inner_header_offset,
19        },
20    ))
21}
22
23#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
24pub struct ExtendedDecapsulateIngress {
25    pub inner_header_offset: u32,
26}
27
28pub(crate) fn parse_extended_decapsulate_ingress(
29    input: &[u8],
30) -> IResult<&[u8], ExtendedDecapsulateIngress> {
31    let (input, inner_header_offset) = be_u32(input)?;
32
33    Ok((
34        input,
35        ExtendedDecapsulateIngress {
36            inner_header_offset,
37        },
38    ))
39}