Spec-Zone.ru › Ansible

модуль 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.

Варианты:

  • "deny"
  • "discard"
  • "do-not-nat"
  • "permit"
  • "transit"

dei

integer

Сопоставляет кадр Ethernet с заданным значением индикатора возможности отбрасывания (DEI).

Варианты:

  • 0
  • 1

destination

dictionary

Задаёт адрес назначения кадра Ethernet.

Параметры address и address_mask необходимо указывать вместе.

Параметры any, host и address являются взаимоисключающими.

address

string

MAC-адрес назначения.

address_mask

string

Маска MAC-адреса назначения.

any

boolean

Сопоставляет любой MAC-адрес назначения.

Варианты:

  • false
  • true

host

string

MAC-адрес отдельного хоста назначения.

ethertype

dictionary

Задаёт EtherType кадра Ethernet.

Для ethertype в одном правиле можно указать только один вложенный параметр.

arp

boolean

Сопоставляет кадр Ethernet с EtherType ARP (0x806).

Варианты:

  • false
  • true

ipv4

boolean

Сопоставляет кадр Ethernet с EtherType IPv4 (0x800).

Варианты:

  • false
  • true

ipv6

boolean

Сопоставляет кадр Ethernet с EtherType IPv6 (0x86DD).

Варианты:

  • false
  • true

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 для указанного типа трафика.

be — сопоставляет кадр Ethernet со значением PCP для трафика с наилучшими усилиями (0).

bk — сопоставляет кадр Ethernet со значением PCP для фонового трафика (1).

ee — сопоставляет кадр Ethernet со значением PCP для трафика с повышенными требованиями к производительности (2).

ca — сопоставляет кадр Ethernet со значением PCP для критически важных приложений (3).

vi — сопоставляет кадр Ethernet со значением PCP для видео с задержкой и джиттером < 100 мс (4).

vo — сопоставляет кадр Ethernet со значением PCP для голоса с задержкой и джиттером < 10 мс (5).

ic — сопоставляет кадр Ethernet со значением PCP для управления межсетевым взаимодействием (6).

nc — сопоставляет кадр Ethernet со значением PCP для управления сетью (7).

Варианты:

  • "be"
  • "bk"
  • "ee"
  • "ca"
  • "vi"
  • "vo"
  • "ic"
  • "nc"

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-адрес источника.

Варианты:

  • false
  • true

host

string

MAC-адрес отдельного хоста источника.

vlan_id

integer

Сопоставляет кадр Ethernet с заданным идентификатором VLAN.

vlan_tag_format

dictionary

Сопоставляет кадр Ethernet с заданным форматом тегов VLAN.

multi_tagged

boolean

Сопоставляет кадр Ethernet с тремя или более тегами VLAN.

Варианты:

  • false
  • true

state

string

Состояние конфигурации после выполнения модуля.

merged — объединяет указанную конфигурацию L2 ACL с конфигурацией на устройстве.

replaced — заменяет конфигурацию указанных L2 ACL на устройстве заданной конфигурацией.

overridden — заменяет все конфигурации L2 ACL на устройстве заданной конфигурацией.

deleted — удаляет конфигурацию L2 ACL на устройстве.

Варианты:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "overridden"
  • "deleted"

Примечания

Примечание

  • Поддерживает 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

Итоговая конфигурация после вызова модуля.

Возвращается: при изменении

Пример: ["The configuration returned will always be in the same format as the parameters above.\n"]

after(generated)

list / elements=string

Сгенерированная конфигурация после вызова модуля.

Возвращается: при check_mode

Пример: ["The configuration returned will always be in the same format as the parameters above.\n"]

before

list / elements=string

Конфигурация до вызова модуля.

Возвращается: всегда

Пример: ["The configuration returned will always be in the same format as the parameters above.\n"]

commands

list / elements=string

Набор команд, отправленных на удалённое устройство.

Возвращается: всегда

Пример: ["command 1", "command 2", "command 3"]

Авторы

  • Arun Saravanan Balachandran (@ArunSaravananBalachandran)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API