On Fri, Feb 02, 2024 at 03:11:44PM +0100, Laurent Vivier wrote: > As we are going to introduce the MODE_VU that will act like > the mode MODE_PASST, compare to MODE_PASTA rather than to add > a comparison to MODE_VU when we check for MODE_PASST. I have vague plans to make this more sensible with many of the mode checks replaced with checks on the pif type, but this looks fine for now. > Signed-off-by: Laurent Vivier Reviewed-by: David Gibson > --- > conf.c | 12 ++++++------ > isolation.c | 10 +++++----- > passt.c | 2 +- > tap.c | 12 ++++++------ > tcp_buf.c | 2 +- > udp.c | 2 +- > 6 files changed, 20 insertions(+), 20 deletions(-) > > diff --git a/conf.c b/conf.c > index 93bfda331349..b6a2a1f0fdc3 100644 > --- a/conf.c > +++ b/conf.c > @@ -147,7 +147,7 @@ static void conf_ports(const struct ctx *c, char optname, const char *optarg, > if (fwd->mode) > goto mode_conflict; > > - if (c->mode != MODE_PASST) > + if (c->mode == MODE_PASTA) > die("'all' port forwarding is only allowed for passt"); > > fwd->mode = FWD_ALL; > @@ -1240,7 +1240,7 @@ void conf(struct ctx *c, int argc, char **argv) > c->no_dhcp_dns = 0; > break; > case 6: > - if (c->mode != MODE_PASST) > + if (c->mode == MODE_PASTA) > die("--no-dhcp-dns is for passt mode only"); > > c->no_dhcp_dns = 1; > @@ -1252,7 +1252,7 @@ void conf(struct ctx *c, int argc, char **argv) > c->no_dhcp_dns_search = 0; > break; > case 8: > - if (c->mode != MODE_PASST) > + if (c->mode == MODE_PASTA) > die("--no-dhcp-search is for passt mode only"); > > c->no_dhcp_dns_search = 1; > @@ -1307,7 +1307,7 @@ void conf(struct ctx *c, int argc, char **argv) > break; > case 14: > fprintf(stdout, > - c->mode == MODE_PASST ? "passt " : "pasta "); > + c->mode == MODE_PASTA ? "pasta " : "passt "); > fprintf(stdout, VERSION_BLOB); > exit(EXIT_SUCCESS); > case 15: > @@ -1610,7 +1610,7 @@ void conf(struct ctx *c, int argc, char **argv) > v6_only = true; > break; > case '1': > - if (c->mode != MODE_PASST) > + if (c->mode == MODE_PASTA) > die("--one-off is for passt mode only"); > > if (c->one_off) > @@ -1657,7 +1657,7 @@ void conf(struct ctx *c, int argc, char **argv) > conf_ugid(runas, &uid, &gid); > > if (logfile) { > - logfile_init(c->mode == MODE_PASST ? "passt" : "pasta", > + logfile_init(c->mode == MODE_PASTA ? "pasta" : "passt", > logfile, logsize); > } > > diff --git a/isolation.c b/isolation.c > index f394e93b8526..ca2c68b52ec7 100644 > --- a/isolation.c > +++ b/isolation.c > @@ -312,7 +312,7 @@ int isolate_prefork(const struct ctx *c) > * PID namespace. For passt, use CLONE_NEWPID anyway, in case somebody > * ever gets around seccomp profiles -- there's no harm in passing it. > */ > - if (!c->foreground || c->mode == MODE_PASST) > + if (!c->foreground || c->mode != MODE_PASTA) > flags |= CLONE_NEWPID; > > if (unshare(flags)) { > @@ -379,12 +379,12 @@ void isolate_postfork(const struct ctx *c) > > prctl(PR_SET_DUMPABLE, 0); > > - if (c->mode == MODE_PASST) { > - prog.len = (unsigned short)ARRAY_SIZE(filter_passt); > - prog.filter = filter_passt; > - } else { > + if (c->mode == MODE_PASTA) { > prog.len = (unsigned short)ARRAY_SIZE(filter_pasta); > prog.filter = filter_pasta; > + } else { > + prog.len = (unsigned short)ARRAY_SIZE(filter_passt); > + prog.filter = filter_passt; > } > > if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) || > diff --git a/passt.c b/passt.c > index c70caf464e61..5056a49dec95 100644 > --- a/passt.c > +++ b/passt.c > @@ -360,7 +360,7 @@ loop: > uint32_t eventmask = events[i].events; > > trace("%s: epoll event on %s %i (events: 0x%08x)", > - c.mode == MODE_PASST ? "passt" : "pasta", > + c.mode == MODE_PASTA ? "pasta" : "passt", > EPOLL_TYPE_STR(ref.type), ref.fd, eventmask); > > switch (ref.type) { > diff --git a/tap.c b/tap.c > index 5b1b61550c13..ebe52247ad87 100644 > --- a/tap.c > +++ b/tap.c > @@ -428,10 +428,10 @@ size_t tap_send_frames(const struct ctx *c, const struct iovec *iov, size_t n) > if (!n) > return 0; > > - if (c->mode == MODE_PASST) > - m = tap_send_frames_passt(c, iov, n); > - else > + if (c->mode == MODE_PASTA) > m = tap_send_frames_pasta(c, iov, n); > + else > + m = tap_send_frames_passt(c, iov, n); > > if (m < n) > debug("tap: failed to send %zu frames of %zu", n - m, n); > @@ -1299,10 +1299,10 @@ void tap_sock_init(struct ctx *c) > return; > } > > - if (c->mode == MODE_PASST) { > + if (c->mode == MODE_PASTA) { > + tap_sock_tun_init(c); > + } else { > if (c->fd_tap_listen == -1) > tap_sock_unix_init(c); > - } else { > - tap_sock_tun_init(c); > } > } > diff --git a/tcp_buf.c b/tcp_buf.c > index 4c1f00c1d1b2..dff6802c5734 100644 > --- a/tcp_buf.c > +++ b/tcp_buf.c > @@ -34,7 +34,7 @@ > > #define TCP_FRAMES_MEM 128 > #define TCP_FRAMES \ > - (c->mode == MODE_PASST ? TCP_FRAMES_MEM : 1) > + (c->mode == MODE_PASTA ? 1 : TCP_FRAMES_MEM) > > struct tcp4_l2_head { /* For MSS4 macro: keep in sync with tcp4_l2_buf_t */ > #ifdef __AVX2__ > diff --git a/udp.c b/udp.c > index 9c56168c6340..a189c2e0b5a2 100644 > --- a/udp.c > +++ b/udp.c > @@ -755,7 +755,7 @@ void udp_buf_sock_handler(const struct ctx *c, union epoll_ref ref, uint32_t eve > * whether we'll use tap or splice, always go one at a time > * for pasta mode. > */ > - ssize_t n = (c->mode == MODE_PASST ? UDP_MAX_FRAMES : 1); > + ssize_t n = (c->mode == MODE_PASTA ? 1 : UDP_MAX_FRAMES); > in_port_t dstport = ref.udp.port; > bool v6 = ref.udp.v6; > struct mmsghdr *mmh_recv; -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson