модуль dellemc.enterprise_sonic.sonic_l2_acls — управление конфигурациями списков контроля доступа (ACL) уровня 2 в SONiC
Примечание
Этот модуль входит в коллекцию dellemc.enterprise_sonic (версия 3.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install dellemc.enterprise_sonic.
Чтобы использовать её в плейбуке, укажите: dellemc.enterprise_sonic.sonic_l2_acls.
Добавлено в dellemc.enterprise_sonic 2.1.0
Краткое описание
- Этот модуль обеспечивает управление конфигурацией списков контроля доступа (ACL) уровня 2 на устройствах под управлением SONiC.
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Задаёт конфигурации ACL уровня 2. |
|
name string / required |
Задаёт имя ACL. |
|
remark string |
Задаёт примечание для ACL. |
|
rules list / elements=dictionary |
Список правил ACL. Для добавления нового правила требуются sequence_num, action, source и destination. Если state=deleted, учитываются только параметры sequence_num. ethertype и vlan_tag_format являются взаимоисключающими. |
|
action string |
Задаёт действие, выполняемое над совпавшим кадром Ethernet. Варианты:
|
|
dei integer |
Сопоставляет кадр Ethernet с заданным значением индикатора возможности отбрасывания (DEI). Варианты:
|
|
destination dictionary |
Задаёт адрес назначения кадра Ethernet. Параметры address и address_mask необходимо указывать вместе. Параметры any, host и address являются взаимоисключающими. |
|
address string |
MAC-адрес назначения. |
|
address_mask string |
Маска MAC-адреса назначения. |
|
any boolean |
Сопоставляет любой MAC-адрес назначения. Варианты:
|
|
host string |
MAC-адрес отдельного хоста назначения. |
|
ethertype dictionary |
Задаёт EtherType кадра Ethernet. Для ethertype в одном правиле можно указать только один вложенный параметр. |
|
arp boolean |
Сопоставляет кадр Ethernet с EtherType ARP (0x806). Варианты:
|
|
ipv4 boolean |
Сопоставляет кадр Ethernet с EtherType IPv4 (0x800). Варианты:
|
|
ipv6 boolean |
Сопоставляет кадр Ethernet с EtherType IPv6 (0x86DD). Варианты:
|
|
value string |
Задаёт значение EtherType для сопоставления в виде шестнадцатеричной строки. Диапазон: от 0x600 до 0xffff. |
|
pcp dictionary |
Сопоставляет кадры Ethernet по значению кода приоритета (PCP). mask допустим только при наличии value. value и traffic_type являются взаимоисключающими. |
|
mask integer |
Сопоставляет кадр Ethernet с заданными значениями PCP и маски. Диапазон: от 0 до 7. |
|
traffic_type string |
Сопоставляет кадр Ethernet по значению PCP для указанного типа трафика.
Варианты:
|
|
value integer |
Сопоставляет кадр Ethernet с заданным значением PCP. Диапазон: от 0 до 7. |
|
remark string |
Задаёт примечание для правила ACL. |
|
sequence_num integer / обязательный |
Задаёт порядковый номер правила. Диапазон: от 1 до 65535. |
|
source dictionary |
Задаёт источник кадра Ethernet. Параметры address и address_mask необходимо указывать вместе. Параметры any, host и address являются взаимоисключающими. |
|
address string |
MAC-адрес источника. |
|
address_mask string |
Маска MAC-адреса источника. |
|
any boolean |
Сопоставляет любой MAC-адрес источника. Варианты:
|
|
host string |
MAC-адрес отдельного хоста источника. |
|
vlan_id integer |
Сопоставляет кадр Ethernet с заданным идентификатором VLAN. |
|
vlan_tag_format dictionary |
Сопоставляет кадр Ethernet с заданным форматом тегов VLAN. |
|
multi_tagged boolean |
Сопоставляет кадр Ethernet с тремя или более тегами VLAN. Варианты:
|
state string | Состояние конфигурации после выполнения модуля.
Варианты:
|
Примечания
Примечание
- Поддерживает
check_mode.
Примеры
# Using "merged" state
#
# Before state:
# -------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# sonic#
- name: Merge provided Layer 2 ACL configurations
dellemc.enterprise_sonic.sonic_l2_acls:
config:
- name: 'test'
rules:
- sequence_num: 2
action: 'permit'
source:
any: true
destination:
any: true
ethertype:
value: '0x88cc'
remark: 'LLDP'
- sequence_num: 3
action: 'permit'
source:
any: true
destination:
address: '00:00:10:00:00:00'
address_mask: '00:00:ff:ff:00:00'
pcp:
value: 4
mask: 6
- sequence_num: 4
action: 'deny'
source:
any: true
destination:
any: true
vlan_tag_format:
multi_tagged: true
- name: 'test1'
remark: 'test_mac_acl'
rules:
- sequence_num: 1
action: 'permit'
source:
host: '11:11:11:11:11:11'
destination:
any: true
- sequence_num: 2
action: 'permit'
source:
any: true
destination:
any: true
ethertype:
arp: true
vlan_id: 100
- sequence_num: 3
action: 'deny'
source:
any: true
destination:
any: true
dei: 0
state: merged
# After state:
# ------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# seq 3 permit any 00:00:10:00:00:00 00:00:ff:ff:00:00 pcp vi pcp-mask 6
# seq 4 deny any any vlan-tag-format multi-tagged
# !
# mac access-list test1
# remark test_mac_acl
# seq 1 permit host 11:11:11:11:11:11 any
# seq 2 permit any any arp vlan 100
# seq 3 deny any any dei 0
# sonic#
# Using "replaced" state
#
# Before state:
# -------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# seq 3 permit any 00:00:10:00:00:00 00:00:ff:ff:00:00 pcp vi pcp-mask 6
# !
# mac access-list test1
# remark test_mac_acl
# seq 1 permit host 11:11:11:11:11:11 any
# seq 2 permit any any arp vlan 100
# seq 3 deny any any dei 0
# sonic#
- name: Replace device configuration of specified Layer 2 ACLs with provided configuration
dellemc.enterprise_sonic.sonic_l2_acls:
config:
- name: 'test1'
rules:
- sequence_num: 1
action: 'permit'
source:
any: true
destination:
any: true
ethertype:
arp: true
vlan_id: 200
- sequence_num: 2
action: 'discard'
source:
any: true
destination:
any: true
- name: 'test2'
rules:
- sequence_num: 1
action: 'permit'
source:
host: '33:33:33:33:33:33'
destination:
host: '44:44:44:44:44:44'
state: replaced
# After state:
# ------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# seq 3 permit any 00:00:10:00:00:00 00:00:ff:ff:00:00 pcp vi pcp-mask 6
# !
# mac access-list test1
# seq 1 permit any any arp vlan 200
# seq 2 discard any any
# !
# mac access-list test2
# seq 1 permit host 33:33:33:33:33:33 host 44:44:44:44:44:44
# sonic#
# Using "overridden" state
#
# Before state:
# -------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# seq 3 permit any 00:00:10:00:00:00 00:00:ff:ff:00:00 pcp vi pcp-mask 6
# !
# mac access-list test1
# seq 1 permit any any arp vlan 200
# seq 2 discard any any
# !
# mac access-list test2
# seq 1 permit host 33:33:33:33:33:33 host 44:44:44:44:44:44
# sonic#
- name: Override device configuration of all Layer 2 ACLs with provided configuration
dellemc.enterprise_sonic.sonic_l2_acls:
config:
- name: 'test1'
remark: 'test_mac_acl'
rules:
- sequence_num: 1
action: 'permit'
source:
host: '11:11:11:11:11:11'
destination:
any: true
vlan_id: 100
- sequence_num: 2
action: 'permit'
source:
any: true
destination:
any: true
pcp:
traffic_type: 'ca'
- sequence_num: 3
action: 'deny'
source:
any: true
destination:
any: true
ethertype:
ipv4: true
state: overridden
# After state:
# ------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test1
# remark test_mac_acl
# seq 1 permit host 11:11:11:11:11:11 any vlan 100
# seq 2 permit any any pcp ca
# seq 3 deny any any ip
# sonic#
# Using "deleted" state
#
# Before state:
# -------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# seq 3 permit any 00:00:10:00:00:00 00:00:ff:ff:00:00 pcp vi pcp-mask 6
# !
# mac access-list test1
# remark test_mac_acl
# seq 1 permit host 11:11:11:11:11:11 any vlan 100
# seq 2 deny any any ip
# !
# mac access-list test2
# seq 1 permit host 33:33:33:33:33:33 host 44:44:44:44:44:44
# sonic#
- name: Delete specified Layer 2 ACLs, ACL remark and ACL rule entries
dellemc.enterprise_sonic.sonic_l2_acls:
config:
- name: 'test'
rules:
- sequence_num: 3
- name: 'test1'
remark: 'test_mac_acl'
- name: 'test2'
state: deleted
# After state:
# ------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# !
# mac access-list test1
# seq 1 permit host 11:11:11:11:11:11 any vlan 100
# seq 2 deny any any ip
# sonic#
# Using "deleted" state
#
# Before state:
# -------------
#
# sonic# show running-configuration mac access-list
# !
# mac access-list test
# seq 1 permit host 22:22:22:22:22:22 any vlan 20
# seq 2 permit any any 0x88cc remark LLDP
# seq 3 permit any 00:00:10:00:00:00 00:00:ff:ff:00:00 pcp vi pcp-mask 6
# !
# mac access-list test1
# remark test_mac_acl
# seq 1 permit host 11:11:11:11:11:11 any vlan 100
# seq 2 deny any any ip
# !
# mac access-list test2
# seq 1 permit host 33:33:33:33:33:33 host 44:44:44:44:44:44
# sonic#
- name: Delete all Layer 2 ACL configurations
dellemc.enterprise_sonic.sonic_l2_acls:
config:
state: deleted
# After state:
# ------------
#
# sonic# show running-configuration mac access-list
# sonic#
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after list / elements=string | Итоговая конфигурация после вызова модуля. Возвращается: при изменении Пример: |
after(generated) list / elements=string | Сгенерированная конфигурация после вызова модуля. Возвращается: при Пример: |
before list / elements=string | Конфигурация до вызова модуля. Возвращается: всегда Пример: |
commands list / elements=string | Набор команд, отправленных на удалённое устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/dellemc/enterprise_sonic/sonic_l2_acls_module.html