Skip to content

Conversation

@berendt
Copy link
Member

@berendt berendt commented Dec 9, 2025

Allow configuring arbitrary VRRP-managed IP addresses in the frr_leaf configuration via the new frr_vrrp_groups variable. This enables defining multiple VRRP groups with IPv4 and IPv6 addresses, priority, and preempt settings.

AI-assisted: Claude Code

Allow configuring arbitrary VRRP-managed IP addresses in the frr_leaf
configuration via the new frr_vrrp_groups variable. This enables
defining multiple VRRP groups with IPv4 and IPv6 addresses, priority,
and preempt settings.

AI-assisted: Claude Code

Signed-off-by: Christian Berendt <[email protected]>
@berendt berendt assigned osfrickler and unassigned osfrickler Dec 9, 2025
@berendt berendt requested a review from osfrickler December 9, 2025 08:33
interface {{ vrrp_group.interface }}
vrrp {{ vrrp_group.vrid }}{% if vrrp_group.ipv6 | default([]) | length > 0 %} version 3{% endif %}

{% if vrrp_group.priority | default(false) %}
Copy link
Member

Choose a reason for hiding this comment

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

actually the default should be 100 according to the comment above? better make this explicit instead of relying on FRR's default?

{% if vrrp_group.priority | default(false) %}
vrrp {{ vrrp_group.vrid }} priority {{ vrrp_group.priority }}
{% endif %}
{% if vrrp_group.preempt | default(true) == false %}
Copy link
Member

Choose a reason for hiding this comment

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

missing | bool?

!
{% for vrrp_group in frr_vrrp_groups %}
interface {{ vrrp_group.interface }}
vrrp {{ vrrp_group.vrid }}{% if vrrp_group.ipv6 | default([]) | length > 0 %} version 3{% endif %}
Copy link
Member

Choose a reason for hiding this comment

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

version 3 is the default and can be used for both v4+v6, no need to add the extra logic

# Example:
# frr_vrrp_groups:
# - interface: eth0
# vrid: 10
Copy link
Member

Choose a reason for hiding this comment

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

this name seems confusing to me, just id should be fine? otherwise vrrp_id?


frr_extra_interfaces: []

# VRRP configuration for leaf nodes
Copy link
Member

Choose a reason for hiding this comment

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

... for routers instead of leaf nodes?

# priority: 100 # optional, default 100
# preempt: true # optional, default true
# ipv4:
# - 192.168.1.1/24
Copy link
Member

Choose a reason for hiding this comment

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

this parameter needs to be only the IP, no netmask

# - 192.168.1.1/24
# - 192.168.1.2/24
# ipv6: # optional
# - 2001:db8::1/64
Copy link
Member

Choose a reason for hiding this comment

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

dito


frr_enable_bgpd: "yes"
frr_enable_bfdd: "no"
frr_enable_vrrpd: "no"
Copy link
Member

Choose a reason for hiding this comment

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

change this to "yes" automatically if frr_vrrp_groups is non-empty?

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