Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a link state monitor task #37

Closed
5 tasks done
johannaengland opened this issue Jun 21, 2023 · 3 comments
Closed
5 tasks done

Make a link state monitor task #37

johannaengland opened this issue Jun 21, 2023 · 3 comments
Assignees

Comments

@johannaengland
Copy link
Contributor

johannaengland commented Jun 21, 2023

The link state monitor basically:

  1. Collects the complete list of all ports on a device, including their link state
  2. Detects link state changes since the last collection and makes new events for changed states

Implementation breakdown

@johannaengland johannaengland changed the title Make a link state monitor task in the Zino backend Make a link state monitor task Jun 21, 2023
@lunkwill42 lunkwill42 self-assigned this Aug 15, 2023
@lunkwill42
Copy link
Member

Noting that the original Zino code collects both locIfDescr and ifAlias IF-MIB values if available. However, as pointed out by Håvard in a discussion earlier this year, locIfDescr has been deprecated for a number of years (remember, Tcl-Zino started in the 90s), and has been supplanted by ifAlias.

I.e. we shouldn't need to care about locIfDescr at all in Zino 2.

@lunkwill42
Copy link
Member

Exploratory coding for this issue reveals that more changes are needed to the base SNMP adapter in zino.snmp.SNMP. #69 is one of these.

Also, none of the current walk implementations support more than one walk variable, while the underlying protocol supports asking for more than one variable per request (whether it be GET-NEXT or GET-BULK).

The link state monitor needs to get a bunch of attributes (i.e. columns) per interface, and the best way to do this SNMP-wise is to do what Zino 1 calls a sparse walk. To avoid implementing a sparse walk as a bunch of daisy-chained walks of individual columns, a new getbulk-implementation is needed in zino.snmp.SNMP.
,

@lunkwill42
Copy link
Member

I've removed the flapping task from this issue, as the flapping detection algorithm is only relevant to SNMP trap processing, which isn't implemented yet. This issue can therefore be closed, as the active link state monitor is more or less complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants