10000 frr: add FRR dplane plugin by maxime-leroy · Pull Request #220 · DPDK/grout · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

frr: add FRR dplane plugin #220

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

Merged
merged 1 commit into from
May 28, 2025
Merged

frr: add FRR dplane plugin #220

merged 1 commit into from
May 28, 2025

Conversation

maxime-leroy
Copy link
Contributor

This patch adds support for building a zebra plugin out-of-tree, using FRR as a Meson subproject. The plugin is compiled as a shared module and linked against libfrr, using FRR's headers.

The plugin integrates Grout with FRR using the dplane plugin API. It supports:

  • Synchronization of routes and addresses from FRR to Grout.
  • Synchronization of interfaces, routes, and addresses from Grout to FRR.

Key changes:

  • Adds FRR as a subproject under subprojects/frr
  • Bootstraps and builds FRR with most daemons disabled
  • Declares frr_dep for linking against libfrr and using its includes
  • Supports passing --with-moduledir to configure for correct plugin path

This structure allows FRR plugin development and testing without modifying the FRR source tree directly.

TODO: add FRR wraper to install on system, check how to run in a smoke test, check that plugin is working properly etc ...

@maxime-leroy maxime-leroy force-pushed the dplane_frr branch 16 times, most recently from 172b42c to 7829dc0 Compare May 19, 2025 11:59
@maxime-leroy maxime-leroy force-pushed the dplane_frr branch 13 times, most recently from 0c23fa1 to 4e27747 Compare May 26, 2025 09:56
@maxime-leroy maxime-leroy force-pushed the dplane_frr branch 8 times, most recently from 2cc8146 to 547f4e6 Compare May 27, 2025 07:36
@maxime-leroy maxime-leroy force-pushed the dplane_frr branch 3 times, most recently from e16bd58 to 28ce398 Compare May 27, 2025 10:07
@maxime-leroy maxime-leroy force-pushed the dplane_frr branch 2 times, most recently from 50e4412 to 99af48e Compare May 28, 2025 10:18
@maxime-leroy maxime-leroy changed the title [WIP] frr: add FRR dplane plugin frr: add FRR dplane plugin May 28, 2025
@vjardin
Copy link
Contributor
vjardin commented May 28, 2025

LGTM

@rjarry rjarry force-pushed the dplane_frr branch 4 times, most recently from 9e9f871 to 0217625 Compare May 28, 2025 15:47
This patch adds support for building a zebra plugin out-of-tree, using
FRR as a Meson subproject. The plugin is compiled against FRR’s headers
as a shared module.

The plugin integrates Grout with FRR using the dplane plugin API.
It supports:
- Synchronization of routes and addresses from FRR to Grout.
- Synchronization of interfaces, routes, and addresses from Grout to FRR.

Key changes:
- Adds FRR as a subproject under subprojects/frr (wrap-git).
- New Meson feature option `-Dfrr` to enable or auto-detect the plugin.
- Bootstraps and builds FRR with most daemons disabled for a tiny tree.
- Declares `frr_dep` for **access to FRR headers and build variables**
  (no direct linkage to libfrr).
- **Helper script `frr_install.sh` installs FRR runtime files inside the
  private prefix**:
    * copies `frr.conf`, `daemons`, and optional `vtysh.conf` /
      `watchfrr.conf`;
    * creates log and state directories;
    * appends a `--log file:$prefix/var/log/frr/zebra.log` option in
      `daemons`.
- Adds `licenses/GPL-2.0-or-later.txt` and updates the project license
  string to `BSD-3-Clause AND GPL-2.0-or-later` to reflect the plugin.
- Extends CI: one matrix job builds with `-Dfrr=enabled` and pulls extra
  FRR build dependencies.
- Smoke tests: infrastructure now detects `-Dfrr=enabled`; a new
  `ip_forward_frr_test.sh` validates end-to-end routing via the plugin.

This structure allows FRR plugin development and testing without
modifying the FRR source tree directly.

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
@rjarry rjarry merged commit 9bf3ff9 into DPDK:main May 28, 2025
8 checks passed
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
0