From a81909c2ac9c169f6b5947fd777f55aeb4310d5b Mon Sep 17 00:00:00 2001 From: asxalex Date: Wed, 10 Jul 2024 16:55:28 +0800 Subject: [PATCH] statics the tx_p2p, tx_psp, and tx_multicast --- src/network/async_main.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/network/async_main.rs b/src/network/async_main.rs index 4d1c761..3f8a71f 100644 --- a/src/network/async_main.rs +++ b/src/network/async_main.rs @@ -448,6 +448,7 @@ async fn edge_send_packet_to_net(eee: &Node, data: &[u8]) { error!("drop tun packet due to encrypt key len is 0"); return; } + let msg_size = data.len() as u64; let Ok(encrypted_flow) = aes_encrypt(encrypt_key.as_slice(), data) else { error!("failed to encrypt flow"); return; @@ -467,7 +468,7 @@ async fn edge_send_packet_to_net(eee: &Node, data: &[u8]) { error!("failed to encode to udp message"); return; }; - send_packet_to_net(eee, dstip, &flow).await; + send_packet_to_net(eee, dstip, &flow, msg_size).await; } Err(e) => { error!("failed to parse ip packet: {}", e.to_string()); @@ -475,14 +476,14 @@ async fn edge_send_packet_to_net(eee: &Node, data: &[u8]) { } } -async fn send_packet_to_net(eee: &Node, dst_ip: u32, pkt: &[u8]) { +async fn send_packet_to_net(eee: &Node, dst_ip: u32, pkt: &[u8], size: u64) { let (dest_sock, is_p2p) = find_peer_destination(eee, dst_ip).await; if is_p2p { - eee.stats.tx_p2p.fetch_add(1, Ordering::Relaxed); + eee.stats.tx_p2p.fetch_add(size, Ordering::Relaxed); } else { - eee.stats.tx_sup.fetch_add(1, Ordering::Relaxed); + eee.stats.tx_sup.fetch_add(size, Ordering::Relaxed); if is_multi_broadcast(dst_ip) { - eee.stats.tx_broadcast.fetch_add(1, Ordering::Relaxed); + eee.stats.tx_broadcast.fetch_add(size, Ordering::Relaxed); } } debug!("send packet PACKET to {}", dest_sock.to_string());