-
Notifications
You must be signed in to change notification settings - Fork 69
SROS VRF implementation #1091
Replies: 2 comments · 8 replies
-
I tried to reproduce your sample topology as well as I could (I don't have a SR OS container or license), and it looks like the VRF module is not used at all because the VRFs are not used anywhere. netlab transformation code tries to optimize the configuration and resources, and sometimes removes unused components. For example, if you use OSPF module on a device but the device has no links on which it could run OSPF, the OSPF module is silently removed from that device. Using your topology, I ran netlab create followed by netlab inspect --node r1, and the modules used by the device (the module variable) were ISIS, BGP, and MPLS. In theory, it should be enough to have loopbacks in VRFs to make them work, but that's not how netlab works at the moment (I opened #1092 to have that fixed). Adding stub links to the VRF should get you the expected results:
|
Beta Was this translation helpful? Give feedback.
All reactions
-
I tested the local copy and have the following results: Scenario 1 Topology.yml
Inspect node 1 output
Scenario 2 Topology.yml
Inspect Node 1 Output
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks a million for the feedback. I haven't fixed scenario #1 yet (see #1092), it's nice to hear scenario #2 is now working. |
Beta Was this translation helpful? Give feedback.
All reactions
-
No problem, thank you for this fantastic tool! I'm just getting started with netlab and excited about all that it offers. I was in the process of slowly developing my own templates for clab deployments (big fan and user of clab for a while), when I heard about this tool on packet pushers that did exactly what I was after. The netlab + clab implementation has been super helpful to quickly stand up, test, and tinker with various networking scenarios. |
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.
All reactions
-
I pulled the latest repo down today and ran 2 tests: Test 1I declared the single red VRF. I got a warning message on the creation (shown below), and no vrfs were created on the nodes. With this warning message I went ahead and ran Test 2
Topology.yml
Test 2I nested the vrfs definition under each node as well as kept the vrfs global definition. Once I kept the global and nested the vrfs under each node, it successfully created the vrfs. When I didn't have the global definition it complained
Topology.yml
Is this the expected result of these tests and usage? I thought that if I declared the VRF parameters globally, each node would inherit unless I somehow stated not to include... However, this may be a misinterpretation of the tool on my part and I need to define the VRF globally and then specifically say what nodes are to use the specific VRFs. Either use case makes sense to me, and I'm thinking I misinterpreted the use of the tool. Thanks for the bug fix! |
Beta Was this translation helpful? Give feedback.
All reactions
-
As expected. Thank you.
Great to hear that, we squashed this one ;)
And you uncovered another VRF bug (#1110). Thank you!
Yes.
We took the opposite approach: we're not copying VRFs into nodes unless they are needed/required. While that's now mentioned in the documentation (not published yet, but the source code is in the repo), I will write a blog post to emphasize it.
You don't have to specify that a node uses a VRF if it has an interface (link) in that VRF. If you want to have "fully virtual" VRFs then you have to specify them. |
Beta Was this translation helpful? Give feedback.
-
I am having some issues implementing the VRF module for SROS within netlab and would appreciate any feedback. I have slowly been expanding the use cases of netlab while using clab as the provider. I can't get netlab to recognize and deploy VRFs on SROS. I don't know why it is skipping the playbook vrf task deployment. I've tried a few variations of the topology file to address this. Here's an example of the topology file I'm implementing:
Here is the output I see from the verbose output of the "netlab up" command:
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions