aboutgitcodebugslistschat
path: root/Makefile
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-07-18 15:26:49 +1000
committerStefano Brivio <sbrivio@redhat.com>2024-07-19 18:33:48 +0200
commitb7ad19347fd7e5b0be740159fcb822e6b55ab255 (patch)
treeacbdeb1753b54cc066aaf2e0b7f0185c57fc4474 /Makefile
parent8126f7a66009f3caaf54ed5044b0eabd5ced61a2 (diff)
downloadpasst-b7ad19347fd7e5b0be740159fcb822e6b55ab255.tar
passt-b7ad19347fd7e5b0be740159fcb822e6b55ab255.tar.gz
passt-b7ad19347fd7e5b0be740159fcb822e6b55ab255.tar.bz2
passt-b7ad19347fd7e5b0be740159fcb822e6b55ab255.tar.lz
passt-b7ad19347fd7e5b0be740159fcb822e6b55ab255.tar.xz
passt-b7ad19347fd7e5b0be740159fcb822e6b55ab255.tar.zst
passt-b7ad19347fd7e5b0be740159fcb822e6b55ab255.zip
udp: Find or create flows for datagrams from tap interface
Currently we create flows for datagrams from socket interfaces, and use them to direct "spliced" (socket to socket) datagrams. We don't yet match datagrams from the tap interface to existing flows, nor create new flows for them. Add that functionality, matching datagrams from tap to existing flows when they exist, or creating new ones. As with spliced flows, when creating a new flow from tap to socket, we create a new connected socket to receive reply datagrams attached to that flow specifically. We extend udp_flow_sock_handler() to handle reply packets bound for tap rather than another socket. For non-obvious reasons (perhaps increased stack usage?), this caused a failure for me when running under valgrind, because valgrind invoked rt_sigreturn which is not in our seccomp filter. Since we already allow rt_sigaction and others in the valgrind target, it seems reasonable to add rt_sigreturn as well. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 92cbd5a..bd504d2 100644
--- a/Makefile
+++ b/Makefile
@@ -128,7 +128,7 @@ qrap: $(QRAP_SRCS) passt.h
$(CC) $(FLAGS) $(CFLAGS) $(CPPFLAGS) $(QRAP_SRCS) -o qrap $(LDFLAGS)
valgrind: EXTRA_SYSCALLS += rt_sigprocmask rt_sigtimedwait rt_sigaction \
- getpid gettid kill clock_gettime mmap \
+ rt_sigreturn getpid gettid kill clock_gettime mmap \
munmap open unlink gettimeofday futex
valgrind: FLAGS += -g -DVALGRIND
valgrind: all