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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added basic VLAN disco support for Avaya-ERS switches #7098

Merged
merged 7 commits into from Aug 2, 2017

Conversation

Projects
None yet
3 participants
@tslytsly
Contributor

tslytsly commented Aug 1, 2017

take 2. 馃槃
I don't think this is the best code, but it works.

DO NOT DELETE THIS TEXT

Please note

Please read this information carefully. You can run ./scripts/pre-commit.php to check your code before submitting.

Testers

If you would like to test this pull request then please run: ./scripts/github-apply <pr_id>, i.e ./scripts/github-apply 5926

tslytsly and others added some commits Aug 1, 2017

created avaya-ers.inc.php
Avaya do not use the Q-Bridge MIB for Vlans.
They also store untagged vlan info in 2 seperate ways:
rcVlanPortDefaultVlanId stores the actual native VLAN or PVID per switch port.
rcVlanPortPerformTagging tells us the ports tagging mode, this can be true (all tagged or trunk), false (no tagging or access), 3 (only tag the PVID) or 4 (untag the PVID and tag everything else).
Due to how these bits of information are presented, for each VLAN ID we then need to loop through all the ports checking if their PVID matches the VLAN ID and if the tagging mode is false or 4. If both are true we add that port to the list of untagged ports for that VLAN.
subtracting 1 from the $port_id value in the egress_ids loop
This is to fix an off by one error.
The ERS reports VLAN membership using a bitmask, but the MSB is always 0.
So using the `q_bridge_bits2indices` function results in the reported ports membership being +1 wrong.
The best fix for this would be to create a new function exactly the same as `q_bridge_bits2indices` which subtracts the 1 before returning the array. 
I tried this, but it broke my install :)
Not sure how to add to the `functions.inc.php` file without breaking it.
@scrutinizer-notifier

This comment has been minimized.

Show comment
Hide comment
@scrutinizer-notifier

scrutinizer-notifier Aug 2, 2017

The inspection completed: No new issues

scrutinizer-notifier commented Aug 2, 2017

The inspection completed: No new issues

@laf laf merged commit 7a36200 into librenms:master Aug 2, 2017

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
license/cla Contributor License Agreement is signed.
Details
@lock

This comment has been minimized.

Show comment
Hide comment
@lock

lock bot May 17, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed.

lock bot commented May 17, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed.

@lock lock bot locked as resolved and limited conversation to collaborators May 17, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.