Skip to content

Commit 5fdb312

Browse files
mikemiles-devMichael Mileusnich
and
Michael Mileusnich
authored
Removed body for v5 and V7 (#51)
* Removed body for v5 and V7 * Remove body --------- Co-authored-by: Michael Mileusnich <[email protected]>
1 parent 61a35b7 commit 5fdb312

21 files changed

+97
-120
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "netflow_parser"
33
description = "Parser for Netflow Cisco V5, V7, V9, IPFIX"
4-
version = "0.2.7"
4+
version = "0.2.8"
55
edition = "2021"
66
77
license = "MIT OR Apache-2.0"

RELEASES.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 0.2.8
2+
* Removed body for V5, V7. Only has Sets now.
3+
14
# 0.2.7
25
* Added support for multiple flowsets for V5, V7.
36

SECURITY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
| Version | Supported |
66
| ------- | ------------------ |
7+
| 0.2.8 | :white_check_mark: |
78
| 0.2.7 | :white_check_mark: |
89
| 0.2.6 | :white_check_mark: |
910
| 0.2.5 | :white_check_mark: |

src/snapshots/netflow_parser__tests__tests__it_creates_error.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_creates_error.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
88
- 12
99
- 13
1010
- 14
11-

src/snapshots/netflow_parser__tests__tests__it_parses_ipfix.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_ipfix.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
4343
Ip4Addr: 0.2.0.2
4444
DestinationIpv4address:
4545
Ip4Addr: 0.1.2.3
46-

src/snapshots/netflow_parser__tests__tests__it_parses_ipfix_data_cached_template.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_ipfix_data_cached_template.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@ expression: parser.parse_bytes(&packet)
2020
DataNumber: 8
2121
SourceIpv4address:
2222
Ip4Addr: 0.0.1.1
23-

src/snapshots/netflow_parser__tests__tests__it_parses_ipfix_options_template.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_ipfix_options_template.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
2929
- field_type_number: 32810
3030
field_type: ExportedFlowRecordTotalCount
3131
field_length: 2
32-

src/snapshots/netflow_parser__tests__tests__it_parses_ipfix_options_template_with_data.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_ipfix_options_template_with_data.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
4545
DataNumber: 7710
4646
Enterprise:
4747
DataNumber: 2
48-

src/snapshots/netflow_parser__tests__tests__it_parses_ipfix_with_no_template_fields_raises_error.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_ipfix_with_no_template_fields_raises_error.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,3 @@ expression: parser.parse_bytes(&packet)
2525
- 0
2626
- 1
2727
- 1
28-
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
source: src/tests.rs
3+
expression: "NetflowParser::default().parse_bytes(&packet)"
4+
---
5+
- V5:
6+
header:
7+
version: 5
8+
count: 1
9+
sys_up_time:
10+
secs: 50332
11+
nanos: 672000000
12+
unix_secs: 83887623
13+
unix_nsecs: 134807553
14+
flow_sequence: 33752069
15+
engine_type: 6
16+
engine_id: 7
17+
sampling_interval: 2057
18+
sets:
19+
- src_addr: 0.1.2.3
20+
dst_addr: 4.5.6.7
21+
next_hop: 8.9.0.1
22+
input: 515
23+
output: 1029
24+
d_pkts: 101124105
25+
d_octets: 66051
26+
first:
27+
secs: 67438
28+
nanos: 87000000
29+
last:
30+
secs: 134807
31+
nanos: 553000000
32+
src_port: 515
33+
dst_port: 1029
34+
pad1: 6
35+
tcp_flags: 7
36+
protocol_number: 8
37+
protocol_type: Egp
38+
tos: 9
39+
src_as: 1
40+
dst_as: 515
41+
src_mask: 4
42+
dst_mask: 5
43+
pad2: 1543
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
source: src/tests.rs
3+
expression: "NetflowParser::default().parse_bytes(&packet)"
4+
---
5+
- V7:
6+
header:
7+
version: 7
8+
count: 1
9+
sys_up_time:
10+
secs: 50332
11+
nanos: 672000000
12+
unix_secs: 83887623
13+
unix_nsecs: 134807553
14+
flow_sequence: 33752069
15+
reserved: 101124105
16+
sets:
17+
- src_addr: 0.1.2.3
18+
dst_addr: 4.5.6.7
19+
next_hop: 8.9.0.1
20+
input: 515
21+
output: 1029
22+
d_pkts: 101124105
23+
d_octets: 66051
24+
first:
25+
secs: 67438
26+
nanos: 87000000
27+
last:
28+
secs: 134807
29+
nanos: 553000000
30+
src_port: 515
31+
dst_port: 1029
32+
flags_fields_valid: 6
33+
tcp_flags: 7
34+
protocol_number: 8
35+
protocol_type: Egp
36+
tos: 9
37+
src_as: 1
38+
dst_as: 515
39+
src_mask: 4
40+
dst_mask: 5
41+
flags_fields_invalid: 1543
42+
router_src: 8.9.0.1

src/snapshots/netflow_parser__tests__tests__it_parses_v9.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_v9.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
3131
DataNumber: 151126788
3232
Ipv4SrcAddr:
3333
Ip4Addr: 9.9.9.8
34-

src/snapshots/netflow_parser__tests__tests__it_parses_v9_data_cached_template.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_v9_data_cached_template.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,3 @@ expression: parser.parse_bytes(&packet)
1919
DataNumber: 151126788
2020
Ipv4SrcAddr:
2121
Ip4Addr: 9.9.9.8
22-

src/snapshots/netflow_parser__tests__tests__it_parses_v9_many_flows.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_v9_many_flows.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
3535
DataNumber: 151126788
3636
Ipv4SrcAddr:
3737
Ip4Addr: 9.9.9.8
38-

src/snapshots/netflow_parser__tests__tests__it_parses_v9_options_template.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_v9_options_template.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,3 @@ expression: "NetflowParser::default().parse_bytes(&packet)"
4343
- field_type: FlowActiveTimeout
4444
field_value:
4545
- 1
46-

src/snapshots/netflow_parser__tests__tests__it_parses_v9_with_no_template_fields_raises_error.snap renamed to src/snapshots/netflow_parser__tests__base_tests__it_parses_v9_with_no_template_fields_raises_error.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@ expression: parser.parse_bytes(&packet)
2020
- 0
2121
- 1
2222
- 1
23-

src/snapshots/netflow_parser__tests__tests__it_parses_v5.snap

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/snapshots/netflow_parser__tests__tests__it_parses_v7.snap

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/static_versions/v5.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ use std::time::Duration;
1919
pub struct V5 {
2020
/// V5 Header
2121
pub header: Header,
22-
/// V5 Body
23-
#[nom(Parse = "{ |i| Body::parse(i, header.count) }")]
24-
pub body: Body,
22+
/// V5 Sets
23+
#[nom(Count = "header.count")]
24+
pub sets: Vec<FlowSet>,
2525
}
2626

2727
#[derive(Debug, PartialEq, Eq, Clone, Copy, Serialize, Nom)]
@@ -60,13 +60,6 @@ pub struct Header {
6060
pub sampling_interval: u16,
6161
}
6262

63-
#[derive(Debug, PartialEq, Eq, Clone, Serialize, Nom)]
64-
#[nom(ExtraArgs(count: u16))]
65-
pub struct Body {
66-
#[nom(Count = "count")]
67-
set: Vec<FlowSet>,
68-
}
69-
7063
#[derive(Debug, PartialEq, Eq, Clone, Serialize, Nom)]
7164
pub struct FlowSet {
7265
/// Source IP address

src/static_versions/v7.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ use std::time::Duration;
1919
pub struct V7 {
2020
/// V7 Header
2121
pub header: Header,
22-
/// V7 Body
23-
#[nom(Parse = "{ |i| Body::parse(i, header.count) }")]
24-
pub body: Body,
22+
/// V7 Sets
23+
#[nom(Count = "header.count")]
24+
pub sets: Vec<FlowSet>,
2525
}
2626

2727
#[derive(Debug, PartialEq, Eq, Clone, Copy, Nom, Serialize)]
@@ -56,13 +56,6 @@ pub struct Header {
5656
pub reserved: u32,
5757
}
5858

59-
#[derive(Debug, PartialEq, Eq, Clone, Serialize, Nom)]
60-
#[nom(ExtraArgs(count: u16))]
61-
pub struct Body {
62-
#[nom(Count = "count")]
63-
set: Vec<FlowSet>,
64-
}
65-
6659
#[derive(Debug, PartialEq, Eq, Clone, Nom, Serialize)]
6760
pub struct FlowSet {
6861
/// Source IP address; in case of destination-only flows, set to zero.

src/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#[cfg(test)]
2-
mod tests {
2+
mod base_tests {
33

44
use crate::variable_versions::ipfix::{
55
Template as IPFixTemplate, TemplateField as IPFixTemplateField,

0 commit comments

Comments
 (0)