Update Ports abstraction module to better distinguish nodes vs. switches.
The lookup functions now look at the wire type and which location the requested node is in (node_id1 or node_id2) to decide which side of the link the port represents (switch vs. endpoint). We don't (yet) query the nodes table for the role since we consistently use the node_id1 (and related) columns to hold the endpoint (node) information for wires of type "Node". For inter-switch trunks, we always mark the port object as being the "switch" side. Both sides are the switch side... Functions like getPCPort() and getSwitchPort() are ambiguous when invoked on a switch port object, and will always return a reference to the object the method was invoked on. Also update the HP snmpit module to explicitly check the wire type for a port before deciding whether or not to get the port at the other end in the listVlans() function.
Showing with 129 additions and 62 deletions