From c2caf188516d17c1cc00d27325d8dd3a8215d267 Mon Sep 17 00:00:00 2001 From: jmaralo Date: Mon, 9 Dec 2024 21:02:19 +0100 Subject: [PATCH 1/3] make UDP filter also recognize packets between boards --- backend/cmd/main.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 8df788305..ba888d416 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -560,11 +560,15 @@ func getIPIPfilter() string { func getUDPFilter(addrs []net.IP, backendAddr net.IP, port uint16) string { udpPort := fmt.Sprintf("udp port %d", port) - udpAddrs := common.Map(addrs, func(addr net.IP) string { + srcUdpAddrs := common.Map(addrs, func(addr net.IP) string { return fmt.Sprintf("(src host %s)", addr) }) + dstUdpAddrs := common.Map(addrs, func(addr net.IP) string { + return fmt.Sprintf("(dst host %s)", addr) + }) - udpAddrsStr := strings.Join(udpAddrs, " or ") + srcUdpAddrsStr := strings.Join(srcUdpAddrs, " or ") + dstUdpAddrsStr := strings.Join(dstUdpAddrs, " or ") - return fmt.Sprintf("(%s) and (%s) and (dst host %s)", udpPort, udpAddrsStr, backendAddr) + return fmt.Sprintf("(%s) and (%s) and (%s or dst host %s)", udpPort, srcUdpAddrsStr, dstUdpAddrsStr, backendAddr) } From a277689a00687a0b30354b07ee2c867ce97ecaea Mon Sep 17 00:00:00 2001 From: jmaralo Date: Mon, 9 Dec 2024 21:09:43 +0100 Subject: [PATCH 2/3] add missing parenthesis --- backend/cmd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index ba888d416..b76a8e2b6 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -570,5 +570,5 @@ func getUDPFilter(addrs []net.IP, backendAddr net.IP, port uint16) string { srcUdpAddrsStr := strings.Join(srcUdpAddrs, " or ") dstUdpAddrsStr := strings.Join(dstUdpAddrs, " or ") - return fmt.Sprintf("(%s) and (%s) and (%s or dst host %s)", udpPort, srcUdpAddrsStr, dstUdpAddrsStr, backendAddr) + return fmt.Sprintf("(%s) and (%s) and (%s or (dst host %s))", udpPort, srcUdpAddrsStr, dstUdpAddrsStr, backendAddr) } From 8365c71145870e3ccf1cc7860822f9bb2c8dd658 Mon Sep 17 00:00:00 2001 From: jmaralo Date: Mon, 9 Dec 2024 21:14:29 +0100 Subject: [PATCH 3/3] fix firmware making decisions on the ports without consent --- backend/cmd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index b76a8e2b6..01a35b5b2 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -559,7 +559,7 @@ func getIPIPfilter() string { } func getUDPFilter(addrs []net.IP, backendAddr net.IP, port uint16) string { - udpPort := fmt.Sprintf("udp port %d", port) + udpPort := "udp" // TODO use proper ports for the filter srcUdpAddrs := common.Map(addrs, func(addr net.IP) string { return fmt.Sprintf("(src host %s)", addr) })