Skip to content

Commit 201d99b

Browse files
bebecuecathay4t
authored andcommitted
Add IPSTATS_MIB_REASM_OVERLAPS and IPSTATS_MIB_OUTPKTS
Signed-off-by: bebecue <[email protected]>
1 parent b8a59b1 commit 201d99b

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/link/af_spec/inet6_stats.rs

+13-5
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ use netlink_packet_utils::{
55
DecodeError,
66
};
77

8-
pub(crate) const INET6_STATS_LEN: usize = 288;
8+
pub(crate) const INET6_STATS_LEN: usize = 304;
99

1010
buffer!(Inet6StatsBuffer(INET6_STATS_LEN) {
1111
num: (i64, 0..8),
1212
in_pkts: (i64, 8..16),
1313
in_octets: (i64, 16..24),
1414
in_delivers: (i64, 24..32),
1515
out_forw_datagrams: (i64, 32..40),
16-
out_pkts: (i64, 40..48),
16+
out_requests: (i64, 40..48),
1717
out_octets: (i64, 48..56),
1818
in_hdr_errors: (i64, 56..64),
1919
in_too_big_errors: (i64, 64..72),
@@ -44,6 +44,8 @@ buffer!(Inet6StatsBuffer(INET6_STATS_LEN) {
4444
in_ect1_pkts: (i64, 264..272),
4545
in_ect0_pkts: (i64, 272..280),
4646
in_ce_pkts: (i64, 280..288),
47+
reasm_overlaps: (i64, 288..296),
48+
out_pkts: (i64, 296..304),
4749
});
4850

4951
#[derive(Clone, Copy, Eq, PartialEq, Debug, Default)]
@@ -54,7 +56,7 @@ pub struct Inet6Stats {
5456
pub in_octets: i64,
5557
pub in_delivers: i64,
5658
pub out_forw_datagrams: i64,
57-
pub out_pkts: i64,
59+
pub out_requests: i64,
5860
pub out_octets: i64,
5961
pub in_hdr_errors: i64,
6062
pub in_too_big_errors: i64,
@@ -85,6 +87,8 @@ pub struct Inet6Stats {
8587
pub in_ect1_pkts: i64,
8688
pub in_ect0_pkts: i64,
8789
pub in_ce_pkts: i64,
90+
pub reasm_overlaps: i64,
91+
pub out_pkts: i64,
8892
}
8993

9094
impl<T: AsRef<[u8]>> Parseable<Inet6StatsBuffer<T>> for Inet6Stats {
@@ -95,7 +99,7 @@ impl<T: AsRef<[u8]>> Parseable<Inet6StatsBuffer<T>> for Inet6Stats {
9599
in_octets: buf.in_octets(),
96100
in_delivers: buf.in_delivers(),
97101
out_forw_datagrams: buf.out_forw_datagrams(),
98-
out_pkts: buf.out_pkts(),
102+
out_requests: buf.out_requests(),
99103
out_octets: buf.out_octets(),
100104
in_hdr_errors: buf.in_hdr_errors(),
101105
in_too_big_errors: buf.in_too_big_errors(),
@@ -126,6 +130,8 @@ impl<T: AsRef<[u8]>> Parseable<Inet6StatsBuffer<T>> for Inet6Stats {
126130
in_ect1_pkts: buf.in_ect1_pkts(),
127131
in_ect0_pkts: buf.in_ect0_pkts(),
128132
in_ce_pkts: buf.in_ce_pkts(),
133+
reasm_overlaps: buf.reasm_overlaps(),
134+
out_pkts: buf.out_pkts(),
129135
})
130136
}
131137
}
@@ -142,7 +148,7 @@ impl Emitable for Inet6Stats {
142148
buffer.set_in_octets(self.in_octets);
143149
buffer.set_in_delivers(self.in_delivers);
144150
buffer.set_out_forw_datagrams(self.out_forw_datagrams);
145-
buffer.set_out_pkts(self.out_pkts);
151+
buffer.set_out_requests(self.out_requests);
146152
buffer.set_out_octets(self.out_octets);
147153
buffer.set_in_hdr_errors(self.in_hdr_errors);
148154
buffer.set_in_too_big_errors(self.in_too_big_errors);
@@ -173,5 +179,7 @@ impl Emitable for Inet6Stats {
173179
buffer.set_in_ect1_pkts(self.in_ect1_pkts);
174180
buffer.set_in_ect0_pkts(self.in_ect0_pkts);
175181
buffer.set_in_ce_pkts(self.in_ce_pkts);
182+
buffer.set_reasm_overlaps(self.reasm_overlaps);
183+
buffer.set_out_pkts(self.out_pkts);
176184
}
177185
}

src/link/tests/statistics.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ fn test_parsing_link_statistics_on_kernel_4_18() {
339339
in_octets: 182870,
340340
in_delivers: 0,
341341
out_forw_datagrams: 0,
342-
out_pkts: 6,
342+
out_requests: 6,
343343
out_octets: 528,
344344
in_hdr_errors: 0,
345345
in_too_big_errors: 0,
@@ -370,6 +370,8 @@ fn test_parsing_link_statistics_on_kernel_4_18() {
370370
in_ect1_pkts: 0,
371371
in_ect0_pkts: 0,
372372
in_ce_pkts: 0,
373+
reasm_overlaps: 0,
374+
out_pkts: 0,
373375
}),
374376
AfSpecInet6::Icmp6Stats(Icmp6Stats {
375377
num: 6,

0 commit comments

Comments
 (0)