From: David Lamparter <equinox@diac24.net>
To: netdev@vger.kernel.org
Cc: amine.kherbouche@6wind.com, roopa@cumulusnetworks.com
Subject: [RFC net-next] VPLS support
Date: Wed, 16 Aug 2017 19:01:56 +0200 [thread overview]
Message-ID: <20170816170202.456851-1-equinox@diac24.net> (raw)
Hi all,
triggered by Amine posting VPLS support earlier, this is what I had in
mind on my end. You may note the patches share some bits, this is
because both series are derived from hacks I did at 33C3 in December
2016.
This patchset is different in the following ways:
- one vpls device encapsulates many pseudowires
- the pseudowire is learned in the bridge FDB as dst_metadata
- to do this, the bridge is extended to learn / keep dst metadata in its fdb
on a per-entry level
- configuring pseudowires happens through the mpls LIB, through route
add/delete commands
- the TX path is shared with normal MPLS forwarding
- this also means this supports ECMP without any further work and without
copypasta'ing it from af_mpls.c
- pseudowire control word is supported
iproute2 / FRR patches are at:
- https://github.com/eqvinox/vpls-iproute2
- https://github.com/opensourcerouting/frr/commits/vpls
while this patchset is also available at:
- https://github.com/eqvinox/vpls-linux-kernel
(but please be aware that I'm amending and rebasing commits)
I've tested some basic setups, the chain from LDP down into the kernel works
at least in these. FRR has some testcases around from OpenBSD VPLS support,
I haven't wired that up to run against Linux / this patchset yet.
The patchset needs a lot of polishing (yes I left my TODO notes in the
commit messages), for now my primary concern is overall design feedback.
Roopa has already provided a lot of input (Thanks!); the major topic I'm
expecting to get discussion on is the bridge FDB changes.
Note that there is a rather large spec difference to VXLAN; VPLS has
no concept that is analog to a "VNI". There is nothing to do on a
per-vlan basis. (Don't get confused by "vlan pseudowire mode", that's
just a fixed tag insertion on a per-remote-endpoint level.)
Cheers / input & feedback appreciated,
-David
P.S.: For a little context on the bridge FDB changes - I'm hoping to find
some time to extend this to the MDB to allow aggregating dst metadata and
handing down a list of dst metas on TX. This isn't specifically for VPLS
but rather to give sufficient information to the 802.11 stack to allow it to
optimize selecting rates (or unicasting) for multicast traffic by having the
multicast subscriber list known. This is done by major commercial wifi
solutions (e.g. google "dynamic multicast optimization".)
next reply other threads:[~2017-08-16 17:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-16 17:01 David Lamparter [this message]
2017-08-16 17:01 ` [PATCH 1/6] bridge: learn dst metadata in FDB David Lamparter
2017-08-16 20:38 ` Nikolay Aleksandrov
2017-08-17 11:03 ` David Lamparter
2017-08-17 11:39 ` Nikolay Aleksandrov
2017-08-17 11:51 ` Nikolay Aleksandrov
2017-08-17 12:10 ` David Lamparter
2017-08-17 12:19 ` Nikolay Aleksandrov
2017-08-17 12:20 ` David Lamparter
2017-08-17 12:45 ` David Lamparter
2017-08-17 13:04 ` Nikolay Aleksandrov
2017-08-17 16:16 ` David Lamparter
2017-08-16 17:01 ` [PATCH 2/6] mpls: split forwarding path on rx/tx boundary David Lamparter
2017-08-19 17:10 ` kbuild test robot
2017-08-19 17:42 ` kbuild test robot
2017-08-16 17:01 ` [PATCH 3/6] mpls: add VPLS entry points David Lamparter
2017-08-19 18:27 ` kbuild test robot
2017-08-21 14:01 ` Amine Kherbouche
2017-08-21 15:55 ` David Lamparter
2017-08-21 16:13 ` Amine Kherbouche
2017-08-16 17:02 ` [PATCH 4/6] mpls: VPLS support David Lamparter
2017-08-21 15:14 ` Amine Kherbouche
2017-08-21 16:18 ` David Lamparter
2017-08-21 16:11 ` Amine Kherbouche
2017-08-16 17:02 ` [PATCH 5/6] bridge: add VPLS pseudowire info in fdb dump David Lamparter
2017-08-16 17:02 ` [PATCH 6/6] mpls: pseudowire control word support David Lamparter
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=20170816170202.456851-1-equinox@diac24.net \
--to=equinox@diac24.net \
--cc=amine.kherbouche@6wind.com \
--cc=netdev@vger.kernel.org \
--cc=roopa@cumulusnetworks.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 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 NNTP newsgroup(s).