diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2023-08-11 15:12:29 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-08-13 17:30:20 +0200 |
commit | ae5f6c8e1b95580ca3c2f245e02efb28ad11e2aa (patch) | |
tree | a789bf944b16d49e4fc0bfba252fa63b078b0e0d /tap.h | |
parent | eda4f1997e57d5c8b8cd668065634fd87495e908 (diff) | |
download | passt-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.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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 */ |