netenglabs / suzieq

Using network observability to operate and design healthier networks
https://www.stardustsystems.net/
Apache License 2.0
787 stars 104 forks source link

[Feature]: Additional field configVlanList to interfaces table #837

Open smf22 opened 1 year ago

smf22 commented 1 year ago

Suzieq version

0.19.1

Install Type

hand deployed python

Feature type

Extend sq-poller

Use case

It is useful to be able to compare the allowed VLANs on interfaces of different switches to ensure a consistent configuration e.g., switch-to-switch links, trunks to servers using NIC teaming with connections to switch pairs etc. This is important to ensure that service can be guaranteed irrespective of the physical path traffic from a specific VLAN would use.

When looking at the values from the vlanList field within the interface table, the displayed VLANs does not always match the configured VLANs. The following example shows two routers where the allowed VLANs from a configuration perspective are identical, but SuzieQ shows different VLANs in the vlanList field:

sfuller> interface show hostname=router1 ifname="TenGigabitEthernet1/0/25" columns="hostname ifname adminState state mtu vlan vlanList" hostname ifname state adminState mtu vlan vlanList 0 router1 TenGigabitEthernet1/0/25 up up 1500 1 [1, 127, 2403, 2510, 2511] sfuller> interface show hostname=cxxxx-2-eng ifname="TenGigabitEthernet1/0/25" columns="hostname ifname adminState state mtu vlan vlanList" hostname ifname state adminState mtu vlan vlanList 0 router2 TenGigabitEthernet1/0/25 up up 1500 1 [1, 2502, 2510, 2511]

The above inconsistency was due to VTP pruning some VLANs from the TenGigabitEthernet1/0/25 interface.

Proposed functionality/solution

To avoid such scenarios please add another field e.g., configVlanList that would show the configured VLANs irrespective of the effects of features such as VTP pruning.

External dependencies

None

Additional Context

No response