---
canonical: https://docs.ideco.ru/v22/ru/ngfw/api/routing-api
---

# EIGRP

::: page-constructor
blocks:
  - type: content-layout-block
    textContent:
      buttons:
        - text: Классический VCE
          theme: action
          width: 'auto'
        - text: Высокопроизводительный VCE
          theme: outlined
          url: https://docs.ideco.ru/api/vpp-v22/ru/ngfw/routing-api/dynamic-routing-api/eigrp-api/
          width: 'auto'
        - text: Документация
          theme: outlined
          url: https://docs.ideco.ru/v22/ru/ngfw/settings/routing/eigrp
          width: 'auto'
    resetPaddings: false
    textWidth: l
    size: m
    centered: false
:::

{% note info "" %}

Длина комментариев (`comment`) при API-запросах ограничена 255 символами.

{% endnote %}

{% cut "Получение информации о состоянии EIGRP" %}

```
GET /routing/eigrp/state
```

**Ответ на успешный запрос:**

```json5
{
    "enabled": true | false
}
```

* `enabled` - сервис EIGRP:
  * `true` - включен;
  * `false` - отключен.

{% endcut %}

{% cut "Изменение состояния EIGRP" %}

```
PATCH /routing/eigrp/state
```

**Json-тело запроса:**

```json5
{
    "enabled": true | false
}
```

* `enabled` - сервис EIGRP:
  * `true` - включить;
  * `false` - отключить.

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Получение настроек EIGRP" %}

```
GET /routing/eigrp/settings
```

**Ответ на успешный запрос:**

```json5
{
    "local_as": "integer" | null,
    "redistribute_static_enabled": true | false,
    "redistribute_connected_enabled": true | false,
    "redistribute_static_metric": {
        "bandwidth": "integer" | null,
        "delay": "integer" | null,
        "reliability": "integer" | null,
        "load": "integer" | null,
        "mtu": "integer" | null
    },
    "redistribute_connected_metric": {
        "bandwidth": "integer" | null,
        "delay": "integer" | null,
        "reliability": "integer" | null,
        "load": "integer" | null,
        "mtu": "integer" | null
    },
    "filters_in": ["string"],
    "filters_in_negate": true | false,
    "filters_out": ["string"],
    "filters_out_negate": true | false
}
```

* `local_as` - номер автономной системы EIGRP;
* `redistribute_static_enabled` - редистрибуция статических маршрутов:
  * `true` - включена;
  * `false` - выключена.
* `redistribute_connected_enabled` - редистрибуция подсетей, подключенных напрямую:
  * `true` - включена;
  * `false` - выключена.
* `redistribute_static_metric` - метрики EIGRP для статических маршрутов:
  * `bandwidth` - пропускная способность в Кбит/сек. Целое число от `1` до `4294967295`. Если `null`, используется значение по умолчанию - `100 000`;
  * `delay` - задержка в десятках микросекунд. Целое число от `0` до `4294967295`. Если `null`, используется значение по умолчанию - `100` (100 периодов по 10µs = 1 ms);
  * `reliability` - надежность. Целое число от `0` до `255`. Значению `255` соответствует максимальная (100%) надежность. Если `null`, используется значение по умолчанию - `255`;
  * `load` - загруженность. Целое число от `1` до `255`. Значению `1` соответствует минимальная (0%) загруженность, значению `255` - максимальная (100%) загруженность. Если `null`, используется значение по умолчанию - `1`;
  * `mtu` - MTU в байтах, целое число от `1` до `65535`. Если `null`, используется значение по умолчанию - `1500`.
* `redistribute_connected_metric` - метрики EIGRP для подсетей, подключенных напрямую:
  * `bandwidth` - пропускная способность в Кбит/сек. Целое число от `1` до `4294967295`. Если `null`, используется значение по умолчанию - `100 000`;
  * `delay` - задержка в десятках микросекунд. Целое число от `0` до `4294967295`. Если `null`, используется значение по умолчанию - `100` (100 периодов по 10µs = 1 ms);
  * `reliability` - надежность. Целое число от `0` до `255`. Значению `255` соответствует максимальная (100%) надежность. Если `null`, используется значение по умолчанию - `255`;
  * `load` - загруженность. Целое число от `1` до `255`. Значению `1` соответствует минимальная (0%) загруженность, значению `255` - максимальная (100%) загруженность. Если `null`, используется значение по умолчанию - `1`;
  * `mtu` - MTU в байтах, целое число от `1` до `65535`. Если `null`, используется значение по умолчанию - `1500`.
* `filters_in` - список сетей, заданных алиасами, маршруты до которых будут приниматься. Допустимые типы алиасов: `subnet`, `any`, `zero_subnet`. Список не может быть пустым. Алиас `any` может быть только единственным в списке;
* `filters_in_negate` - инвертирование списка `filters_in`;
* `filters_out` - список сетей, заданных алиасами, маршруты до которых будут передаваться. Допустимые типы алиасов: `subnet`, `any`, `zero_subnet`. Список не может быть пустым. Алиас `any` может быть только единственным в списке;
* `filters_out_negate` - инвертирование списка `filters_out`.

{% endcut %}

{% cut "Изменение настроек EIGRP" %}

```
PATCH /routing/eigrp/settings
```

**Json-тело запроса (все или некоторые поля):**

```json5
{
    "local_as": "integer" | null,
    "redistribute_static_enabled": true | false,
    "redistribute_connected_enabled": true | false,
    "redistribute_static_metric": {
        "bandwidth": "integer" | null,
        "delay": "integer" | null,
        "reliability": "integer" | null,
        "load": "integer" | null,
        "mtu": "integer" | null
    },
    "redistribute_connected_metric": {
        "bandwidth": "integer" | null,
        "delay": "integer" | null,
        "reliability": "integer" | null,
        "load": "integer" | null,
        "mtu": "integer" | null
    },
    "filters_in": ["string"],
    "filters_in_negate": true | false,
    "filters_out": ["string"],
    "filters_out_negate": true | false
}
```

* `local_as` - номер автономной системы EIGRP;
* `redistribute_static_enabled` - редистрибуция статических маршрутов:
  * `true` - включена;
  * `false` - выключена.
* `redistribute_connected_enabled` - редистрибуция подсетей, подключенных напрямую:
  * `true` - включена;
  * `false` - выключена.
* `redistribute_static_metric` - метрики EIGRP для статических маршрутов:
  * `bandwidth` - пропускная способность в Кбит/сек. Целое число от `1` до `4294967295`. Если `null`, используется значение по умолчанию - `100 000`;
  * `delay` - задержка в десятках микросекунд. Целое число от `0` до `4294967295`. Если `null`, используется значение по умолчанию - `100` (100 периодов по 10µs = 1 ms);
  * `reliability` - надежность. Целое число от `0` до `255`. Значению `255` соответствует максимальная (100%) надежность. Если `null`, используется значение по умолчанию - `255`;
  * `load` - загруженность. Целое число от `1` до `255`. Значению `1` соответствует минимальная (0%) загруженность, значению `255` - максимальная (100%) загруженность. Если `null`, используется значение по умолчанию - `1`;
  * `mtu` - MTU в байтах, целое число от `1` до `65535`. Если `null`, используется значение по умолчанию - `1500`.
* `redistribute_connected_metric` - метрики EIGRP для подсетей, подключенных напрямую:
  * `bandwidth` - пропускная способность в Кбит/сек. Целое число от `1` до `4294967295`. Если `null`, используется значение по умолчанию - `100 000`;
  * `delay` - задержка в десятках микросекунд. Целое число от `0` до `4294967295`. Если `null`, используется значение по умолчанию - `100` (100 периодов по 10µs = 1 ms);
  * `reliability` - надежность. Целое число от `0` до `255`. Значению `255` соответствует максимальная (100%) надежность. Если `null`, используется значение по умолчанию - `255`;
  * `load` - загруженность. Целое число от `1` до `255`. Значению `1` соответствует минимальная (0%) загруженность, значению `255` - максимальная (100%) загруженность. Если `null`, используется значение по умолчанию - `1`;
  * `mtu` - MTU в байтах, целое число от `1` до `65535`. Если `null`, используется значение по умолчанию - `1500`.
* `filters_in` - список сетей, заданных алиасами, маршруты до которых будут приниматься. Допустимые типы алиасов: `subnet`, `any`, `zero_subnet`. Список не может быть пустым. Алиас `any` может быть только единственным в списке;
* `filters_in_negate` - инвертирование списка `filters_in`;
* `filters_out` - список сетей, заданных алиасами, маршруты до которых будут передаваться. Допустимые типы алиасов: `subnet`, `any`, `zero_subnet`. Список не может быть пустым. Алиас `any` может быть только единственным в списке;
* `filters_out_negate` - инвертирование списка `filters_out`.

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Получение списка соседей EIGRP" %}

```
GET /routing/eigrp/neighbours
```

**Ответ на успешный запрос:**

```json5
[
    {
        "id": "string",
        "enabled": true | false,
        "interface": "string",
        "passive": true | false,
        "hello_interval": "integer" | null,
        "hold_interval": "integer" | null,
        "auth_key_chain": "string"
    },
    ...
]
```

* `id` - идентификатор;
* `enabled` - состояние соседства:
  * `true` - установлено;
  * `false` - не установлено.
* `interface` - ID алиаса интерфейса. Допустимые типы: `interface`, `interface_ipsec` (IPSec-подключения только в транспортном режиме), `interface_gost`;
* `passive` - пассивный режим работы интерфейса;
* `hello_interval` - период в секундах между отправками Hello-пакетов. Целое число от `1` до `65535`;
* `hold_interval` - период в секундах, по истечении которого сосед считается недоступным. Целое число от `1` до `65535`;
* `auth_key_chain` - ID цепочки ключей EIGRP для аутентификации. Если аутентификация не нужна, пустая строка.

{% endcut %}

{% cut "Создание соседства EIGRP" %}

```
POST /routing/eigrp/neighbours
```

**Json-тело запроса:**

```json5
{
    "enabled": true | false,
    "interface": "string",
    "passive": true | false,
    "hello_interval": "integer" | null,
    "hold_interval": "integer" | null,
    "auth_key_chain": "string"
}
```

* `enabled` - состояние соседства:
  * `true` - установлено;
  * `false` - не установлено.
* `interface` - ID алиаса интерфейса. Допустимые типы: `interface`, `interface_ipsec` (IPSec-подключения только в транспортном режиме), `interface_gost`;
* `passive` - пассивный режим работы интерфейса;
* `hello_interval` - период в секундах между отправками Hello-пакетов. Целое число от `1` до `65535`;
* `hold_interval` - период в секундах, по истечении которого сосед считается недоступным. Целое число от `1` до `65535`;
* `auth_key_chain` - ID цепочки ключей EIGRP для аутентификации. Если аутентификация не нужна, пустая строка.

**Ответ на успешный запрос:**

```json5
{
    "id": "string"
}
```

* `id` - идентификатор добавленного соседа.

{% endcut %}

{% cut "Редактирование соседа EIGRP" %}

```
PATCH /routing/eigrp/neighbours/<id соседа>
```

**Json-тело запроса (все или некоторые поля):**

```json5
{
    "enabled": true | false,
    "interface": "string",
    "passive": true | false,
    "hello_interval": "integer" | null,
    "hold_interval": "integer" | null,
    "auth_key_chain": "string"
}
```

* `enabled` - состояние соседства:
  * `true` - установлено;
  * `false` - не установлено.
* `interface` - ID алиаса интерфейса. Допустимые типы: `interface`, `interface_ipsec` (IPSec-подключения только в транспортном режиме), `interface_gost`;
* `passive` - пассивный режим работы интерфейса;
* `hello_interval` - период в секундах между отправками Hello-пакетов. Целое число от `1` до `65535`;
* `hold_interval` - период в секундах, по истечении которого сосед считается недоступным. Целое число от `1` до `65535`;
* `auth_key_chain` - ID цепочки ключей EIGRP для аутентификации. Если аутентификация не нужна, пустая строка.

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Удаление соседа EIGRP" %}

```
DELETE /routing/eigrp/neighbours/<id соседа>
```

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Получение списка цепочек ключей EIGRP" %}

```
GET /routing/eigrp/key_chains
```

**Ответ на успешный запрос:**

```json5
[
    {
        "id": "string",
        "name": "string",
        "key_list": [
            {
                "key_id": "integer",
                "key": "string"
            },
            ...
        ]
    },
    ...
]
```

* `id` - идентификатор;
* `name` - название цепочки ключей. Максимальная длина - 42 символа;
* `key_list` - список ключей:
  * `key_id` - идентификатор ключа. Целое число от `1` до `2147483647`. Должен быть уникальным в пределах каждой цепочки;
  * `key` - значение ключа (пароль). Непустая строка ASCII-символов. Допускаются прописные и строчные буквы: `A-Z`, `a-z`, цифры: `0-9`, спецсимволы. Максимальная длина - 80 символов.

{% endcut %}

{% cut "Создание цепочки ключей EIGRP" %}

```
POST /routing/eigrp/key_chains
```

**Json-тело запроса:**

```json5
{
    "name": "string",
    "key_list": [
        {
            "key_id": "integer",
            "key": "string"
        },
        ...
    ]
}
```

* `name` - название цепочки ключей. Максимальная длина - 42 символа;
* `key_list` - список ключей:
  * `key_id` - идентификатор ключа. Целое число от `1` до `2147483647`. Должен быть уникальным в пределах каждой цепочки;
  * `key` - значение ключа (пароль). Непустая строка ASCII-символов. Допускаются прописные и строчные буквы: `A-Z`, `a-z`, цифры: `0-9`, спецсимволы. Максимальная длина - 80 символов.

**Ответ на успешный запрос:**

```json5
{
    "id": "string"
}
```

* `id` - идентификатор цепочки ключей.

{% endcut %}

{% cut "Редактирование цепочки ключей EIGRP" %}

```
PATCH /routing/eigrp/key_chains/<id цепочки ключей>
```

**Json-тело запроса (все или некоторые поля):**

```json5
{
    "name": "string",
    "key_list": [
        {
            "key_id": "integer",
            "key": "string"
        },
        ...
    ]
}
```

* `name` - название цепочки ключей. Максимальная длина - 42 символа;
* `key_list` - список ключей:
  * `key_id` - идентификатор ключа. Целое число от `1` до `2147483647`. Должен быть уникальным в пределах каждой цепочки;
  * `key` - значение ключа (пароль). Непустая строка ASCII-символов. Допускаются прописные и строчные буквы: `A-Z`, `a-z`, цифры: `0-9`, спецсимволы. Максимальная длина - 80 символов.

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Удаление цепочки ключей EIGRP" %}

```
DELETE /routing/eigrp/key_chains/<id цепочки ключей>
```

**Ответ на успешный запрос:** 200 OK

{% endcut %}