flowparser_sflow/flow_records/
extended_switch.rs1use nom::IResult;
2use nom::number::complete::be_u32;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
6pub struct ExtendedSwitch {
7 pub src_vlan: u32,
8 pub src_priority: u32,
9 pub dst_vlan: u32,
10 pub dst_priority: u32,
11}
12
13pub(crate) fn parse_extended_switch(input: &[u8]) -> IResult<&[u8], ExtendedSwitch> {
14 let (input, src_vlan) = be_u32(input)?;
15 let (input, src_priority) = be_u32(input)?;
16 let (input, dst_vlan) = be_u32(input)?;
17 let (input, dst_priority) = be_u32(input)?;
18
19 Ok((
20 input,
21 ExtendedSwitch {
22 src_vlan,
23 src_priority,
24 dst_vlan,
25 dst_priority,
26 },
27 ))
28}