dellemc.enterprise_sonic.sonic_ospfv3_interfaces module – Configure OSPFv3 interface mode protocol settings 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_ospfv3_interfaces.

New in dellemc.enterprise_sonic 3.1.0

Synopsis

  • This module provides configuration management of OSPFv3 interface mode parameters on devices running SONiC.

  • Configure VRF instance before configuring OSPFv3 in a VRF.

  • Configure global/VRF OSPFv3 instance before configuring OSPFv3 in interfaces.

Parameters

Parameter

Comments

config

list / elements=dictionary

Specifies the OSPFv3 interface mode related configuration.

advertise

string

Enable OSPFv3 interface advertise.

expects name of a prefix list.

area_id

string

OSPFv3 Area ID of the network (A.B.C.D or 0 to 4294967295).

bfd

dictionary

Configure OSPFv3 interface BFD.

bfd_profile

string

Configure BFD profile.

enable

boolean / required

Enable BFD support for OSPFv3.

Choices:

  • false

  • true

cost

integer

Configure OSPFv3 interface cost (1 to 65535).

dead_interval

integer

Configure OSPFv3 adjacency dead interval (1 to 65535).

hello_interval

integer

Configure OSPFv3 neighbour hello interval (1 to 65535).

mtu_ignore

boolean

Disable OSPFv3 MTU mismatch detection.

Choices:

  • false

  • true

name

string / required

Full name of the interface, i.e. Ethernet1.

network

string

Configure OSPFv3 interface network type

Choices:

  • "broadcast"

  • "point_to_point"

passive

boolean

Configure ospfv3 interface as passive.

Choices:

  • false

  • true

priority

integer

Configure OSPFv3 adjacency router priority (0 to 255).

retransmit_interval

integer

Configure OSPFv3 retransmit interval (2 to 65535).

transmit_delay

integer

Configure OSPFv3 transmit delay (1 to 65535).

state

string

Specifies the operation to be performed on the OSPFv3 interfaces configured on the device.

In case of merged, the input configuration will be merged with the existing OSPFv3 interfaces configuration on the device.

In case of deleted, the specified existing OSPFv3 interfaces configuration will be removed from the device.

In case of overridden, all the existing OSPFv3 interfaces configuration will be deleted and the specified input configuration will be installed.

In case of replaced, the existing OSPFv3 interface configuration on the device will be replaced by the configuration in the playbook for each interface group configured by the playbook.

Choices:

  • "merged" ← (default)

  • "deleted"

  • "replaced"

  • "overridden"

Notes

Note

  • Supports check_mode.

  • Tested against Enterprise SONiC Distribution by Dell Technologies.

Examples

# Using deleted

# Before state:
# -------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile2
# ipv6 ospfv3 cost 30
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 priority 20
# ipv6 ospfv3 passive
# !
# interface Eth1/2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#

- name: Delete the specified OSPFv3_interface configurations
  sonic_ospfv3_interfaces:
    config:
      - name: 'Eth1/1'
        area_id: '2.2.2.2'
        cost: 30
        priority: 20
        hello_interval: 10
        dead_interval: 40
        mtu_ignore: true
        bfd:
          enable: true
          bfd_profile: 'profile2'
        network: point_to_point
      - name: 'Eth1/2'
        bfd:
          enable: true
      - name: 'Eth1/3'
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 passive
# !
# interface Eth1/2
# ipv6 ospfv3 network point-to-point
# !
# interface Eth1/3
# !
# sonic#


# Using deleted

# Before state:
# -------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile2
# ipv6 ospfv3 cost 30
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 priority 20
# ipv6 ospfv3 passive
# !
# interface Eth1/2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#

- name: Delete the specified OSPFv3_interface configurations
  sonic_ospfv3_interfaces:
    config:
      - name: 'Eth1/1'
      - name: 'Eth1/2'
        bfd:
          enable: true
      - name: 'Eth1/3'
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# !
# interface Eth1/2
# ipv6 ospfv3 network point-to-point
# !
# interface Eth1/3
# !
# sonic#


# Using merged

# Before state:
# -------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# !
# interface Eth1/2
# !
# interface Eth1/3
# !
# sonic#

- name: Add the OSPFv3_interface configurations
  sonic_ospfv3_interfaces:
    config:
      - name: 'Eth1/1'
        advertise: 'test1'
        area_id: '2.2.2.2'
        cost: 20
        passive: true
        priority: 20
        hello_interval: 10
        dead_interval: 40
        mtu_ignore: true
        hello_multiplier: 5
        bfd:
          enable: true
          bfd_profile: 'profile1'
        network: broadcast
      - name: 'Eth1/3'
        area_id: '3.3.3.3'
        hello_multiplier: 5
        bfd:
          enable: true
        network: point_to_point
    state: merged

# After state:
# ------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile1
# ipv6 ospfv3 cost 20
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 passive
# ipv6 ospfv3 priority 20
# !
# interface Eth1/2
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#

# Using merged

# Before state:
# -------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile1
# ipv6 ospfv3 cost 20
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 priority 20
# !
# interface Eth1/2
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#

- name: Add the OSPFv3_interface configurations
  sonic_ospfv3_interfaces:
    config:
      - name: 'Eth1/1'
        area_id: '2.2.2.2'
        cost: 30
        passive: true
        priority: 20
        hello_interval: 10
        dead_interval: 40
        mtu_ignore: true
        bfd:
          enable: true
          bfd_profile: 'profile2'
        network: point_to_point
      - name: 'Eth1/2'
        bfd:
          enable: true
        network: point_to_point
    state: merged

# After state:
# ------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile2
# ipv6 ospfv3 cost 30
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 passive
# ipv6 ospfv3 priority 20
# !
# interface Eth1/2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#


# Using replaced

# Before state:
# -------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile1
# ipv6 ospfv3 cost 20
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 passive
# ipv6 ospfv3 priority 20
# !
# interface Eth1/2
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#


- name: Replace the OSPFv3_interface configurations
  sonic_ospfv3_interfaces:
    config:
      - name: 'Eth1/3'
        area_id: '2.2.2.2'
        cost: 30
        passive: true
        priority: 20
        hello_interval: 10
        dead_interval: 40
        mtu_ignore: true
        bfd:
          enable: true
          bfd_profile: 'profile2'
        network: broadcast
    state: replaced

# After state:
# ------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile1
# ipv6 ospfv3 cost 20
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 passive
# ipv6 ospfv3 priority 20
# !
# interface Eth1/2
# !
# interface Eth1/3
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile2
# ipv6 ospfv3 cost 30
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 passive
# ipv6 ospfv3 priority 20
# !
# sonic#


# Using overridden

# Before state:
# -------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile1
# ipv6 ospfv3 cost 20
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 priority 20
# !
# interface Eth1/2
# !
# interface Eth1/3
# ipv6 ospfv3 bfd
# ipv6 ospfv3 network point-to-point
# ipv6 ospfv3 area 3.3.3.3
# !
# sonic#

- name: Override the OSPFv3_interface configurations
  sonic_ospfv3_interfaces:
    config:
      - name: 'Eth1/3'
        advertise: 'test1'
        area_id: '2.2.2.2'
        cost: 30
        passive: true
        priority: 20
        hello_interval: 10
        dead_interval: 40
        mtu_ignore: true
        bfd:
          enable: true
          bfd_profile: 'profile2'
        network: broadcast
    state: overridden

# After state:
# ------------
#
# sonic# show running-configuration interface
# !
# interface Eth1/1
# !
# interface Eth1/2
# !
# interface Eth1/3
# ipv6 ospfv3 advertise prefix-list test1
# ipv6 ospfv3 area 2.2.2.2
# ipv6 ospfv3 bfd
# ipv6 ospfv3 bfd profile profile2
# ipv6 ospfv3 cost 30
# ipv6 ospfv3 dead-interval 40
# ipv6 ospfv3 hello-interval 10
# ipv6 ospfv3 mtu-ignore
# ipv6 ospfv3 network broadcast
# ipv6 ospfv3 passive
# ipv6 ospfv3 priority 20
# !
# sonic#

Return Values

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

Key

Description

after

list / elements=string

The configuration resulting from module invocation.

Returned: when changed

Sample: ["The configuration returned will always be in the same format as the parameters above.\n"]

after(generated)

list / elements=string

The generated(calculated) configuration that would be applied by module invocation.

Returned: when check_mode

Sample: ["The configuration returned will always be in the same format as the parameters above.\n"]

before

list / elements=string

The configuration prior to the module invocation.

Returned: always

Sample: ["The configuration returned will always be in the same format as the parameters above.\n"]

commands

list / elements=string

The set of commands pushed to the remote device.

Returned: always

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

Authors

  • Mansi Jharia (@Mansi062001)