summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--wgengine/filter/filter.go5
-rw-r--r--wgengine/filter/filter_test.go6
2 files changed, 10 insertions, 1 deletions
diff --git a/wgengine/filter/filter.go b/wgengine/filter/filter.go
index d9d721baf..4875b40c2 100644
--- a/wgengine/filter/filter.go
+++ b/wgengine/filter/filter.go
@@ -349,7 +349,10 @@ func omitDropLogging(p *packet.ParsedPacket, dir direction) bool {
if string(dst) == ipv6AllMLDv2CapableRouters {
return true
}
- panic(fmt.Sprintf("Got proto=%2x; src=%x dst=%x", int(p.IPProto), src, dst))
+ // Actually, just catch all multicast.
+ if dst[0] == 0xff {
+ return true
+ }
}
}
return false
diff --git a/wgengine/filter/filter_test.go b/wgengine/filter/filter_test.go
index 5f8c64f67..c95f43897 100644
--- a/wgengine/filter/filter_test.go
+++ b/wgengine/filter/filter_test.go
@@ -343,6 +343,12 @@ func TestOmitDropLogging(t *testing.T) {
dir: out,
want: true,
},
+ {
+ name: "v6_udp_multicast",
+ pkt: parseHexPkt(t, "60 00 00 00 00 00 11 00 fe800000000000007dc6bc04499262a3 ff120000000000000000000000008384"),
+ dir: out,
+ want: true,
+ },
}
for _, tt := range tests {