Skip to content

Commit c998da9

Browse files
committed
Fix isSubnet after netlink library changes
1 parent 0fa35eb commit c998da9

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

daemon/routes/netlink/retriever.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func routeCmp(a netlink.Route, b netlink.Route) int {
163163
// isSubnet returns true if network contains whole range of subnet. Otherwise, returns false.
164164
func isSubnet(network, subnet *net.IPNet) bool {
165165
// nil is treated as an IP with 0 prefix
166-
if network == nil {
166+
if network == nil || network.IP.Equal(net.IPv4zero) || network.IP.Equal(net.IPv6zero) {
167167
return true
168168
}
169169
if subnet == nil {

daemon/routes/netlink/retriever_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ func TestIsSubnet(t *testing.T) {
230230
{"IPv6 subnet outside network", "2001:db8::/32", "2001:db9::/48", false},
231231
{"IPv6 subnet larger than network", "2001:db8::/48", "2001:db8::/32", false},
232232
{"nil network (default route)", "", "192.168.1.0/24", true},
233+
{"zero IPv4 network", "0.0.0.0/0", "192.168.1.0/24", true},
234+
{"zero IPv6 network", "::/0", "192.168.1.0/24", true},
233235
{"nil subnet", "192.168.1.0/24", "", false},
234236
}
235237

0 commit comments

Comments
 (0)