soe_network_parser_lib/modules/
pcap_struct.rs1use serde_derive::Deserialize;
2use serde_derive::Serialize;
3use serde_json::Value;
4#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct Packet {
7 #[serde(rename = "_index")]
8 pub index: String,
9 #[serde(rename = "_type")]
10 pub type_field: String,
11 #[serde(rename = "_score")]
12 pub score: Value,
13 #[serde(rename = "_source")]
14 pub source: Source,
15}
16
17#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
18#[serde(rename_all = "camelCase")]
19pub struct Source {
20 pub layers: Layers,
21}
22
23#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub struct Layers {
26 pub raw: String,
27 pub udp: Option<Udp>,
28 pub data: Option<Data>,
29}
30
31#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct IpDsfieldTree {
34 #[serde(rename = "ip.dsfield.dscp")]
35 pub ip_dsfield_dscp: String,
36 #[serde(rename = "ip.dsfield.ecn")]
37 pub ip_dsfield_ecn: String,
38}
39
40#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct IpFlagsTree {
43 #[serde(rename = "ip.flags.rb")]
44 pub ip_flags_rb: String,
45 #[serde(rename = "ip.flags.df")]
46 pub ip_flags_df: String,
47 #[serde(rename = "ip.flags.mf")]
48 pub ip_flags_mf: String,
49}
50
51#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
52#[serde(rename_all = "camelCase")]
53pub struct Udp {
54 #[serde(rename = "udp.srcport")]
55 pub udp_srcport: String,
56 #[serde(rename = "udp.dstport")]
57 pub udp_dstport: String,
58 #[serde(rename = "udp.length")]
59 pub udp_length: String,
60 #[serde(rename = "udp.checksum")]
61 pub udp_checksum: String,
62 #[serde(rename = "udp.checksum.status")]
63 pub udp_checksum_status: String,
64 #[serde(rename = "udp.stream")]
65 pub udp_stream: String,
66 #[serde(rename = "Timestamps")]
67 pub timestamps: Timestamps,
68 #[serde(rename = "udp.payload")]
69 pub udp_payload: String,
70}
71
72#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
73#[serde(rename_all = "camelCase")]
74pub struct Timestamps {
75 #[serde(rename = "udp.time_relative")]
76 pub udp_time_relative: String,
77 #[serde(rename = "udp.time_delta")]
78 pub udp_time_delta: String,
79}
80
81#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
82#[serde(rename_all = "camelCase")]
83pub struct Data {
84 #[serde(rename = "data.data")]
85 pub data_data: String,
86 #[serde(rename = "data.len")]
87 pub data_len: String,
88}