Part of the Green Monster Project is to abstract the hardware for Vlan Management. To do this I created a “plugin” for each network switch that we use at the EEC. When action needs to be taken against a network switch. Green Monster first queries the database (See post 2) to determine the DLL that it should load into the plugin manager. Once it is loaded I can execute the exposed methods.
This plugin model is the same process used for Power management and KVM management. The interaction with the network switch is abstracted from the main code. It is up to the plugin to know the best ways to execute a given command. This allows for the plugin to use any available execution methods. This can include SNMP, Netconf, scripted telnet, SSH, or other web services. As long as the plugin has the ability to communicate via the protocol desired it should work.
The majority of the code we use for device interaction is SNMP. So I thought I would post how we use SNMP to do Vlan management. Some of this was found by doing packet sniffs and working with the Manufactures engineers.
For SNMP in CSharp I use the nsoftware.com SSNMP library. It is very fast and we had luck with it working well. The code to make the “raw” snmp call is not included because that requires a license for the nsoftware library. If you have that license and are interested please let me know and I can share some snip-its.
Brocade Networks (Turborion, MLX)