skip REGISTER SUPER and REGISTER from self
This commit is contained in:
parent
e32c640466
commit
2b8a536151
@ -391,6 +391,12 @@ async fn handle_packet_register_ack(
|
|||||||
return Ok(());
|
return Ok(());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let via_multicast = is_multi_broadcast(&dst_mac);
|
||||||
|
if via_multicast && src_mac == eee.device_config.get_mac() {
|
||||||
|
debug!("skipping register ack from self");
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
debug!(
|
debug!(
|
||||||
"Rx REGISTER ACK from {} [{}] to {} via {}",
|
"Rx REGISTER ACK from {} [{}] to {} via {}",
|
||||||
mac_to_string(&src_mac),
|
mac_to_string(&src_mac),
|
||||||
@ -661,10 +667,7 @@ async fn register_with_new_peer(
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn register_with_local_peers(eee: &Node) {
|
async fn register_with_local_peers(eee: &Node) {
|
||||||
if eee.config.allow_p2p {
|
|
||||||
debug!("send register to multicast sock");
|
|
||||||
send_register(eee, &eee.multicast_sock, NULL_MAC, &None).await;
|
send_register(eee, &eee.multicast_sock, NULL_MAC, &None).await;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn send_register(eee: &Node, sock: &SdlanSock, mac: Mac, _v6_info: &Option<V6Info>) {
|
async fn send_register(eee: &Node, sock: &SdlanSock, mac: Mac, _v6_info: &Option<V6Info>) {
|
||||||
|
|||||||
@ -352,8 +352,8 @@ impl TunTapPacketHandler for Iface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("got ip packet");
|
// println!("got ip packet");
|
||||||
println!("got data: {:?}", rest);
|
// println!("got data: {:?}", rest);
|
||||||
match edge.device.send(rest) {
|
match edge.device.send(rest) {
|
||||||
Ok(size) => {
|
Ok(size) => {
|
||||||
debug!("send to tun {} bytes", size);
|
debug!("send to tun {} bytes", size);
|
||||||
|
|||||||
@ -5,7 +5,7 @@ use etherparse::Ethernet2Header;
|
|||||||
use once_cell::sync::OnceCell;
|
use once_cell::sync::OnceCell;
|
||||||
use sdlan_sn_rs::{
|
use sdlan_sn_rs::{
|
||||||
config::SDLAN_DEFAULT_TTL,
|
config::SDLAN_DEFAULT_TTL,
|
||||||
utils::{aes_encrypt, get_current_timestamp, ip_to_string, mac_to_string, Mac},
|
utils::{aes_encrypt, get_current_timestamp, ip_to_string, Mac},
|
||||||
};
|
};
|
||||||
|
|
||||||
use tracing::error;
|
use tracing::error;
|
||||||
@ -14,6 +14,7 @@ use crate::{
|
|||||||
network::{form_ethernet_packet, send_packet_to_net},
|
network::{form_ethernet_packet, send_packet_to_net},
|
||||||
pb::{encode_to_udp_message, SdlData},
|
pb::{encode_to_udp_message, SdlData},
|
||||||
tcp::PacketType,
|
tcp::PacketType,
|
||||||
|
utils::mac_to_string,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::get_edge;
|
use super::get_edge;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user