Include RD when displaying a list of VRFs in a form #919

Closed
opened 2025-12-29 16:26:58 +01:00 by adam · 6 comments
Owner

Originally created by @nonsbe on GitHub (May 8, 2017).

A detailed description of the proposed functionality:

The option to create duplicate VRF names on the same or different Tenants is already allowed, but when you create a new prefix you have to select the according VRF. Is it possible to set a prefix with the Site name in front of the VRF selection. This would imply that a VRF should also contain a Tenant site and not only a Tenant.
In this manner its easier to select the according VRF.

Another option could be to dynamically filter the available VRFs for the new prefix based on Tenant/Site selection.

A use case for the feature:

We have a tenant with 10 sites and our CPE equipment is placed in each site. For example, each site contains a VRF named GuestVRF.
When you have to create the according prefix for the GuestVRF for Site A it's hard to choose the according VRF at this time.

VRF Structure IPAM:

  • Tenant 1 Site A: GuestVRF - Prefix A
  • Tenant 1 Site B: GuestVRF - Prefix B
  • Tenant 2 Site A: GuestVRF - Prefix C

Kr,
Niels

Originally created by @nonsbe on GitHub (May 8, 2017). ### A detailed description of the proposed functionality: The option to create duplicate VRF names on the same or different Tenants is already allowed, but when you create a new prefix you have to select the according VRF. Is it possible to set a prefix with the Site name in front of the VRF selection. This would imply that a VRF should also contain a Tenant site and not only a Tenant. In this manner its easier to select the according VRF. Another option could be to dynamically filter the available VRFs for the new prefix based on Tenant/Site selection. ### A use case for the feature: We have a tenant with 10 sites and our CPE equipment is placed in each site. For example, each site contains a VRF named GuestVRF. When you have to create the according prefix for the GuestVRF for Site A it's hard to choose the according VRF at this time. VRF Structure IPAM: - Tenant 1 Site A: GuestVRF - Prefix A - Tenant 1 Site B: GuestVRF - Prefix B - Tenant 2 Site A: GuestVRF - Prefix C Kr, Niels
adam added the type: feature label 2025-12-29 16:26:58 +01:00
adam closed this issue 2025-12-29 16:26:58 +01:00
Author
Owner

@nonsbe commented on GitHub (May 10, 2017):

It seems this is not a solution as well because if you have a VRF with a leased line, you want to be able to track the IP addresses for both sites in one VRF.

Anyway a prefix of the Tenant name in the selection box for VRFs in prefix creation would be helpful.

Anyone other suggestions?

@nonsbe commented on GitHub (May 10, 2017): It seems this is not a solution as well because if you have a VRF with a leased line, you want to be able to track the IP addresses for both sites in one VRF. Anyway a prefix of the Tenant name in the selection box for VRFs in prefix creation would be helpful. Anyone other suggestions?
Author
Owner

@jeremystretch commented on GitHub (May 12, 2017):

The problem appears to be that we're only listing the VRF name in the selection list when the name is not required to be unique. Would it help to include the RD (which is unique) along with the VRF name?

@jeremystretch commented on GitHub (May 12, 2017): The problem appears to be that we're only listing the VRF name in the selection list when the name is not required to be unique. Would it help to include the RD (which is unique) along with the VRF name?
Author
Owner

@nonsbe commented on GitHub (May 18, 2017):

Thank you for the comment!

That could be an option, but in general RDs aren't specifcly unique as well. Yes, I'm being sceptical...
You can configure the same RD on 2 non-related devices and use MP-BGP to distribute routes between VRFs on the device itself (via route-target export/import).

Also it could be more viable to attach multiple devices to a VRF, because mostly the VRF is strechted over more than one L3 device. Eg. Branch router VRF-A > L3 > Core router VRF-A > L3 > Virtual Firewall for VRF-A. They all have the same routing table and unique address space.

It some hard matter to deal with anyway, since you have that many different options and techniques.

Maybe as first implementation it could help to just include the RD and/or the Tenant Name in the selection list. See picture below
selection_252

@nonsbe commented on GitHub (May 18, 2017): Thank you for the comment! That could be an option, but in general RDs aren't specifcly unique as well. Yes, I'm being sceptical... You can configure the same RD on 2 non-related devices and use MP-BGP to distribute routes between VRFs on the device itself (via route-target export/import). Also it could be more viable to attach multiple devices to a VRF, because mostly the VRF is strechted over more than one L3 device. Eg. Branch router VRF-A > L3 > Core router VRF-A > L3 > Virtual Firewall for VRF-A. They all have the same routing table and unique address space. It some hard matter to deal with anyway, since you have that many different options and techniques. Maybe as first implementation it could help to just include the RD and/or the Tenant Name in the selection list. See picture below ![selection_252](https://cloud.githubusercontent.com/assets/19592863/26196574/a6878b44-3bbf-11e7-9cb6-33f07aad2926.png)
Author
Owner

@jeremystretch commented on GitHub (Jun 8, 2017):

That could be an option, but in general RDs aren't specifcly unique as well.

Each VRF must have a unique route distinguisher. This is enforced at the database level.

I'd be okay with introducing a display_name on the VRF model (similar to the rack model) which returns the VRF name concatenated with its RD, but trying to associate it with a tenant would result in too much overhead.

@jeremystretch commented on GitHub (Jun 8, 2017): > That could be an option, but in general RDs aren't specifcly unique as well. Each VRF must have a unique route distinguisher. This is enforced at the database level. I'd be okay with introducing a `display_name` on the VRF model (similar to the rack model) which returns the VRF name concatenated with its RD, but trying to associate it with a tenant would result in too much overhead.
Author
Owner

@nonsbe commented on GitHub (Jun 9, 2017):

I'd be ok with that! This can already help to clarify which RD is bound to the duplicate VRF name.

I suppose you share the same opinion that there could be more related objects bound to VRFs (like Devices and Tenants). The hard thing is to pin them correctly in the architectural design of netbox and not having too much overhead while loading or storing information.

Thank you for the effort!

@nonsbe commented on GitHub (Jun 9, 2017): I'd be ok with that! This can already help to clarify which RD is bound to the duplicate VRF name. I suppose you share the same opinion that there could be more related objects bound to VRFs (like Devices and Tenants). The hard thing is to pin them correctly in the architectural design of netbox and not having too much overhead while loading or storing information. Thank you for the effort!
Author
Owner

@jeremystretch commented on GitHub (Jun 14, 2017):

Added display_name to the VRF serializer in 8bcd8c404d.

@jeremystretch commented on GitHub (Jun 14, 2017): Added `display_name` to the VRF serializer in 8bcd8c404d44dd9ca7f0916d8f61fe95c1ed04ed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#919