netdisco / snmp-info

Other
35 stars 31 forks source link

Port-channel info not detected when members are down #484

Closed kingtrw closed 9 months ago

kingtrw commented 10 months ago

I have a Cat3750 with a po10 configured on Gi1/0/2 (shutdown) and Gi1/0/3 (down). These are configured as being members of port-channel 10.

ND is aware of the interfaces (Gi1/0/2,Gi1/0/3,Po10) but not that they are related.

For another port-channel where all the members are up, ND does show the relevant port-channel under the relevant interfaces, so I suspect that the interface being down means some process is skipped.

I'm tolerably certain that the info is exposed via SNMP as Observium is aware of the po membership.

ollyg commented 10 months ago

Hi @kingtrw unfortunately looks like the snapshot didn't capture IF-MIB or anything else in .1.3.6.1 branch (so is missing the interface data). Can you try again or look for errors? Many thanks.

ollyg commented 10 months ago

looks like two issues:

Both are for SNMP::Info

JeroenvIS commented 9 months ago

looks like two issues:

* agg_ports_ifstack needs patching to use propVirtual port type

* agg_ports_ifstack needs to be included in agg_ports

Both are for SNMP::Info

I agree on the 2nd point, including agg_ports_ifstack. Not sure how you came to the first one though. As discussed on IRC, this likely causes the bug reported in Netdisco: https://github.com/netdisco/netdisco/issues/1077

ollyg commented 9 months ago

The CISCO-PAGP-MIB says "The ifType of an agport is propVirtual" and indeed to reveal these from ifStackStatus it needs to have propVirtual in the filter. Anyway, it can be restricted to the Layer3::C6500 class or similar for Cisco, and it seems can also filter on CISCO-PAGP-MIB::pagpEthcOperationMode to only pick valid items from ifStackStatus.

JeroenvIS commented 9 months ago

The CISCO-PAGP-MIB says "The ifType of an agport is propVirtual" and indeed to reveal these from ifStackStatus it needs to have propVirtual in the filter.

Ah, that makes sense.

Anyway, it can be restricted to the Layer3::C6500 class or similar for Cisco, and it seems can also filter on CISCO-PAGP-MIB::pagpEthcOperationMode to only pick valid items from ifStackStatus.

Agreed, both approaches should work.

ollyg commented 9 months ago

Thanks @JeroenvIS !

Have now implemented and released in SNMP::Info 3.94 and Netdisco 2.064001