Replies: 7 comments 28 replies
-
What you're describing is the function of the VRF model.
Prefixes can be imported/exported among VRFs using route targets, which mimics their real-world function. |
Beta Was this translation helpful? Give feedback.
-
What about this approach : What if the aggregate is extended with a 'VRF members' multivalue field. This way, I could create multiple 10.0.0.0/8 aggregates, that each contain an unique ip space, and is shared across multiple vrf's One of the goals that I an accomplish with this, is a proper documentation of overlapping IP spaces, that is shared in different VRF's. |
Beta Was this translation helpful? Give feedback.
-
I'm still struggling with this... I'm not able to document my ISP network with the current rules of Netbox...
If I create a new prefix, the l3domain vrf will make sure it is unique in my rfc1918 IP space of that environment, and the isolation vrf can tell me how the routing is done for that prefix. Coming to think of it.. it would solve a lot of my problems.
For sure a solution that does not deviate a lot from the current implementation of the VRF, but creates super flexibility Pieter |
Beta Was this translation helpful? Give feedback.
-
Since I can't seem to reply on @jeremystretch 's comment on how one should use only one VRF if one wishes to enforce prefix unicity (technical difficulty: nothing happens when I click on the "reply" field), and since I respectfully disagree (sorry about that :) ) I will make a new comment. Here goes. In a multi-tenant network one may implement one L3VPN by tenant over several interconnected routers by using one VRF per tenant per router, each VRF exchanging all its routes with the other VRF of the same tenant on the other routers through a shared route target. In that context, IP unicity is desirable across all VRF of the same tenant in most if not all cases. From Netbox standpoint there is one VRF per router, and there is no technical way to enforce unicity across them, as explained in introduction of this thread. Another similar case, in the same context, is if we want to register both the tenants' IP plan and keep control of the supernet from which are alloted /30 to locally connect our VRF on our CE and the tenants' physical devices. These prefixes are logically in their respective VRF, but we might want to ensure unicity across all VRF and devices, to keep things exploitable and easy to troubleshoot. One way to support this second use case is to use a pseudo-VRF to contain the interconnection IP plan, but it is twisting the model, and we lose information in the process. To support both use cases, I think the proposal made here works, if we add the the tenant to the L3 domain model : a L3 domain would be defined by a list of at least one VRF and a list of at least one tenant. I know that both proposals could lead to L3 domains overlapping (a same VRF, a same tenant and thus a same prefix could belong to more that one), but I fail to find an issue with that. |
Beta Was this translation helpful? Give feedback.
-
I've given this topic a lot more thoughts and I think we must go back to fundamentals. This is not going in the right direction. We ask for L3 domains to ensure a unicity of addresses constraint. Why do we need unicity? Two reasons: (i) to allow routing within the domain and for (ii) business reasons (technical debt, exploitability, etc. You name it.) Now that we know what we want, what do we have in terms of containers for IP addresses that can be used to build L3 domains ?
My conclusion: any design of a L3 domain model based on a collection of VRF and all their content can only model a small subset of reality and is bound to fail. So, to synthetise, a L3 domain is defined by :
I have no better proposal for the topological part than "a set of VRF". Asking Netbox to deduce it from the network topology would be way too complex. Finally, for practical reason, it make sense to merge L3 domains that share the same topological boundaries. So the final model would be: |
Beta Was this translation helpful? Give feedback.
-
After thinking about a few way to do it and always finding counter
arguments against each I finally came to my sense. I spent to much time
trying to find a model. I was probably overthinking that stuff, and falling
into the overengineering trap. So once again I went back to fundamentals.
The L3 domain is the model we are trying to design and request from core
maintainer. This model is the one providing the feature we want, and thus
the one that may need to gather all other attributes we may need such as
tenancy, description, tags, role, scope (if we want to add physical scope
as another type of boundary to the domain), etc.
Moreover, we have absolutely no need to apply any model logic between
supernets as used in l3 domains. There is no mathematical or technical
constraint between supernets used in L3 domains beyond being well formed. I
don't care if they overlap with other doamin (I want to be able to make
them overlap!). I don't even care if they overlap **inside** a given
domain. It doesn't change a damn thing.
It all boils down to: we don't need a model to represent supernets in a L3
domain. A collection of values of the "IP address" data type is enough.
By the way, how comes I can't find the content of the emails we exchange on
the subject in the thread on github? Are they not automatically included?
Le jeu. 31 mars 2022 à 22:18, PieterL75 ***@***.***> a écrit :
… I like the idea of combining supernets into a l3 domain.
You can indeed say that it is the prefix/supernet that defines the
l3domain, and that the vrf is an optional carrier/transport layer of it.
That way, one l3 domain can live across vrf's..
Could we expand aggregates to the function of the supernets ?
I know that currently, we can only create one 10.0.0.0/8 aggregate. but
if we can add the layer3 domain to the aggregates, then we could create
more 10.0.0.0/8 each linked to its layer domain.
I'm sure there are many other options, so your thoughts ?
—
Reply to this email directly, view it on GitHub
<#7608 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAF45H7UMQNC4OLLZDOW6JDVCYCBJANCNFSM5GOKOYMA>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
This would definitely be a great feature. Our solution today for this is to reserve the prefix in all shared vrfs. This works, but is not pretty to look at and can be a bit cumbersome to use. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
We have a mix of environments, all 'owning' a whole 10.0.0.0/8, we call them 'Layer3 domains'.
Within a layer3 domain, all IP addresses have to be unique.
On top of that, each Layer3 domain can contain different VRF's, each separating the purpose of the prefix (customer shared, customer dedicated, management) etc..
So we can have
But we cannot have
I've tried to model the above in Netbox, but it looks like it does not have that concept of a Layer3 domain.
Netbox does have a VRF, but that VRF has no relation to other VRF's to check the used prefixes.
Is there an option, to create like the VLANGroups (which we refer to as Layer2Domains), something like 'VRFGroups'.
Within a VRFGroup all IPs and Prefixes need to be unique
Pieter
Beta Was this translation helpful? Give feedback.
All reactions