public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: passt-dev@passt.top
Cc: Callum Parsey <callum@neoninteger.au>,
	me@yawnt.com, David Gibson <david@gibson.dropbear.id.au>,
	lemmi@nerd2nerd.org, Andrea Arcangeli <aarcange@redhat.com>
Subject: [PATCH v3 00/10] Optionally copy all routes and addresses for pasta, allow gateway-less routes
Date: Mon, 22 May 2023 19:45:57 +0200	[thread overview]
Message-ID: <20230522174607.2824220-1-sbrivio@redhat.com> (raw)

This series, along with pseudo-related fixes, enables:

- optional copy of all routes from selected interface in outer
  namespace, to fix the issue reported by Callum at:
    https://github.com/containers/podman/issues/18539

- optional copy of all addresses, mostly for consistency. It doesn't,
  however, enable assignment of multiple addresses in the sense
  requested at:
    https://bugs.passt.top/show_bug.cgi?id=47

  because the addresses still need to be present on the host, and
  the "outer" address isn't selected depending on the address used
  inside the container

- operation without a gateway address. This is related to:
    https://bugs.passt.top/show_bug.cgi?id=49

  but Wireguard endpoints established outside the container
  can't be used yet as outbound interface (without the workaround
  reported there) for a number of reasons I'm still investigating.
  In any case, the correct route is now configured in the container,
  even without a default gateway on the corresponding host route,
  so we're a bit closer to support that configuration out of the box.

v3:

- in 5/10 and 9/10: mark the new --no-copy-routes and --no-copy-addrs
  options as deprecated to address David's concern. They are hopefully
  not useful and we can drop those, but they're nice to have around at
  the moment in case to debug issues that might be related to this
  series

v2:

- in 3/10, repeat the netlink request once for each RTM_NEWROUTE we're
  going to send as part of the request: routes might depend on each
  other, and this is a somewhat rudimentary, but seemingly robust
  approach to insert all the routes we can insert, without explicitly
  calculating dependencies

- Cc: Andrea, reporter for the issue fixed in 4/10

Stefano Brivio (10):
  netlink: Fix comment about response buffer size for nl_req()
  pasta: Improve error handling on failure to join network namespace
  netlink: Add functionality to copy routes from outer namespace
  conf: --config-net option is for pasta mode only
  conf, pasta: With --config-net, copy all routes by default
  Revert "conf: Adjust netmask on mismatch between IPv4 address/netmask
    and gateway"
  conf: Don't exit if sourced default route has no gateway
  netlink: Add functionality to copy addresses from outer namespace
  conf, pasta: With --config-net, copy all addresses by default
  passt.h: Fix description of pasta_ifi in struct ctx

 conf.c    |  85 +++++++++++++++++++++-------------
 netlink.c | 135 +++++++++++++++++++++++++++++++++++++++++-------------
 netlink.h |  13 ++++--
 passt.1   |  35 +++++++++++++-
 passt.h   |   8 +++-
 pasta.c   |  26 +++++++----
 6 files changed, 221 insertions(+), 81 deletions(-)

-- 
2.39.2


             reply	other threads:[~2023-05-22 17:46 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22 17:45 Stefano Brivio [this message]
2023-05-22 17:45 ` [PATCH v3 01/10] netlink: Fix comment about response buffer size for nl_req() Stefano Brivio
2023-05-22 17:45 ` [PATCH v3 02/10] pasta: Improve error handling on failure to join network namespace Stefano Brivio
2023-05-23 13:47   ` Stefano Brivio
2023-05-22 17:46 ` [PATCH v3 03/10] netlink: Add functionality to copy routes from outer namespace Stefano Brivio
2023-05-22 17:46 ` [PATCH v3 04/10] conf: --config-net option is for pasta mode only Stefano Brivio
2023-05-22 17:46 ` [PATCH v3 05/10] conf, pasta: With --config-net, copy all routes by default Stefano Brivio
2023-05-23  3:04   ` David Gibson
2023-05-22 17:46 ` [PATCH v3 06/10] Revert "conf: Adjust netmask on mismatch between IPv4 address/netmask and gateway" Stefano Brivio
2023-05-22 17:46 ` [PATCH v3 07/10] conf: Don't exit if sourced default route has no gateway Stefano Brivio
2023-05-22 17:46 ` [PATCH v3 08/10] netlink: Add functionality to copy addresses from outer namespace Stefano Brivio
2023-05-22 17:46 ` [PATCH v3 09/10] conf, pasta: With --config-net, copy all addresses by default Stefano Brivio
2023-05-23  3:05   ` David Gibson
2023-05-22 17:46 ` [PATCH v3 10/10] passt.h: Fix description of pasta_ifi in struct ctx Stefano Brivio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230522174607.2824220-1-sbrivio@redhat.com \
    --to=sbrivio@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=callum@neoninteger.au \
    --cc=david@gibson.dropbear.id.au \
    --cc=lemmi@nerd2nerd.org \
    --cc=me@yawnt.com \
    --cc=passt-dev@passt.top \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).