From: Roman Mamedov <rm@romanrm.net>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: WireGuard mailing list <wireguard@lists.zx2c4.com>,
zrm <zrm@trustiosity.com>, StarBrilliant <coder@poorlab.com>,
Baptiste Jonglez <baptiste@bitsofnetworks.org>,
Joe Holden <jwh@zorins.us>,
Nico Schottelius <nico.schottelius@ungleich.ch>,
Vasili Pupkin <diggest@gmail.com>,
peter@fiberdirekt.se
Subject: Re: potentially disallowing IP fragmentation on wg packets, and handling routing loops better
Date: Mon, 7 Jun 2021 16:46:17 +0500 [thread overview]
Message-ID: <20210607164617.6bf015d1@natsu> (raw)
In-Reply-To: <YL4CjhvPcQ+/qtG1@zx2c4.com>
On Mon, 7 Jun 2021 13:27:10 +0200
"Jason A. Donenfeld" <Jason@zx2c4.com> wrote:
> Can you walk me through your use case a bit more, so I can wrap my mind
> around the requirements?
>
> ingress --plain--> wireguard --wireguard[plain]--> vxlan --vxlan[wireguard[plain]]--> egress
Not sure I understand your scheme correctly. In any case, the path of a
packet would be...
On peer 1:
* plain Ethernet -> wrapped into VXLAN -> encrypted into WireGuard
On peer 2:
* decrypted from WireGuard -> unwrapped from VXLAN -> plain Ethernet
> So my question is, why can't you set wireguard's MTU to 80 bytes less
> than vxlan's MTU? What's preventing that or making it infeasible?
To transparently bridge two Ethernet LANs, a VXLAN interface needs to join an
L2 bridge. All interfaces that are members of a bridge must have the same MTU.
As such, br0 members on both sides:
eth0 (MTU 1500)
vx0 (MTU 1500)
VXLAN transports full L2 frames encapsulating them into UDP. To fit the
full 1500-byte packet and accounting for VXLAN and related IP overheads,
the resulting packet size is 1574 bytes.
So this same host that just generated the 1574-byte encapsulated VXLAN packet
with something it received via its eth0 port, now needs to send it further to
its WG peer(s). For this to succeed, the in-tunnel WG MTU needs to be 1574 or
more, not 1412 or 1420, as VXLAN itself can't be fragmented[1]; or even if it
could, that would mean a much worse overhead ratio than currently.
[1] https://datatracker.ietf.org/doc/html/rfc7348#section-4.3
--
With respect,
Roman
next prev parent reply other threads:[~2021-06-07 11:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-06 9:13 potentially disallowing IP fragmentation on wg packets, and handling routing loops better Jason A. Donenfeld
2021-06-06 9:32 ` Nico Schottelius
2021-06-06 10:39 ` Vasili Pupkin
2021-06-06 11:14 ` Peter Linder
2021-06-07 11:58 ` Derek Fawcus
2021-06-06 19:03 ` Roman Mamedov
2021-06-06 22:33 ` Joe Holden
2021-06-07 9:34 ` Jason A. Donenfeld
2021-06-07 11:13 ` Roman Mamedov
2021-06-07 11:27 ` Jason A. Donenfeld
2021-06-07 11:46 ` Roman Mamedov [this message]
2021-06-07 11:55 ` Peter Linder
2021-06-07 18:50 ` Roman Mamedov
2021-06-07 11:18 ` Nico Schottelius
2021-06-09 23:26 ` Vasili Pupkin
[not found] <gxES.4zxnvP9N2kSJa1NGITwbXw@t8xeHZrp0E6un9AocFqL84lJhFB_QEtHqmTZgcSOnX0.xz>
2024-11-18 14:31 ` Orsiris de Jong
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=20210607164617.6bf015d1@natsu \
--to=rm@romanrm.net \
--cc=Jason@zx2c4.com \
--cc=baptiste@bitsofnetworks.org \
--cc=coder@poorlab.com \
--cc=diggest@gmail.com \
--cc=jwh@zorins.us \
--cc=nico.schottelius@ungleich.ch \
--cc=peter@fiberdirekt.se \
--cc=wireguard@lists.zx2c4.com \
--cc=zrm@trustiosity.com \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.