-
Notifications
You must be signed in to change notification settings - Fork 66
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
Clear vxlan.vlans for nodes with no vlans (e.g. EVPN RR) #466
Conversation
… 'vlan' module is not enabled This leads to undefined vlan.id values, causing confusing errors about evpn.evi values that are based on those
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As there's no topology describing the challenge you're facing i'm trying to reverse-engineer what's going on. If I got it right, you have a node with VXLAN-enabled VLANs (+ EVPN) but without the VLAN module, so the VLANs have no vlan.id.
Should that be the case, the error should be reported in the VXLAN module, not in EVPN module, and if VXLAN module is not present, then we have to start discussing what to do with vxlan.vlans attribute which could only happen on a node, because globally that would be detected.
The error happens with only a global Then when the evpn module iterates over vxlan.vlans, it errors out One way to fix this, is for the vxlan module to remove |
Please add the topology that generates this. I'm worried what the root cause of this behavior is, and that we're not just papering over the symptoms. |
Thanks for an excellent test topology -- it nailed it ;) I knew there was something fishy about the whole thing. VLAN module is a requirement for VXLAN module, and yet you managed to create a topology where a node has VXLAN module, but not VLAN module. It's either a SNAFU I created with 31bf8e1 (shame on me), or another edge case we haven't identified yet. In any case, this needs to be fixed -- obviously we need to check module dependencies for every node, as we might have a situation where the global list of modules is consistent, but a particular node combo violates the requirements. I'll fix it, just give me a few hours. Finally, as I keep saying: focus on the root cause of the problem, not a quick fix somewhere else that will make the current lab you're working on work. The root cause was the shaky module dependency check, and fixing the VXLAN attributes in EVPN module would just kick the can down the road. Last but not least, now that I know what the root cause is, this is the minimum topology I'll add to the test cases:
|
I still think it's better to also clear Agree that there is the underlying issue of module dependency checks too |
Agree. #476 has been fixed.
Could you please check whether #475 and #476 solved what this PR is addressing? |
Based on lack-of-response I'm guessing that this is fixed. |
A node that has the
evpn
module enabled but not thevlan
module ( e.g. EVPN RR ) hits an error due to undefined vlan.id values. This causes confusing errors about evpn.evi values that are based on those ( notint
but{}
)Fixes #417