aboutgitcodebugslistschat
path: root/tap.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-08-11 15:12:29 +1000
committerStefano Brivio <sbrivio@redhat.com>2023-08-13 17:30:20 +0200
commitae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa (patch)
treea789bf944b16d49e4fc0bfba252fa63b078b0e0d /tap.h
parenteda4f1997e57d5c8b8cd668065634fd87495e908 (diff)
downloadpasst-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.tar
passt-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.tar.gz
passt-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.tar.bz2
passt-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.tar.lz
passt-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.tar.xz
passt-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.tar.zst
passt-ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa.zip
epoll: Use different epoll types for passt and pasta tap fds
Currently we have a single epoll event type for the "tap" fd, which could be either a handle on a /dev/net/tun device (pasta) or a connected Unix socket (passt). However for the two modes we call different handler functions. Simplify this a little by using different epoll types and dispatching directly to the correct handler function. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tap.h')
-rw-r--r--tap.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/tap.h b/tap.h
index dd6bfdd..021fb7c 100644
--- a/tap.h
+++ b/tap.h
@@ -77,7 +77,10 @@ void tap_send_frames(struct ctx *c, const struct iovec *iov, size_t n);
void tap_update_mac(struct tap_hdr *taph,
const unsigned char *eth_d, const unsigned char *eth_s);
void tap_listen_handler(struct ctx *c, uint32_t events);
-void tap_handler(struct ctx *c, uint32_t events, const struct timespec *now);
+void tap_handler_pasta(struct ctx *c, uint32_t events,
+ const struct timespec *now);
+void tap_handler_passt(struct ctx *c, uint32_t events,
+ const struct timespec *now);
void tap_sock_init(struct ctx *c);
#endif /* TAP_H */