Skip to content

Feat(eos_cli_config_gen): Add support for monitor link-flap profiles and assigning profiles to interfaces #6212

@colinmacgiolla

Description

@colinmacgiolla

Enhancement summary

We have support for creating link-flap monitor profiles (losely related to the errdisable work under #6210 ) and this request to is to add support for creating the profiles and adding them to an interface.

Which component of AVD is impacted

eos_cli_config_gen

Use case example

An example schema is below, but the typical use case would be to define custom errordisable/link-flap profiles for interfaces known to trigger the standard monitor incorrectly.

Describe the solution you would like

type: dict
keys:
  monitor_link_flap:
    type: dict
    keys: 
      profile:
        type: list
        primary_key: name
        items:
          type: dict
          keys: 
            name:
              type: str
            damping_penalty:
              type: dict
              keys: 
                decay_half_life:
                  type: int
                  convert_types:
                    - str
                  min: 1
                  max: 5000
                mac_fault:
                  type: dict
                  keys: 
                    local:
                      type: int
                      convert_types:
                        - str
                      min: 0
                      max: 5000
                    remote:
                      type: int
                      convert_types:
                        - str
                      min: 0
                      max: 5000
                threshold:
                  type: dict
                  keys:
                    maximum:
                      type: int
                      convert_types:
                        - str
                      min: 0
                      max: 1000000
                    reuse:
                      type: int
                      convert_types:
                        - str
                      min: 0
                      max: 1000000
                    suppression:
                      type: int
                      convert_types:
                        - str
                      min: 0
                      max: 1000000
            max_flaps: 
              type: int
              convert_types:
                - str
              min: 1
              max: 100
            time:
              type: int
              convert_types:
                - str
              min: 1
              max: 1800
            violations:
              type: int
              convert_types:
                - str
              min: 1
              max: 1000
            intervals:
              type: int
              convert_types:
                - str
              min: 1
              max: 1000
      default_profiles:
        type: list
        items: 
          type: str
        description: The default-profile set may contain zero, one, or multiple profiles. When the default-profile set contains multiple profiles, error-disable criteria is satisfied when conditions match any profile. 

The Ethernet Interfaces model would also need to be updated to allow for link-flap monitors to be assigned e.g. switch(config-if-Et33)# monitor link-flap profiles LF03 LF04

Describe alternatives you have considered

No response

Additional context

No response

Contributing Guide

  • I agree to follow this project Code of Conduct

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions