diff --git a/peer/app.go b/peer/app.go index 5f44f39..3233ef5 100644 --- a/peer/app.go +++ b/peer/app.go @@ -3,9 +3,11 @@ package peer import ( "fmt" "log" + "maps" "net/netip" "os" "os/signal" + "sort" "strings" "syscall" "time" @@ -122,8 +124,17 @@ func (a *App) logNetworkState() { fmt.Fprintf(&b, " IPv6: %v\n", a.selfV6) b.WriteString("Peers:\n") + // + peers := make([]*Peer, 0, len(a.peersByIP)) + for p := range maps.Values(a.peersByIP) { + peers = append(peers, p) + } - for _, p := range a.peersByIP { + sort.Slice(peers, func(i, j int) bool { + return peers[i].VPNIP.As4()[3] < peers[j].VPNIP.As4()[3] + }) + + for _, p := range peers { ip := p.VPNIP.As4()[3] switch p.State {