1
0
Fork 0
mirror of https://passt.top/passt synced 2025-06-16 20:35:33 +02:00

passt, tap: Add --fd option

This passes a fully connected stream socket to passt.

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
[sbrivio: reuse fd_tap instead of adding a new descriptor,
 imply --one-off on --fd, add to optstring and usage()]
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
Richard W.M. Jones 2022-11-17 18:49:34 +00:00 committed by Stefano Brivio
parent 15119dcf6c
commit 6b4e68383c
5 changed files with 46 additions and 4 deletions

9
tap.c
View file

@ -1069,6 +1069,15 @@ void tap_sock_init(struct ctx *c)
}
if (c->fd_tap != -1) {
if (c->one_off) { /* Passed as --fd */
struct epoll_event ev = { 0 };
ev.data.fd = c->fd_tap;
ev.events = EPOLLIN | EPOLLET | EPOLLRDHUP;
epoll_ctl(c->epollfd, EPOLL_CTL_ADD, c->fd_tap, &ev);
return;
}
epoll_ctl(c->epollfd, EPOLL_CTL_DEL, c->fd_tap, NULL);
close(c->fd_tap);
c->fd_tap = -1;