mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-19 16:56:39 +00:00
Add IPv6 overlay address support to client interface and engine
This commit is contained in:
@@ -194,6 +194,7 @@ func (c *Client) GetStatusDetails() *StatusDetails {
|
||||
}
|
||||
pi := PeerInfo{
|
||||
IP: p.IP,
|
||||
IPv6: p.IPv6,
|
||||
FQDN: p.FQDN,
|
||||
LocalIceCandidateEndpoint: p.LocalIceCandidateEndpoint,
|
||||
RemoteIceCandidateEndpoint: p.RemoteIceCandidateEndpoint,
|
||||
@@ -212,7 +213,7 @@ func (c *Client) GetStatusDetails() *StatusDetails {
|
||||
}
|
||||
peerInfos[n] = pi
|
||||
}
|
||||
return &StatusDetails{items: peerInfos, fqdn: fullStatus.LocalPeerState.FQDN, ip: fullStatus.LocalPeerState.IP}
|
||||
return &StatusDetails{items: peerInfos, fqdn: fullStatus.LocalPeerState.FQDN, ip: fullStatus.LocalPeerState.IP, ipv6: fullStatus.LocalPeerState.IPv6}
|
||||
}
|
||||
|
||||
// SetConnectionListener set the network connection listener
|
||||
|
||||
@@ -5,6 +5,7 @@ package NetBirdSDK
|
||||
// PeerInfo describe information about the peers. It designed for the UI usage
|
||||
type PeerInfo struct {
|
||||
IP string
|
||||
IPv6 string
|
||||
FQDN string
|
||||
LocalIceCandidateEndpoint string
|
||||
RemoteIceCandidateEndpoint string
|
||||
@@ -23,6 +24,11 @@ type PeerInfo struct {
|
||||
Routes RoutesDetails
|
||||
}
|
||||
|
||||
// GetIPv6 returns the IPv6 address of the peer
|
||||
func (p PeerInfo) GetIPv6() string {
|
||||
return p.IPv6
|
||||
}
|
||||
|
||||
// GetRoutes return with RouteDetails
|
||||
func (p PeerInfo) GetRouteDetails() *RoutesDetails {
|
||||
return &p.Routes
|
||||
@@ -57,6 +63,7 @@ type StatusDetails struct {
|
||||
items []PeerInfo
|
||||
fqdn string
|
||||
ip string
|
||||
ipv6 string
|
||||
}
|
||||
|
||||
// Add new PeerInfo to the collection
|
||||
@@ -100,3 +107,8 @@ func (array StatusDetails) GetFQDN() string {
|
||||
func (array StatusDetails) GetIP() string {
|
||||
return array.ip
|
||||
}
|
||||
|
||||
// GetIPv6 return with the IPv6 of the local peer
|
||||
func (array StatusDetails) GetIPv6() string {
|
||||
return array.ipv6
|
||||
}
|
||||
|
||||
@@ -110,6 +110,24 @@ func (p *Preferences) GetRosenpassPermissive() (bool, error) {
|
||||
return cfg.RosenpassPermissive, err
|
||||
}
|
||||
|
||||
// GetDisableIPv6 reads disable IPv6 setting from config file
|
||||
func (p *Preferences) GetDisableIPv6() (bool, error) {
|
||||
if p.configInput.DisableIPv6 != nil {
|
||||
return *p.configInput.DisableIPv6, nil
|
||||
}
|
||||
|
||||
cfg, err := profilemanager.ReadConfig(p.configInput.ConfigPath)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return cfg.DisableIPv6, err
|
||||
}
|
||||
|
||||
// SetDisableIPv6 stores the given value and waits for commit
|
||||
func (p *Preferences) SetDisableIPv6(disable bool) {
|
||||
p.configInput.DisableIPv6 = &disable
|
||||
}
|
||||
|
||||
// Commit write out the changes into config file
|
||||
func (p *Preferences) Commit() error {
|
||||
// Use DirectUpdateOrCreateConfig to avoid atomic file operations (temp file + rename)
|
||||
|
||||
Reference in New Issue
Block a user