mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 19:08:20 +00:00
22 lines
344 B
Go
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
|
|
}
|