dellemc.enterprise_sonic.sonic_evpn_esi_multihome module – Manage EVPN ESI multihoming configuration on SONiC

Note

This module is part of the dellemc.enterprise_sonic collection (version 3.2.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install dellemc.enterprise_sonic.

To use it in a playbook, specify: dellemc.enterprise_sonic.sonic_evpn_esi_multihome.

New in dellemc.enterprise_sonic 3.1.0

Synopsis

  • This module provides configuration management of EVPN ESI multihoming for devices running SONiC

Parameters

Parameter

Comments

config

dictionary

EVPN ESI multihoming configuration

df_election_time

integer

Election timer value in seconds

Has a range of 0 to 86400

Default is 3

es_activation_delay

integer

Activation delay in seconds

Has a range of 0 to 1200000

Default is 0

mac_holdtime

integer

MAC hold time in seconds

Has a range of 0 to 86400

Default is 1080

Specify 0 to disable MAC hold time

neigh_holdtime

integer

Neighbor hold time in seconds

Has a range of 0 to 86400

Default is 1080

Specify 0 to disable neighbor hold time

startup_delay

integer

Startup delay in seconds

Has a range of 0 to 3600

Default is 300

Specify 0 to disable startup delay

state

string

The state of the configuration after module completion

Choices:

  • "merged" ← (default)

  • "deleted"

  • "replaced"

  • "overridden"

Notes

Note

  • Tested against Enterprise SONiC Distribution by Dell Technologies.

  • Supports check_mode.

Examples

# Using "deleted" state
#
# Before state:
# ---------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  mac-holdtime 1080
#  neigh-holdtime 1080
#  startup-delay 300

- name: Delete specific option from evpn_esi_multihome configuration
  sonic_evpn_esi_multihome:
    config:
      mac-holdtime: 1080
    state: deleted

# After State:
# --------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  neigh-holdtime 1080
#  startup-delay 300


# Using "deleted" state
#
# Before state:
# ---------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  mac-holdtime 1080
#  neigh-holdtime 1080
#  startup-delay 300
#  df-election-time 3

- name: Delete all evpn_esi_multihome configuration
  sonic_evpn_esi_multihome:
    config: {}
    state: deleted

# After State:
# --------------
#
# sonic# show running-configuration evpn-mh
# (No "evpn-mh" configuration present)


# Using "merged" state
#
# Before state:
# ---------------
#
# sonic# show running-configuration evpn-mh
# (No "evpn-mh" configuration present)

- name: Merge specific option from evpn_esi_multihome configuration
  sonic_evpn_esi_multihome:
    config:
      startup-delay: 300
      es-activation-delay: 3000
    state: merged

# After State:
# --------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  startup-delay 300
#  es-activation-delay 3000


# Using "replaced" state
#
# Before state:
# ----------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  mac-holdtime 1080
#  neigh-holdtime 1080
#  startup-delay 300
#  df-election-time: 3

- name: Replace evpn_esi_multihome configuration
  sonic_evpn_esi_multihome:
    config:
      neigh-holdtime: 200
      df-election-time: 600
    state: replaced

# After State:
# --------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  neigh-holdtime 200
#  df-election-time: 600


# Using "overridden" state
#
# Before state:
# ----------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  mac-holdtime 1080
#  neigh-holdtime 1080
#  startup-delay 300

- name: Override evpn_esi_multihome configuration
  sonic_evpn_esi_multihome:
    config:
      startup-delay: 200
      mac_holdtime: 500
    state: overridden

# After State:
# --------------
#
# sonic# show running-configuration evpn-mh
# !
# evpn esi-multihoming
#  startup-delay 200
#  mac_holdtime: 500

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

after

dictionary

The configuration resulting from module invocation.

Returned: when changed

after(generated)

dictionary

The configuration that would result from non-check-mode module invocation.

Returned: when check_mode

before

dictionary

The configuration prior to the module invocation.

Returned: always

commands

list / elements=string

The set of commands pushed to the remote device. In check_mode the needed commands are displayed, but not pushed to the device.

Returned: always

Sample: ["command 1", "command 2", "command 3"]

Authors

  • Aida Shumburo (@aida-shumburo)