Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Router advertisement & Router sollicitation #126

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

christophefontaine
Copy link
Contributor

@christophefontaine christophefontaine commented Jan 14, 2025

Add router advertisement support, with basic configuration (lifetime, priority, interval, but no DNS, etc.).
Also answer to router sollicitation messages.

Depends on PR #112

@christophefontaine christophefontaine marked this pull request as ready for review January 14, 2025 16:38
modules/ip6/cli/meson.build Outdated Show resolved Hide resolved
modules/ip6/cli/router_advertisement.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advertisement.c Outdated Show resolved Hide resolved
modules/ip6/datapath/icmp6_input.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advertisement.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advertisement.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advertisement.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advertisement.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advertisement.c Outdated Show resolved Hide resolved
@christophefontaine christophefontaine marked this pull request as draft January 14, 2025 20:56
BGP unnumbered relies on RA message to discover
the local routers.

Broadcast the simplest router advertisement message
on ipv6 enabled interfaces.
Additional options (DNS, ... ) may be added in the future.

Signed-off-by: Christophe Fontaine <[email protected]>
The returned nexthop for a multicast route lookup doesn't have
a defined iface.
Yet, this nexthop is valid, and we can rely on the iface defined
by the parent node to select the output iface.

Signed-off-by: Christophe Fontaine <[email protected]>
@christophefontaine christophefontaine force-pushed the router_advertisement branch 2 times, most recently from 7239bf0 to a4f8458 Compare January 16, 2025 09:17
modules/ip6/control/router_advert.c Outdated Show resolved Hide resolved
modules/ip6/control/router_advert.c Show resolved Hide resolved
Upon reception of a router sollicit message, trigger the existing
timer to send immediately a router advertismement packet.

Signed-off-by: Christophe Fontaine <[email protected]>
Add configuration knobs for RA messages.
Instead of a hardcoded perdiodic message, allow a per-interface
configuration.

Signed-off-by: Christophe Fontaine <[email protected]>
As the loopback interface is not ethernet based, well known
multicast addresses were not registered: grout rejects the
neighbor solicitation and router solication messages.

Register to the well known multicast addresses even if there is no
ethernet addresses configured on the interface.

Signed-off-by: Christophe Fontaine <[email protected]>
libsmartcols-dev libarchive-dev libibverbs-dev
```

### Install optional dependencies
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This deserves a separate commit for readability.

@@ -32,5 +32,5 @@ ip netns exec $p1 ping6 -i0.01 -c3 fd00:ba4:2::2
ip netns exec $p2 ping6 -i0.01 -c3 fd00:ba4:1::2
ip netns exec $p1 ping6 -i0.01 -c3 fd00:ba4:1::1
ip netns exec $p2 ping6 -i0.01 -c3 fd00:ba4:2::1
ip netns exec $p1 traceroute6 -N1 fd00:ba4:2::2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Idem, it can go to a separate commit especially as you did not describe the reason for this change in the current commitlog.

@david-marchand
Copy link
Member

Some commitlog has a typo "perdiodic" (commenting here, as I don't see how to comment in gh webui for the specific commit..)

Copy link
Collaborator

@rjarry rjarry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me after you rebase on the latest master and address @david-marchand's comments 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants