Skip to content

Feat(eos_cli_config_gen): Add support for monitor loop-protection #6012

@kmueller68

Description

@kmueller68

Enhancement summary

Add support for monitor loop-protection.

https://www.arista.com/en/support/toi/eos-4-15-0f/13608-loop-protection

Switch(config)#monitor loop-protection
Switch(config-monitor-loop-protect)#?
  disabled-time      Set how long looped interfaces are disabled for
  protect            Protect VLAN from loops
  rate-limit         Set throttling of loop protection messages
  shutdown           Disable loop protection globally
  transmit-interval  Set message transmission interval

Which component of AVD is impacted

eos_cli_config_gen

Use case example

monitor_loop_protection:
  enabled: true
  disabled_time: 1800
  protect_vlan: 1200-1300
  rate_limit: <int; 1000
  transmit_interval: 3
monitor_loop_protection:
  enabled: <bool>
  disabled_time: <int, 0-604800; default 604800>
  protect_vlan: <str>
  rate_limit: <int; <0-1000>
  transmit_interval: <int; 1-10; default 5>

ethernet_interfaces:
  - name: <str; required; unique>
    <snip>
    loop_protection: <bool>
    <snip>

type: dict
keys:
  monitor_loop_protection:
    type: dict
    keys:
      enabled:
        type: bool
      disabled_time:
        type: int
        convert_types:
          - str
	    description: |- 
		  Port disable time. Default is 604800 seconds (7 days).
		  0 indicates that the disabled device should not automatically come back up.
        min: 0
        max: 604800
      protect_vlan:
	    type: str
        convert_types:
          - int
        description: |-
          VLAN range as string.
          "< vlan_id >, < vlan_id >-< vlan_id >"
          Example: 15,16,17,18
      rate_limit
	            type: int
        convert_types:
          - str
        description: Rate limits the loop detection frames. Default to maximum 1000/second.
		min: 0
        max: 1000
      transmit_interval:
        type: int
        convert_types:
          - str
		description: Loop protection packet transmit interval. Default is 5 seconds.
        min: 1
        max: 10


type: dict
keys:
  ethernet_interfaces:
    type: list
    primary_key: name
    items:
      type: dict
      keys:
		<snip>
		loop_protection:
		  shutdown:
            type: bool
		<snip>



Describe alternatives you have considered

eos_cli

Additional context

No response

Contributing Guide

  • I agree to follow this project Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions