nfsense/internal/util/net.go
2023-04-23 19:40:58 +02:00

22 lines
344 B
Go

package util
import (
"net"
)
func BroadcastAddr(n net.IPNet) net.IP {
var broadcast net.IP
var length int
if n.IP.To4() != nil {
broadcast = net.ParseIP("0.0.0.0").To4()
length = 4
} else {
broadcast = net.ParseIP("::")
length = 16
}
for i := 0; i < length; i++ {
broadcast[i] = n.IP[i] | ^n.Mask[i]
}
return broadcast
}