Spec-Zone.ru › Ansible

Модуль dellemc.enterprise_sonic.sonic_ospfv2 – Настройка глобальных параметров протокола OSPFv2 на 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_ospfv2.

Добавлено в dellemc.enterprise_sonic 2.5.0

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль обеспечивает управление конфигурацией глобальных параметров OSPFv2 на устройствах под управлением SONiC.
  • Настройте экземпляр VRF перед настройкой OSPF в VRF.

Параметры

Параметр

Комментарии

config

list / elements=dictionary

Задает конфигурацию, связанную с OSPFv2.

non_passive_interfaces и passive_interfaces взаимоисключающие.

Если default_passive=True, параметр passive_interfaces настроить нельзя.

Если default_passive=False, параметр non_passive_interfaces настроить нельзя.

abr_type

string

Настраивает тип ABR маршрутизатора.

cisco — тип ABR в реализации Cisco.

ibm — тип ABR в реализации IBM.

shortcut — сокращенный ABR.

standard — стандартная реализация ABR по RFC2328.

Допустимые значения:

  • "cisco"
  • "ibm"
  • "shortcut"
  • "standard"

auto_cost_reference_bandwidth

integer

Настраивает опорную пропускную способность для автоматического расчета стоимости интерфейса (от 1 до 4294967).

default_metric

integer

Настраивает метрику для перераспределяемых маршрутов (от 0 до 16777214).

default_passive

boolean

Подавляет обновления маршрутизации OSPFv2 на всех интерфейсах.

Допустимые значения:

  • false
  • true

distance

dictionary

Настраивает административное расстояние маршрута.

all

integer

Значение расстояния для всех типов маршрутов (от 1 до 255).

external

integer

Значение расстояния для внешних маршрутов (от 1 до 255).

inter_area

integer

Значение расстояния для межзональных маршрутов (от 1 до 255).

intra_area

integer

Значение расстояния для внутризональных маршрутов (от 1 до 255).

graceful_restart

dictionary

Непрерывная пересылка OSPF (NSF), также известная как плавный перезапуск OSPF.

enable

boolean

Включает плавный перезапуск.

Допустимые значения:

  • false
  • true

grace_period

integer

Максимальная длительность периода ожидания в секундах (от 1 до 1800).

helper

dictionary

Помощник OSPF GR.

advertise_router_id

list / elements=string

Идентификатор анонсирующего маршрутизатора.

enable

boolean

Включает поддержку режима помощника.

Допустимые значения:

  • false
  • true

planned_only

boolean

Поддерживает только плановый перезапуск.

Допустимые значения:

  • false
  • true

strict_lsa_checking

boolean

Включает строгую проверку LSA.

Допустимые значения:

  • false
  • true

supported_grace_time

integer

Поддерживаемый интервал ожидания в секундах (от 10 до 1800).

log_adjacency_changes

string

Включает журналы изменения состояния смежности OSPFv2.

Допустимые значения:

  • "brief"
  • "detail"

max_metric

dictionary

Включает анонсирование бесконечной метрики в LSA OSPFv2.

administrative

boolean

Включает анонсирование бесконечной метрики административного типа.

Допустимые значения:

  • false
  • true

external_lsa_all

integer

Настраивает анонсирование максимальной метрики для всех префиксов во внешних LSA.

Задает максимальное значение метрики (от 1 до 16777215).

external_lsa_connected

integer

Настраивает анонсирование максимальной метрики для подключенных префиксов во внешних LSA.

Задает максимальное значение метрики (от 1 до 16777215).

on_startup

integer

Включает анонсирование бесконечной метрики при запуске маршрутизатора OSPFv2 (от 5 до 86400).

router_lsa_all

integer

Настраивает анонсирование максимальной метрики для всех каналов в LSA маршрутизатора.

Задает максимальное значение метрики (от 1 до 16777215).

router_lsa_stub

integer

Настраивает анонсирование максимальной метрики для stub-канала в LSA маршрутизатора.

Задает максимальное значение метрики (от 1 до 16777215).

maximum_paths

integer

Настраивает максимальное количество путей для поддержки ECMP (от 1 до 256).

non_passive_interfaces

list / elements=dictionary

Настраивает типы активных интерфейсов.

addresses

list / elements=string

Настраивает IPv4-адреса интерфейса.

interface

string / обязательный

Полное имя интерфейса уровня 3, например Eth1/1.

opaque_lsa_capability

boolean

Включает поддержку непрозрачных LSA.

Допустимые значения:

  • false
  • true

passive_interfaces

list / elements=dictionary

Настраивает типы пассивных интерфейсов.

addresses

list / elements=string

Настраивает IPv4-адреса интерфейса.

interface

string / обязательный

Полное имя интерфейса уровня 3, например Eth1/1.

redistribute

list / elements=dictionary

Настраивает перераспределение маршрутов в маршрутизатор OSPFv2.

always

boolean

Всегда включает перераспределение маршрута по умолчанию в OSPF.

Доступно только для protocol=default_route.

Допустимые значения:

  • false
  • true

metric

integer

Значение метрики для перераспределяемых маршрутов (от 0 до 16777214).

metric_type

integer

Тип метрики для перераспределяемых маршрутов.

Допустимые значения:

  • 1
  • 2

protocol

string / обязательный

Настраивает тип протокола для перераспределения в OSPF.

Удаление только параметра protocol также приведет к удалению всех остальных настроек в разделе redistribute.

bgp — протокол пограничного шлюза.

connected — непосредственно подключенные сети и узлы.

default_route — маршруты по умолчанию.

kernel — маршруты ядра, кроме маршрутов, установленных FRR.

static — статически настроенные маршруты.

Допустимые значения:

  • "bgp"
  • "connected"
  • "default_route"
  • "kernel"
  • "static"

route_map

string

Карта маршрутов для фильтрации перераспределяемых маршрутов.

Предварительно настройте карту маршрутов.

refresh_timer

integer

Настраивает интервал обновления LSA в секундах (от 10 до 1800).

rfc1583_compatible

boolean

Включает совместимость OSPFv2 с RFC.

Допустимые значения:

  • false
  • true

router_id

string

Настраивает идентификатор маршрутизатора OSPFv2 (A.B.C.D).

timers

dictionary

Настраивает таймеры маршрутизатора.

lsa_min_arrival

integer

Минимальный интервал поступления LSA в миллисекундах (от 0 до 600000).

throttle_lsa_all

integer

Задержка между передачами LSA в миллисекундах (от 0 до 5000).

throttle_spf

dictionary

Таймеры SPF OSPFv2.

Параметры delay_time, initial_hold_time и maximum_hold_time необходимо указывать вместе.

delay_time

integer

Время задержки SPF в миллисекундах (от 0 до 600000).

initial_hold_time

integer

Начальное время ожидания SPF в миллисекундах (от 0 до 600000).

maximum_hold_time

integer

Максимальное время ожидания SPF в миллисекундах (от 0 до 600000).

vrf_name

string

Задает имя VRF.

По умолчанию: "default"

write_multiplier

integer

Задает максимальное число интерфейсов, обрабатываемых за одну операцию записи (от 1 до 100)

state

string

Задает операцию, выполняемую над процессом OSPFv2, настроенным на устройстве.

При значении merged входная конфигурация объединяется с существующей конфигурацией OSPFv2 на устройстве.

При значении deleted существующая конфигурация OSPFv2 удаляется с устройства.

При значении overridden вся существующая конфигурация OSPFv2 удаляется, после чего устанавливается указанная входная конфигурация.

При значении replaced существующая конфигурация OSPFv2 на устройстве заменяется конфигурацией из плейбука для каждой настроенной в плейбуке группы VRF.

Допустимые значения:

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

Примечания

Примечание

  • Поддерживает check_mode.

Примеры

# Using "deleted" state

# Before state:
# -------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# default-metric 100
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# refresh timer 300
# write-multiplier 20
# maximum-paths 200
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
# !
# sonic#
# sonic# show running-configuration vrf Vrf_1
# !
# ip vrf Vrf_1
# sonic# show running-configuration ip prefix-list
# !
# ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
# ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
# sonic# show running-configuration route-map
# !
# route-map RMAP permit 1
# sonic#

- name: Delete the OSPFv2 configurations
  sonic_ospf:
    config:
      - vrf_name: 'default'
        router_id: "20.20.20.20"
        distance:
          external: 20
        default_passive: false
        maximum_paths: 200
        passive_interfaces:
          interfaces:
            - interface: 'Eth1/3'
        redistribute:
          - protocol: "bgp"
            metric: 15
            metric_type: 2
            route_map: "RMAP"
        refresh_timer: 300
      - vrf_name: "Vrf_1"
        timers:
          throttle_spf:
            delay_time: 50
            initial_hold_time: 20
            maximum_hold_time: 10
        default_metric: 100
        max_metric:
          external_lsa_all: 2
        non_passive_interfaces:
          interfaces:
            - interface: "Eth1/2"
              addresses:
                - "2.2.2.2"
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# passive-interface default
# timers throttle lsa all 300
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# distance 30
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# !
# sonic#


# Using "deleted" state

# Before state:
# -------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# passive-interface default
# timers throttle lsa all 300
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# distance 30
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# !
# sonic#
# sonic# show running-configuration vrf Vrf_1
# !
# ip vrf Vrf_1
# sonic# show running-configuration ip prefix-list
# !
# ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
# ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
# sonic# show running-configuration route-map
# !
# route-map RMAP permit 1
# sonic#

- name: Delete the OSPFv2 configurations
  sonic_ospf:
    config:
      - vrf_name: "Vrf_1"
    state: deleted

# After state:
# ------------
#
# sonic# show running-configuration ospf
# router ospf
# distance 30
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# !
# sonic#


# Using "merged" state

# Before state:
# -------------
#
# sonic# show running-configuration ospf
# (No ospf configuration present)
# sonic# show running-configuration vrf Vrf_1
# !
# ip vrf Vrf_1
# sonic# show running-configuration ip prefix-list
# !
# ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
# ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
# sonic# show running-configuration route-map
# !
# route-map RMAP permit 1
# sonic#

- name: Add the OSPFv2 configurations
  sonic_ospf:
    config:
      - vrf_name: 'default'
        router_id: "10.10.10.10"
        distance:
          external: 20
        auto_cost_reference_bandwidth: 100
      - vrf_name: "Vrf_1"
        timers:
          throttle_lsa_all: 300
          throttle_spf:
            delay_time: 10
            initial_hold_time: 20
            maximum_hold_time: 50
        redistribute:
          - protocol: "bgp"
            metric: 15
            metric_type: 2
            route_map: "RMAP"
        default_passive: true
        non_passive_interfaces:
          interfaces:
            - interface: "Eth1/1"
              addresses:
                - "2.2.2.2"
    state: merged

# After state:
# ------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# passive-interface default
# timers throttle spf 10 20 50
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# !
# router ospf
# auto-cost reference-bandwidth 100
# ospf router-id 10.10.10.10
# distance ospf external 20
# !
# sonic#


# Using "merged" state

# Before state:
# -------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# passive-interface default
# timers throttle spf 10 20 50
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# !
# router ospf
# ospf router-id 10.10.10.10
# distance ospf external 20
# !
# sonic#
# sonic# show running-configuration vrf Vrf_1
# !
# ip vrf Vrf_1
# sonic# show running-configuration ip prefix-list
# !
# ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
# ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
# sonic# show running-configuration route-map
# !
# route-map RMAP permit 1
# sonic#

- name: Add the OSPFv2 configurations
  sonic_ospf:
    config:
      - vrf_name: 'default'
        write_multiplier: 20
        router_id: "20.20.20.20"
        distance:
          all: 30
        default_passive: false
        graceful_restart:
          enable: true
          grace_period: 100
          helper:
            enable: true
            planned_only: true
            advertise_router_id:
              - '1.1.1.1'
              - '2.2.2.2'
        passive_interfaces:
          interfaces:
            - interface: 'Eth1/2'
              addresses:
                - '3.3.3.3'
            - interface: 'Eth1/3'
        log_adjacency_changes: 'detail'
      - vrf_name: "Vrf_1"
        timers:
          throttle_spf:
            delay_time: 50
            initial_hold_time: 20
            maximum_hold_time: 10
        max_metric:
          external_lsa_all: 30
        log_adjacency_changes: 'brief'
        default_passive: true
        non_passive_interfaces:
          interfaces:
            - interface: "Eth1/2"
              addresses:
                - "2.2.2.2"
    state: merged

# After state:
# ------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# log-adjacency-changes
# max-metric router-lsa external-lsa all 30
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# log-adjacency-changes detail
# graceful-restart grace-period 100
# graceful-restart helper enable
# graceful-restart helper planned-only
# graceful-restart helper enable 1.1.1.1
# graceful-restart helper enable 2.2.2.2
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
# !
# sonic#


# Using "replaced" state

# Before state:
# -------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
# !
# sonic#
# sonic# show running-configuration vrf Vrf_1
# !
# ip vrf Vrf_1
# sonic# show running-configuration ip prefix-list
# !
# ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
# ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
# sonic# show running-configuration route-map
# !
# route-map RMAP permit 1
# route-map RMAP2 permit 2
# sonic#

- name: Replace the OSPFv2 vrf default configurations
  sonic_ospf:
    config:
      - vrf_name: 'default'
        router_id: "20.20.20.20"
        redistribute:
          - protocol: "connected"
            metric: 15
            metric_type: 2
            route_map: "RMAP2"
          - protocol: "default_route"
            always: true
            route_map: "RMAP"
        distance:
          all: 20
        abr_type: cisco
        opaque_lsa_capability: true
    state: replaced

# After state:
# ------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# capability opaque
# ospf router-id 20.20.20.20
# default-information originate always route-map RMAP
# distance 20
# ospf abr-type cisco
# redistribute connected metric 15 metric-type 2 route-map RMAP2
# !


# Using "overridden" state

# Before state:
# -------------
#
# sonic# show running-configuration ospf
# router ospf vrf Vrf_1
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
# !
# router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
# !
# sonic#
# sonic# show running-configuration vrf Vrf_1
# !
# ip vrf Vrf_1
# sonic# show running-configuration ip prefix-list
# !
# ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
# ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
# sonic# show running-configuration route-map
# !
# route-map RMAP permit 1
# route-map RMAP2 permit 2
# sonic#

- name: Override the OSPFv2 configurations
  sonic_ospf:
    config:
      - vrf_name: 'default'
        router_id: "20.20.20.20"
        redistribute:
          - protocol: "connected"
            metric: 15
            metric_type: 2
            route_map: "RMAP2"
        distance:
          all: 20
        rfc1583_compatible: true
    state: overridden

# After state:
# ------------
#
# sonic# show running-configuration ospf
# router ospf
# compatible rfc1583
# ospf router-id 20.20.20.20
# distance 20
# redistribute connected metric 15 metric-type 2 route-map RMAP2
# !

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

after

list / elements=string

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

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

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

after(generated)

list / elements=string

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

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

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

before

list / elements=string

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

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

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

commands

list / elements=string

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

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

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

Авторы

  • Santhosh kumar T (@santhosh-kt)

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

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

© 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_ospfv2_module.html

Spec-Zone.ru

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