This is clearly a problem and should be addressed.
Ideally through implementing class inheritance of some form.
device:
--Switch
--Router
etc...
Extensible to multi-vendor as in:
device:
--Switch
----Cisco
------IOS
--Router
But that leaves certain devices in a weird state (layer 3 switches, for instance).
Perhaps not so granular, except on a case/case basis:
Device:
--IOS
--NXOS
differentiation between switch/router at this point is limited to WAN interfaces and availability of switchport commands (possibly), but those might be better handled via exceptions.
This is clearly a problem and should be addressed.
Ideally through implementing class inheritance of some form. device: --Switch --Router etc...
Extensible to multi-vendor as in: device: --Switch ----Cisco ------IOS --Router
But that leaves certain devices in a weird state (layer 3 switches, for instance).
Perhaps not so granular, except on a case/case basis: Device: --IOS --NXOS
differentiation between switch/router at this point is limited to WAN interfaces and availability of switchport commands (possibly), but those might be better handled via exceptions.