upgrade to ipv6 if available

This commit is contained in:
alex 2026-06-30 09:25:38 +08:00
parent 1de337f3d6
commit ebf0ea3a04

View File

@ -550,7 +550,7 @@ pub async fn check_peer_registration_needed(
_v6_info: &Option<V6Info>,
peer_sock: &SdlanSock,
) {
let p = eee.known_peers.peers.get(&src_mac);
let mut p = eee.known_peers.peers.get_mut(&src_mac);
let last_seen;
let now;
match p {
@ -561,7 +561,7 @@ pub async fn check_peer_registration_needed(
return;
// unimplemented!();
}
Some(k) => {
Some(ref mut k) => {
// let mut ipv4_to_ipv6 = false;
now = get_current_timestamp();
if !from_sn {
@ -569,8 +569,14 @@ pub async fn check_peer_registration_needed(
}
let origin_family = k.sock.family;
if origin_family != peer_sock.family {
if peer_sock.family == AF_INET6 && origin_family == AF_INET {
info!("Upgrading peer {} from IPv4 to IPv6 P2P", mac_to_string(&src_mac));
k.sock = peer_sock.deepcopy();
k.last_seen.store(now, Ordering::Relaxed);
} else {
return;
}
}
/*
if peer_sock.family == AF_INET6 && k.sock.read().unwrap().family == AF_INET {
println!("changing to ipv6");