dellemc / dellemc.enterprise_sonic / 2.2.0 / module / sonic_l3_interfaces Configure the IPv4 and IPv6 parameters on Interfaces such as, Eth, LAG, VLAN, and loopback | "added in version" 1.0.0 of dellemc.enterprise_sonic" Authors: Kumaraguru Narayanan (@nkumaraguru) This plugin has a corresponding action plugin.dellemc.enterprise_sonic.sonic_l3_interfaces (2.2.0) — module
Install with ansible-galaxy collection install dellemc.enterprise_sonic:==2.2.0
collections: - name: dellemc.enterprise_sonic version: 2.2.0
Configures Layer 3 interface settings on devices running Enterprise SONiC Distribution by Dell Technologies. This module provides configuration management of IPv4 and IPv6 parameters on Ethernet interfaces of devices running Enterprise SONiC.
# Using deleted # # Before state: # ------------- # #rno-dctor-1ar01c01sw02# show running-configuration interface #! #interface Ethernet20 # mtu 9100 # speed 100000 # shutdown # ip address 83.1.1.1/16 # ip address 84.1.1.1/16 secondary # ipv6 address 83::1/16 # ipv6 address 84::1/16 # ipv6 enable #! #interface Ethernet24 # mtu 9100 # speed 100000 # shutdown # ip address 91.1.1.1/16 # ip address 92.1.1.1/16 secondary # ipv6 address 90::1/16 # ipv6 address 91::1/16 # ipv6 address 92::1/16 # ipv6 address 93::1/16 #! #interface Vlan501 # ip anycast-address 11.12.13.14/12 # ip anycast-address 1.2.3.4/22 #! # # - name: delete one l3 interface. dellemc.enterprise_sonic.sonic_l3_interfaces: config: - name: Ethernet20 ipv4: addresses: - address: 83.1.1.1/16 - address: 84.1.1.1/16 - name: Ethernet24 ipv6: enabled: true addresses: - address: 91::1/16 - name: Vlan501 ipv4: anycast_addresses: - 11.12.13.14/12 state: deleted
# After state: # ------------ # #rno-dctor-1ar01c01sw02# show running-configuration interface #! #interface Ethernet20 # mtu 9100 # speed 100000 # shutdown # ipv6 address 83::1/16 # ipv6 address 84::1/16 # ipv6 enable #! #interface Ethernet24 # mtu 9100 # speed 100000 # shutdown # ip address 91.1.1.1/16 # ip address 92.1.1.1/16 secondary # ipv6 address 90::1/16 # ipv6 address 92::1/16 # ipv6 address 93::1/16 #! #interface Vlan501 # ip anycast-address 1.2.3.4/22 #! # # Using deleted # # Before state: # ------------- # #rno-dctor-1ar01c01sw02# show running-configuration interface #! #interface Ethernet20 # mtu 9100 # speed 100000 # shutdown # ip address 83.1.1.1/16 # ip address 84.1.1.1/16 secondary # ipv6 address 83::1/16 # ipv6 address 84::1/16 # ipv6 enable #! #interface Ethernet24 # mtu 9100 # speed 100000 # shutdown # ip address 91.1.1.1/16 # ipv6 address 90::1/16 # ipv6 address 91::1/16 # ipv6 address 92::1/16 # ipv6 address 93::1/16 #! #interface Vlan501 # ip anycast-address 11.12.13.14/12 # ip anycast-address 1.2.3.4/22 #! # # - name: delete all l3 interface dellemc.enterprise_sonic.sonic_l3_interfaces: config: state: deleted
# # After state: # ------------ # #rno-dctor-1ar01c01sw02# show running-configuration interface #! #interface Ethernet20 # mtu 9100 # speed 100000 # shutdown #! #interface Ethernet24 # mtu 9100 # speed 100000 # shutdown #! #interface Vlan501 #! # # Using merged # # Before state: # ------------- # #rno-dctor-1ar01c01sw02# show running-configuration interface #! #interface Ethernet20 # mtu 9100 # speed 100000 # shutdown #! #interface Ethernet24 # mtu 9100 # speed 100000 # shutdown #! #interface Vlan501 # ip anycast-address 1.2.3.4/22 #! # - name: Add l3 interface configurations dellemc.enterprise_sonic.sonic_l3_interfaces: config: - name: Ethernet20 ipv4: addresses: - address: 83.1.1.1/16 - address: 84.1.1.1/16 secondary: True ipv6: enabled: true addresses: - address: 83::1/16 - address: 84::1/16 secondary: True - name: Ethernet24 ipv4: addresses: - address: 91.1.1.1/16 ipv6: addresses: - address: 90::1/16 - address: 91::1/16 - address: 92::1/16 - address: 93::1/16 - name: Vlan501 ipv4: anycast_addresses: - 11.12.13.14/12 state: merged
state: choices: - merged - deleted default: merged description: - The state that the configuration should be left in. type: str config: description: A list of l3_interfaces configurations. elements: dict suboptions: ipv4: description: - ipv4 configurations to be set for the Layer 3 interface mentioned in name option. suboptions: addresses: description: - List of IPv4 addresses to be set. elements: dict suboptions: address: description: - IPv4 address to be set in the format <ipv4 address>/<mask> for example, 192.0.2.1/24. type: str secondary: default: 'False' description: - secondary flag of the ip address. type: bool type: list anycast_addresses: description: - List of IPv4 addresses to be set for anycast. elements: str type: list type: dict ipv6: description: - ipv6 configurations to be set for the Layer 3 interface mentioned in name option. suboptions: addresses: description: - List of IPv6 addresses to be set. elements: dict suboptions: address: description: - IPv6 address to be set in the address format is <ipv6 address>/<mask> for example, 2001:db8:2201:1::1/64. type: str type: list enabled: description: - enabled flag of the ipv6. type: bool type: dict name: description: - Full name of the interface, for example, Eth1/3. required: true type: str type: list
after: description: The resulting configuration model invocation. returned: when changed sample: 'The configuration returned is always in the same format of the parameters above. ' type: list before: description: The configuration prior to the model invocation. returned: always sample: 'The configuration returned is always in the same format of the parameters above. ' type: list commands: description: The set of commands pushed to the remote device. returned: always sample: - command 1 - command 2 - command 3 type: list