Skip to content

Commit

Permalink
Fix isSubnet after netlink library changes
Browse files Browse the repository at this point in the history
  • Loading branch information
devzbysiu committed Dec 13, 2024
1 parent 0fa35eb commit c998da9
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 1 addition & 1 deletion daemon/routes/netlink/retriever.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ func routeCmp(a netlink.Route, b netlink.Route) int {
// isSubnet returns true if network contains whole range of subnet. Otherwise, returns false.
func isSubnet(network, subnet *net.IPNet) bool {
// nil is treated as an IP with 0 prefix
if network == nil {
if network == nil || network.IP.Equal(net.IPv4zero) || network.IP.Equal(net.IPv6zero) {
return true
}
if subnet == nil {
Expand Down
2 changes: 2 additions & 0 deletions daemon/routes/netlink/retriever_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,8 @@ func TestIsSubnet(t *testing.T) {
{"IPv6 subnet outside network", "2001:db8::/32", "2001:db9::/48", false},
{"IPv6 subnet larger than network", "2001:db8::/48", "2001:db8::/32", false},
{"nil network (default route)", "", "192.168.1.0/24", true},
{"zero IPv4 network", "0.0.0.0/0", "192.168.1.0/24", true},
{"zero IPv6 network", "::/0", "192.168.1.0/24", true},
{"nil subnet", "192.168.1.0/24", "", false},
}

Expand Down

0 comments on commit c998da9

Please sign in to comment.