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

Add 'VARP' as IP Role #18994

Open
PieterL75 opened this issue Mar 24, 2025 · 16 comments · May be fixed by #19109
Open

Add 'VARP' as IP Role #18994

PieterL75 opened this issue Mar 24, 2025 · 16 comments · May be fixed by #19109
Assignees
Labels
complexity: low Requires minimal effort to implement status: under review Further discussion is needed to determine this issue's scope and/or implementation type: feature Introduction of new functionality to the application

Comments

@PieterL75
Copy link
Contributor

NetBox version

v4.1.11

Feature type

Data model extension

Proposed functionality

Add 'VARP' as in IP Role.

Use case

This type is used on distributed EVPN layer3 networks, and provides and active/active IP on all EVPN leafs.
the current selection of IP Roles don't really covers this

Database changes

None

External dependencies

No response

@PieterL75 PieterL75 added status: needs triage This issue is awaiting triage by a maintainer type: feature Introduction of new functionality to the application labels Mar 24, 2025
@jnovinger
Copy link
Member

What is the distinction between VARP and the existing VIP role?

@jnovinger jnovinger added status: revisions needed This issue requires additional information to be actionable and removed status: needs triage This issue is awaiting triage by a maintainer labels Mar 27, 2025
@PieterL75
Copy link
Contributor Author

a VIP is a 'floating' ip, active on one device of a cluster, and mainly referred to for load balancers.

a VARP is an IP that is active on multiple devices at the same time. There are no node-ips like with VRRP, only the VARP ip on the devices.
https://arista.my.site.com/AristaCommunity/s/article/active-active-router-redundancy-using-varp

Copy link
Contributor

github-actions bot commented Apr 8, 2025

This is a reminder that additional information is needed in order to further triage this issue. If the requested details are not provided, the issue will soon be closed automatically.

@github-actions github-actions bot added the pending closure Requires immediate attention to avoid being closed for inactivity label Apr 8, 2025
@PieterL75
Copy link
Contributor Author

I can write the PR is needed

@bctiemann bctiemann added status: accepted This issue has been accepted for implementation complexity: low Requires minimal effort to implement and removed status: revisions needed This issue requires additional information to be actionable pending closure Requires immediate attention to avoid being closed for inactivity labels Apr 8, 2025
@bctiemann
Copy link
Contributor

Thanks @PieterL75 !

@PieterL75 PieterL75 linked a pull request Apr 8, 2025 that will close this issue
@pheus
Copy link
Contributor

pheus commented Apr 8, 2025

Thank you for the proposal. I have some reservations about adding a VARP role. It seems that VARP is an Arista-specific term for what is essentially an anycast gateway, as noted in the linked reference. Since we already have an “Anycast” IP role, it might be more consistent to stick with the existing, vendor-neutral nomenclature. While we could consider adding an “Anycast Gateway” role if needed, I believe it’s best to avoid vendor-specific names to prevent potential confusion.

@bctiemann
Copy link
Contributor

@PieterL75 what do you think about changing this to be a more vendor-agnostic name like the "Anycast" suggested?

@PieterL75
Copy link
Contributor Author

I checked 3 vendors on how they name the EVPN distributed router gateway intefaces:

  • Cisco : Anycast gateway or Bridge Virtual Interface (BVI)
  • Arista: Virtual-ARP (VARP)
  • Juniper: IRB virtual gateway IP address (anycast)

I would like to keep the difference clear between a BGP Anycast IP (one IP living on multiple locations, announced over BGP)
and an ARP/VirtualMAC based EVPN Gateway.

What about EVPN VirtualIP, as this will be mainly seen in EVPN deployments

@jeremystretch
Copy link
Member

I can't recall ever hearing the term "anycast" used with regard to local segment first-hop routing; as suggested, I'd avoid using it here.

@pheus
Copy link
Contributor

pheus commented Apr 8, 2025

I agree that it might be a good idea to differentiate between the “classical” anycast IP address and the first-hop IP address in a BGP EVPN VXLAN fabric. However, the more common term—even though no standard has been established—is "distributed IP anycast gateway." Keep in mind that in a layer 3/routed underlay, the first-hop IP address is distributed via BGP (in the case of a BGP EVPN VXLAN fabric). In fact, even the link provided by the author refers to an "anycast gateway." A quick search for "anycast gateway" reveals multiple discussions regarding BGP EVPN VXLAN fabrics, reinforcing that this term is widely used in practice.

Personally, I would suggest going with "Anycast Gateway" for clarity and consistency.

Of course, as the lead maintainer does have the final say, this perspective should be considered alongside the broader community's usage.

There are IETF documents that reference this concept:
https://datatracker.ietf.org/doc/rfc9135/
https://datatracker.ietf.org/doc/draft-malhotra-bess-evpn-centralized-anycast-gw/

@pheus
Copy link
Contributor

pheus commented Apr 8, 2025

I'd like to highlight why the term "Anycast Gateway" makes complete sense. Consider a BGP EVPN VXLAN fabric, which often features a typical spine-leaf architecture in a data center. In this design, where a Layer 2 segment is extended over a Layer 3 underlay and multiple nodes share the same gateway IP address, it is very useful to route traffic at the nearest node holding that gateway IP address. This is exactly the kind of scenario that an anycast IP address is meant to address.

@PieterL75
Copy link
Contributor Author

I disagree that the IP is distributed over BGP in an EVPN fabric and then used as a destination IP for the endhost.
The IP is made available to the endhosts via ARP and not BGP. That said...

I don't see this as an Anycast system, but rather a distributed ARP/layer2/IP

I would go for a less confusing EVPN VirtualIP or EVPN Virtual Gateway

@pheus
Copy link
Contributor

pheus commented Apr 8, 2025

But I think we do agree on the key aspect here: the same IP address exists multiple times within the same Layer 2 segment, distributed across multiple nodes. And only the node nearest to the source responds to the ARP request and routes the traffic.

To me, this behavior matches very well with the fundamental concept of an anycast IP.

That’s why I still feel Anycast Gateway is a fitting and commonly understood term for this scenario.

@pheus
Copy link
Contributor

pheus commented Apr 9, 2025

I’d like to correct myself regarding my earlier statement about there being "no standard" term for this concept.

RFC 9135 (Integrated Routing and Bridging in Ethernet VPN (EVPN)) actually refers to this as "anycast default gateway IP" (Section 4.1).

“All the PEs for a given tenant subnet use the same anycast default gateway IP and MAC addresses.”

This matches exactly the use case we’re discussing here: multiple nodes (PEs) within the same EVPN fabric using the same gateway IP address — effectively providing an anycast gateway for the connected hosts.

Reference: https://datatracker.ietf.org/doc/html/rfc9135#section-4.1

This further reinforces my opinion that Anycast Gateway (or Anycast Default Gateway) is an established and technically correct term in the context of EVPN.

Hope this helps clarify my position!

@PieterL75
Copy link
Contributor Author

PieterL75 commented Apr 10, 2025

I do follow the reasoning that this is a gateway that is 'multiplied' and resembles the logic of Anycast.
But as Anycast is commonly known and used for BGP announced IP's on global scale, it could confuse when a Layer2 local gateway is also referred to as 'Anycast gateway'

let's add EVPN then..
EVPN Anycast Gateway
(Dont add Default, as you don't know if that IP is the default for a subnet or just 'a' gateway)

@jeremystretch jeremystretch added status: under review Further discussion is needed to determine this issue's scope and/or implementation and removed status: accepted This issue has been accepted for implementation labels Apr 10, 2025
@pheus
Copy link
Contributor

pheus commented Apr 10, 2025

Thank you, @PieterL75, for taking the time to engage in this constructive discussion with me — I really appreciate the exchange of perspectives.

I absolutely understand where you’re coming from. While anycast is indeed often associated with globally routed IPs, I think it's great to see these concepts and technologies making their way into local fabrics as well.

Personally, I’m perfectly fine with EVPN Anycast Gateway and agree that leaving out Default makes sense here.

Looking forward to the final decision from the maintainers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity: low Requires minimal effort to implement status: under review Further discussion is needed to determine this issue's scope and/or implementation type: feature Introduction of new functionality to the application
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants