doc: add a HOWTO for vde_router - #75
Merged
Merged
Conversation
danielinux
self-requested a review
October 3, 2026 10:36
danielinux
approved these changes
Oct 3, 2026
Member
|
Thank you @zirize please rebase + resolve conflicts |
This was referenced Oct 3, 2026
Closed
doc/ has a HOWTO or a README for most of what vde-2 ships - vde_autolink, vdeqemu, slirpvde, vde_over_ns, vde_vxlan - and nothing for vde_router. The manual page says what each option and command does; this covers the other half, which is how to arrive at a working router and what to look at when it does not. It walks through a first router between two switches, the ways of putting hosts on the networks it serves, and how to reach the outside - the part people get stuck on, since vde_router does no address translation and needs an uplink connected to something that does. Then filtering and the priority queues, and a short section on what to check when traffic does not flow, including the behaviours that look like faults and are not: the first packet towards an unresolved next hop is dropped, and ARP entries never expire. Every command in it was run against a live router. This depends on the fixes in the 'make it forward' series: without them vde_router does not forward at all, so a document describing how to route with it would be describing something that does not happen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
zirize
force-pushed
the
doc/vde_router-howto
branch
from
October 3, 2026 12:07
eff793b to
4238bda
Compare
Contributor
Author
|
Rebased onto master — the PR now carries just the HOWTO commit, and there are no conflicts left. Thanks for the review! |
Member
|
Thank you for the contribution! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Authored by Claude Code (Claude Opus 5). I reviewed it, ran every command in it
on my own hardware, and I am submitting it.
Why
doc/carries a HOWTO or a README for most of what vde-2 ships —vde_autolink,vdeqemu,slirpvde,vde_over_ns,vde_vxlan— and nothing at all forvde_router.The manual page (rewritten in #74) is reference material: it says what each
option and each management command does. This is the other half — how to get
from nothing to a working router, and what to look at when it does not work.
What is in it
checks that tell you it came up.
vdens, qemu, or anything else that speaks to aswitch — and handing out addresses with the built-in DHCP server.
vde_routerdoes noaddress translation, so the uplink has to be an interface connected to
something that does. The slirp plugin as a URL passed straight to
connectgives a complete userspace gateway in one process, and the section explains
why slirp's own DHCP server wants a link of its own.
out — rules are evaluated in the reverse of the order they were added.
behaviours that look like faults and are not — the first packet towards an
unresolved next hop is dropped, ARP entries never expire, the DHCP server
advertises a fixed resolver.
Verification
Every command in the document was run against a live router, not transcribed
from the source: the two-switch example brought up and checked, HTTP carried
between hosts on either segment through it, each
ipfilterandqueuelineaccepted and its effect confirmed in the tables, and the DHCP server observed
handing out a lease.
Plain text, in the style of the other files in
doc/, and added toEXTRA_DISTso it installs with them.