ipv6 only inetClient works on ipv10 inetGW (#2944)

This commit is contained in:
Max Ma 2024-06-03 08:27:38 +02:00 committed by GitHub
parent d9237da2f6
commit 5ea2c9f9ed
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -107,9 +107,13 @@ func UnsetInternetGw(node *models.Node) {
func SetDefaultGwForRelayedUpdate(relayed, relay models.Node, peerUpdate models.HostPeerUpdate) models.HostPeerUpdate {
if relay.InternetGwID != "" {
relayedHost, err := logic.GetHost(relayed.HostID.String())
if err != nil {
return peerUpdate
}
peerUpdate.ChangeDefaultGw = true
peerUpdate.DefaultGwIp = relay.Address.IP
if peerUpdate.DefaultGwIp == nil {
if peerUpdate.DefaultGwIp == nil || relayedHost.EndpointIP == nil {
peerUpdate.DefaultGwIp = relay.Address6.IP
}
@ -124,9 +128,14 @@ func SetDefaultGw(node models.Node, peerUpdate models.HostPeerUpdate) models.Hos
if err != nil {
return peerUpdate
}
host, err := logic.GetHost(node.HostID.String())
if err != nil {
return peerUpdate
}
peerUpdate.ChangeDefaultGw = true
peerUpdate.DefaultGwIp = inetNode.Address.IP
if peerUpdate.DefaultGwIp == nil {
if peerUpdate.DefaultGwIp == nil || host.EndpointIP == nil {
peerUpdate.DefaultGwIp = inetNode.Address6.IP
}
}
@ -155,7 +164,6 @@ func GetAllowedIpForInetNodeClient(node, peer *models.Node) []net.IPNet {
if peer.Address.IP != nil {
_, ipnet, _ := net.ParseCIDR(IPv4Network)
allowedips = append(allowedips, *ipnet)
return allowedips
}
if peer.Address6.IP != nil {