diff --git a/src/network/packet.rs b/src/network/packet.rs index 4f46f6b..9fd4296 100644 --- a/src/network/packet.rs +++ b/src/network/packet.rs @@ -631,16 +631,6 @@ async fn handle_tun_packet( pkt: SdlData, //orig_sender: &SdlanSock ) { let now = get_current_timestamp(); - if from_sn { - if is_multi_broadcast(pkt.dst_ip) { - eee.stats.rx_broadcast.fetch_add(1, Ordering::Relaxed); - } - eee.stats.rx_sup.fetch_add(1, Ordering::Relaxed); - eee.stats.last_sup.store(now, Ordering::Relaxed); - } else { - eee.stats.rx_p2p.fetch_add(1, Ordering::Relaxed); - eee.stats.last_p2p.store(now, Ordering::Relaxed); - } let payload = pkt.data; let key = eee.get_encrypt_key(); @@ -656,6 +646,20 @@ async fn handle_tun_packet( return; } let data = origin.unwrap(); + let msg_size = data.len() as u64; + + if from_sn { + if is_multi_broadcast(pkt.dst_ip) { + eee.stats + .rx_broadcast + .fetch_add(msg_size, Ordering::Relaxed); + } + eee.stats.rx_sup.fetch_add(msg_size, Ordering::Relaxed); + eee.stats.last_sup.store(now, Ordering::Relaxed); + } else { + eee.stats.rx_p2p.fetch_add(msg_size, Ordering::Relaxed); + eee.stats.last_p2p.store(now, Ordering::Relaxed); + } debug!("got packet from sock, will send to tun"); match IpHeaders::from_slice(&data) {