Ruckus Vlan Change on port: "VLAN set not supported."
Greetings,
Following to issue number 429. Changing a port on ruckus switch ICXXXX results in an error. Ruckus.txt Attached is the output from the "~/bin/netdisco-do vlan"
Notice that the way ruckus changes vlan on ports (at least from a cli point of view) is different than other vendors, (cisco/Arista) may. Hope this doesn't affect the mib's/oid's struckture or demands to change multiple oid fields. A ticket with Ruckus TAC is opened and discussing the issue.
I had a problem identifying the device, but after editing FOUNDRY-SN-ROOT-MIB.mib (for a test, on my testing server) I was able to the mib file we got from TAC, it was identified properly. For their switchs (ex-foundry) Ruckus did not yet merge their mibs under one authority (basically same issue with extreme/motorola) I attached the mibs folder for all hardware on ruckus os 08095.
Thank U All. Jacob
SNMP::Info class is SNMP::Info::Layer3::Foundry, VLAN info is inherited from Bridge.pm via Layer3.pm. Bridge.pm doesn't allow VLAN changes, this was left to implement per class because some vendors require object changes in a very specific order. Next step: finding a way to test a possible solution (personally I don't have access to a Brocade/Foundry/Ruckus switch)
@jacobghattas could you try a specific snmpset command to see if that already changes the VLAN? Looks like you wanted to change GigabitEthernet1/1/6 to VLAN 197 on the switch where you tested; the command would be:
snmpset -c [community] -v2c [switch] .1.3.6.1.2.1.17.7.1.4.5.1.1.6 i 197
I'd love to hear whether that indeed changes the PVID on the port (if it's already an access port)
@JeroenvIS, thank u.
It returns an error in packet... snmpset -c XXXX -v2c XXXX .1.3.6.1.2.1.17.7.1.4.5.1.1.6 i 197 Error in packet. Reason: wrongType (The set datatype does not match the data type the agent expects) Failed object: SNMPv2-SMI::mib-2.17.7.1.4.5.1.1.6 I am trying to figure out if they support it... they have a model where they run 2 types of IOS "r" for router or "s" for switch.
Btw, In any case u need access to a lab, no matter for which device (at least for the devices from my inventory), beep me...
BR, Jacob
After having opened a case @ ruckus here is a brief summary of the snmpset commands for changing ports per vlan.. hoping this will be helpful:
1). Add vlan 60, tagged port 10 (using snVLanByPortMemberTable) [bash-4.1:mib]$ snmpset -v2c -c private 10.176.156.70 1.3.6.1.4.1.1991.1.1.3.2.6.1.3.60.10 i 4 1.3.6.1.4.1.1991.1.1.3.2.6.1.4.60.10 i 1 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.3.60.10 = INTEGER: 4 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.4.60.10 = INTEGER: 1 [bash-4.1:mib]$ ! vlan 60 by port tagged ethe 1/1/10 !
2). Add vlan 6, untagged port 20 (using snVLanByPortMemberTable) [bash-4.1:mib]$ snmpset -v2c -c private 10.176.156.70 1.3.6.1.4.1.1991.1.1.3.2.6.1.3.6.20 i 4 1.3.6.1.4.1.1991.1.1.3.2.6.1.4.6.20 i 2 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.3.6.20 = INTEGER: 4 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.4.6.20 = INTEGER: 2 [bash-4.1:mib]$ ! vlan 6 by port untagged ethe 1/1/20 ! vlan 60 by port tagged ethe 1/1/10
3). Add vlan 6, tagged port 21 (using snVLanByPortMemberTable) [bash-4.1:mib]$ snmpset -v2c -c private 10.176.156.70 1.3.6.1.4.1.1991.1.1.3.2.6.1.3.6.21 i 4 1.3.6.1.4.1.1991.1.1.3.2.6.1.4.6.21 i 1 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.3.6.21 = INTEGER: 4 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.4.6.21 = INTEGER: 1 [bash-4.1:mib]$ ! vlan 6 by port tagged ethe 1/1/21 untagged ethe 1/1/20 ! vlan 60 by port tagged ethe 1/1/10 !
4). Delete vlan 60, tagged port 10 (using snVLanByPortMemberTable) [bash-4.1:mib]$ snmpset -v2c -c private 10.176.156.70 1.3.6.1.4.1.1991.1.1.3.2.6.1.3.60.10 i 3 SNMPv2-SMI::enterprises.1991.1.1.3.2.6.1.3.60.10 = INTEGER: 3 [bash-4.1:mib]$ ! vlan 6 by port tagged ethe 1/1/21 untagged ethe 1/1/20 ! vlan 60 by port !
5). Delete vlan 60 (using snVLanByPortCfgRowStatus) [bash-4.1:mib]$ snmpset -v2c -c private 10.176.156.70 1.3.6.1.4.1.1991.1.1.3.2.7.1.23.60 i 3 SNMPv2-SMI::enterprises.1991.1.1.3.2.7.1.23.60 = INTEGER: 3 [bash-4.1:mib]$ vlan 6 by port tagged ethe 1/1/21 untagged ethe 1/1/20 ! ! BR, Jacob
snmpset -v2c -c ... ip 1.3.6.1.4.1.1991
this suggests ruckus requires it's private oids to be used. so to get this working the set_i_vlan() family of functions should be added to snmp::info::layer3::foundry
shouldn't be that hard when using ciscovtp as template: https://github.com/netdisco/snmp-info/blob/dd982373a7b6ebac9857409ee2496263232781e8/lib/SNMP/Info/CiscoVTP.pm#L310-L470