summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFujiApple <fujiapple852@gmail.com>2024-02-10 17:10:19 +0800
committerFujiApple <fujiapple852@gmail.com>2024-02-11 23:32:11 +0800
commit7f7d91b66836f094781e00d6183f297a398247cc (patch)
tree27c49c3ee8cf449957334532f605fa42b1cbce33
parent8654097f81444acbb5e8bb875d2f06151c260a66 (diff)
test(net): added ipv4 test `test_dispatch_udp_probe_paris_privileged`
-rw-r--r--src/tracing/net/ipv4.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/tracing/net/ipv4.rs b/src/tracing/net/ipv4.rs
index 595db7f..0472ecd 100644
--- a/src/tracing/net/ipv4.rs
+++ b/src/tracing/net/ipv4.rs
@@ -719,6 +719,50 @@ mod tests {
}
#[test]
+ fn test_dispatch_udp_probe_paris_privileged() -> anyhow::Result<()> {
+ let probe = make_udp_probe(123, 456);
+ let src_addr = Ipv4Addr::from_str("1.2.3.4")?;
+ let dest_addr = Ipv4Addr::from_str("5.6.7.8")?;
+ let privilege_mode = PrivilegeMode::Privileged;
+ // packet size and payload pattern are ignored for paris mode as a
+ // fixed two byte payload is used to hold the sequence
+ let packet_size = PacketSize(300);
+ let payload_pattern = PayloadPattern(0xaa);
+ let multipath_strategy = MultipathStrategy::Paris;
+ let ipv4_byte_order = platform::PlatformIpv4FieldByteOrder::Network;
+ let expected_send_to_buf = hex_literal::hex!(
+ "
+ 45 00 00 1e 04 d2 40 00 0a 11 00 00 01 02 03 04
+ 05 06 07 08 00 7b 01 c8 00 0a 80 e8 6c 9b
+ "
+ );
+ let expected_send_to_addr = SocketAddr::new(IpAddr::V4(dest_addr), 456);
+
+ let mut mocket = MockSocket::new();
+ mocket
+ .expect_send_to()
+ .with(
+ predicate::eq(expected_send_to_buf),
+ predicate::eq(expected_send_to_addr),
+ )
+ .times(1)
+ .returning(|_, _| Ok(()));
+
+ dispatch_udp_probe(
+ &mut mocket,
+ probe,
+ src_addr,
+ dest_addr,
+ privilege_mode,
+ packet_size,
+ payload_pattern,
+ multipath_strategy,
+ ipv4_byte_order,
+ )?;
+ Ok(())
+ }
+
+ #[test]
fn test_dispatch_udp_probe_invalid_packet_size_low() -> anyhow::Result<()> {
let probe = make_udp_probe(123, 456);
let src_addr = Ipv4Addr::from_str("1.2.3.4")?;