Commit 4fbccda1 authored by Rob Adams's avatar Rob Adams

Add IP version check

parent fec54c23
......@@ -210,6 +210,9 @@ func (n Network) Contains(nn NetworkNumber) bool {
// Contains returns true if Network covers o, false otherwise
func (n Network) Covers(o Network) bool {
if len(n.Number) != len(o.Number) {
return false
}
nMaskSize, _ := n.IPNet.Mask.Size()
oMaskSize, _ := o.IPNet.Mask.Size()
return n.Contains(o.Number) && nMaskSize <= oMaskSize
......
......@@ -424,6 +424,8 @@ func TestNetworkCovers(t *testing.T) {
{"10.0.0.0/16", "10.0.0.0/15", false, "prefix false"},
{"10.0.0.0/15", "10.0.0.0/16", true, "prefix true"},
{"10.0.0.0/15", "10.0.0.0/15", true, "same"},
{"10::0/15", "10.0.0.0/15", false, "ip version mismatch"},
{"10::0/15", "10::0/16", true, "ipv6"},
}
for _, tc := range cases {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment