Skip to content

Commit 43ffaef

Browse files
authored
Merge pull request #184 from HyperloopUPV-H8/features/proper-udp-filter
make UDP filter also recognize packets between boards
2 parents 28619ba + 8365c71 commit 43ffaef

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

backend/cmd/main.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -559,12 +559,16 @@ func getIPIPfilter() string {
559559
}
560560

561561
func getUDPFilter(addrs []net.IP, backendAddr net.IP, port uint16) string {
562-
udpPort := fmt.Sprintf("udp port %d", port)
563-
udpAddrs := common.Map(addrs, func(addr net.IP) string {
562+
udpPort := "udp" // TODO use proper ports for the filter
563+
srcUdpAddrs := common.Map(addrs, func(addr net.IP) string {
564564
return fmt.Sprintf("(src host %s)", addr)
565565
})
566+
dstUdpAddrs := common.Map(addrs, func(addr net.IP) string {
567+
return fmt.Sprintf("(dst host %s)", addr)
568+
})
566569

567-
udpAddrsStr := strings.Join(udpAddrs, " or ")
570+
srcUdpAddrsStr := strings.Join(srcUdpAddrs, " or ")
571+
dstUdpAddrsStr := strings.Join(dstUdpAddrs, " or ")
568572

569-
return fmt.Sprintf("(%s) and (%s) and (dst host %s)", udpPort, udpAddrsStr, backendAddr)
573+
return fmt.Sprintf("(%s) and (%s) and (%s or (dst host %s))", udpPort, srcUdpAddrsStr, dstUdpAddrsStr, backendAddr)
570574
}

0 commit comments

Comments
 (0)