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
next 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).