statics the tx_p2p, tx_psp, and tx_multicast

This commit is contained in:
asxalex 2024-07-10 16:55:28 +08:00
parent ccf74b5781
commit a81909c2ac

View File

@ -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());