upgrade to ipv6 if available
This commit is contained in:
parent
1de337f3d6
commit
ebf0ea3a04
@ -550,7 +550,7 @@ pub async fn check_peer_registration_needed(
|
|||||||
_v6_info: &Option<V6Info>,
|
_v6_info: &Option<V6Info>,
|
||||||
peer_sock: &SdlanSock,
|
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 last_seen;
|
||||||
let now;
|
let now;
|
||||||
match p {
|
match p {
|
||||||
@ -561,7 +561,7 @@ pub async fn check_peer_registration_needed(
|
|||||||
return;
|
return;
|
||||||
// unimplemented!();
|
// unimplemented!();
|
||||||
}
|
}
|
||||||
Some(k) => {
|
Some(ref mut k) => {
|
||||||
// let mut ipv4_to_ipv6 = false;
|
// let mut ipv4_to_ipv6 = false;
|
||||||
now = get_current_timestamp();
|
now = get_current_timestamp();
|
||||||
if !from_sn {
|
if !from_sn {
|
||||||
@ -569,7 +569,13 @@ pub async fn check_peer_registration_needed(
|
|||||||
}
|
}
|
||||||
let origin_family = k.sock.family;
|
let origin_family = k.sock.family;
|
||||||
if origin_family != peer_sock.family {
|
if origin_family != peer_sock.family {
|
||||||
return;
|
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 {
|
if peer_sock.family == AF_INET6 && k.sock.read().unwrap().family == AF_INET {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user