# Changelog

## [1.7.0] - 2023-12-25
### Added
- Отключение передатчиков SFP/SFP+ при применении команды "shutdown" на порту
- Функционал Vlan-translation
- Функционал ZTP (Autoprovisioning)
- Функционал Dynamic Arp Inspection
- Команда "switchport mode trunk allow-null" запрещающая все Vlan на порту, при переводе в trunk
- Автоопределение DAC-кабелей на XGE портах
- Функционал RSPAN Vlan
- Команда "switchport flood-control mcast"
- Функционал OAM Dying Gasp
- Поддержка модели SNR-S5110G-24TX
- Поддержка модели SNR-S5110G-48TX
- Поддержка модели SNR-S5210G-8TX
- Поддержка модели SNR-S5310G-48TX-POE
- Поддержка модели SNR-S5210G-24FX-UPS
- Поддержка модели SNR-S5210G-24FX-DC
- Поддержка модели SNR-S5210G-24FX-RPS
- Поддержка модели SNR-S5210G-24TX-RPS
- Поддержка модели SNR-S5210X-8F-DC
- Поддержка модели SNR-S5210X-8F-RPS

### Changed
- Скорректирована работа IGMP Snooping:
  - Реализован флуд unknown-mcast в mrouter порты
  - Максимальное количество Vlan с включенным IGMP Snooping уменьшено до 6
- Ошибка с добавлением "/" в запрашиваемое имя файла, при копировании по TFTP
- Изменена логика работы команды "switchport mode trunk", при её применении разрешаются все Vlan на порту

### Fixed
- SNMP OID .1.3.6.1.2.1.31.1.1.1.18 не передает description порта
- Работа dying gasp 
- Команда mac-address-table static не загружается из startup-config
- В Po/Sa могли быть добавлены порты с различным native vlan
- Сброс команды speed-duplex force10g-full media dac
- Нумерация ifindex xe портов на модели SNR-S5310G-48TX

## [1.6.2] - 2023-11-28
### Added
- Вывод статистики по отброшенным пакетам в выходных очередях портов в команде "show interface <ifname>"
- Команда для включения отладки IGMP Snooping "debug igmp snooping brief"
### Changed
- Изменение таймеров на отписку IGMP Snooping

## [1.6.0] - 2023-09-28
### Added
- Функционал BPDU-Tunnel
- Команда "show ip dhcp-client"
- Проверка контрольной суммы, версии ПО и платформы при обновлении ПО
- SNMP OID .1.3.6.1.4.1.xxx.7.100.1.200 - название модели коммутатора
- SNMP OID .1.3.6.1.4.1.xxx.7.100.1.201 - время до отложенной перезагрузки
- Вывод информации об отложенной перезагрузке при подключении к терминалу
- Команда "mac-address-table aging-time <time>"
- Команда "show lldp neighbors brief"
- Поддержка модели SNR-S5210G-24TX-DC
- Поддержка модели SNR-S5210X-8F-UPS
- Поддержка модели SNR-S5210G-24TX-POE-R

### Changed
- Поддержка различных форматов MAC-адреса в команде "show mac address-table"
- Изменение логики настройки портов в режимах trunk и hybrid 
     - Добавлены команды для перезаписи списка разрешенных vlan для режимов trunk и hybrid:
          "switchport trunk allowed vlan <vlan-list>"
          "switchport hybrid allowed vlan <vlan-list> (tag|untag)"
     - Добавлена команда "switchport hybrid allowed vlan (add | except | none | remove) <vlan-list> (tag|untag)", аналогичная 
       "switchport hybrid allowed vlan (add | except | none | remove) <vlan-list> egress-tagged (enable |disable)"
     - Добавлена команда "switchport hybrid native vlan <1-4094>", аналогичная существующей "switchport hybrid vlan <1-4094>"
     - Изменена логика работы работы native vlan для режимов trunk и hybrid, в новой логике native vlan не добавляется автоматически в список allowed vlan на порт. Native vlan в режиме hybrid устанавливает только PVID порта.
     - Изменено формирование running-config c использованием команд "switchport trunk allowed vlan <vlan-list>" и "switchport hybrid allowed vlan <vlan-list> (tag|untag)"
     - Сохранена совместимость со старыми версиями конфигурации (для обновления на 1.6.0 с более ранних версий, изменение конфигурации не требуется)  
     - При downgrade с 1.6.0 на более ранние версии ПО, необходимо производить downgrade через промежуточную версию 1.5.5 с сохранением конфигурации
          
### Fixed
- Ошибка при создании SNMP community и имен пользователей c символами "-" и "_"
- Ошибка в отображении времени в команде "show reload"
- Некорректная работа команды "igmp snooping force-igmp-version 2" после перезагрузки
- Некорректное отображение Uptime в команде "show users"
- Некорректное отображение настройки "mac-address-table limit" в конфигурации
- Некорректная работа команды "no mls qos default-cos"
- Некорректное отображение "negotiation on/off"
- SNMP OID .1.3.6.1.2.1.17.4.3.1.1 мог отдавать неактуальную таблицу MAC-адресов
- На 1G SFP портах SNR-S5210G-24FX по умолчанию отключен negotiation 
- Перезагрузка при вводе команды "set lldp too-many-neighbors limit"

## [1.5.5] - 2023-09-20
### Added
- Промежуточная прошивка для downgrade с версии 1.6.0 и старше

## [1.5.4] - 2023-09-18
### Added
- Поддержка модели SNR-S5210G-24TX-POE

### Fixed
- Утечка памяти при применении Policy-map
- Зависание управления коммутатором при подключении по Telnet и последующим разрывом сессии в течении 1 сек

## [1.5.2] - 2023-07-24
### Fixed
- LLDP: Перезагрузка при получении двух одинаковых LLDP пакетов в интервале <10 секунд и последующим DOWN/UP порта
- LLDP: Исправлено отбрасывание LLDP пакетов с неизвестными TLV
- LLDP: Исправлено отображение MAC-адреса remote chassis в команде "show lldp port .." 

## [1.5.1] - 2023-07-17
### Added
- Команда 'speed-duplex force10g-full high-leq'  выполняющее повышение значения LEQ 10GE интерфейса для совместимости с оборудованием на чипах Centek (Например OLT BDCOM GP3600)
### Fixed
- Перезагрузка при получении IGMP Group specific query на mrouter порт при наличии на mrouter порту подписки с группой из этого Group specific query

## [1.5.0] - 2023-06-26
### Added
- Функционал Packet-capture (Мониторинг трафика)
- Автоопределение скорости на 10GE портах (speed-duplex auto).
- Dying gasp (для моделей SNR-S5210G-24TX(-UPS) hw 1.2.0,  SNR-S5210G-24FX, SNR-S5210X-8F)
- Поддержка режима PoE LED на SNR-S5210G-24TX-POE
- Команда для запрета отправки Broadcast и Unknown-unicast на порту "switchport flood-control bcast | ucast"

### Changed
- Сохранение конфигурации в startup-config с новым форматом SVI (VlanX) (Внимание! При необходимости downgrade eNOS на версию ниже 1.4.0 необходимо предварительно обновиться на версию 1.4.0 и сохранить конфигурацию)
- Сохранение конфигурации spanning-tree mst configuration при переключении из режима MSTP в STP/RSTP
- Логирование событий login и logout c отображением имени пользователя, протокола и IP

### Fixed
- Транзит STP BPDU пакетов при глобально выключенном STP
- Работа MSTP с разными root коммутаторами в разных MSTI
- Отображение имен пользователей, авторизованных через RADIUS/TACACS в команде "show users"
- Зависание сессий в терминале 
- Разрыв всех telnet-сессий при создании 17го telnet-соединения
- Logout пользователя после завершения работы команды ping
- Некорректная работа DHCP Snooping Binding при переполнении аппаратной таблицы
- Некорректное отключение IGMP Snooping на интерфейсе
- Перезагрузка при удалении IGMP Snooping static group
- Некорректная настройка speed duplex в режиме speed-duplex auto 10 и включенном flowcontrol
- Ошибки в работе MAB
- Работа SNMP OID (ipAddressPrefixTable) .1.3.6.1.2.1.4.32 при наличии маршрута по умолчанию

## [1.4.2] - 2023-04-28
### Fixed
- Циклическая перезагрузка коммутатора с определенной конфигурацией

## [1.4.1] - 2023-04-24
### Fixed
- DHCP-сlient не запрашивает опции в DHCP Discover


## [1.4.0] - 2022-03-27
### Added
- Функционал MAC Authentication Bypass (MAB)
- Отложенная перезагрузка
- Работа MVR на портах в access режиме
- Управление настройками интерфейсов по SNMP (ветка .1.3.6.1.4.1.40418.7.100.3.2)
- Возможность фильтрации по VLAN и COS в MAC ACL
- Команда для отображения утилизации TCAM "show tcam usage"

### Changed
- Изменение имени L3 интерфейса c vlan0.X на vlanX (для ввода доступны форматы "vlan0.X", "vlanX", "vlan X"). Сохранена совместимость конфигурации с предыдущими версиями eNOS
- Изменен формат вывода команд "show version" и "show power inline"

### Fixed
- Некорректное ограничение количества VLAN со включенным DHCP Relay
- Ошибки при вводе "?" после ключевого слова no
- Некорректное редактирование ACL, примененных на портах
- Ошибка при создании extended mac acl
- Настройка igmp snooping static-group на интерфейсе c выкл. IGMP SNOOPING могла приводить к перезагруке
- Перезагрузка при вводе длинного имени интерфейса (более 46 символов)
- Отправка unknown-unicast пакетов с CPU
- Некорректная работа команды "aaa authentication login console local none"
- После удаления интерфейса в состоянии down из channel-group, некорректно отображались настройки speed-duplex данного интерфейса

## [1.3.3] - 2023-02-16
### Fixed
- Ускорена выгрузка таблицы MAC-адресов по SNMP ( OID: 1.3.6.1.2.1.17.7.1.4.3.1.1 )

## [1.3.0] - 2022-12-08
### Added
- Поддержка режима MSTP (spanning-tree mode mstp)
- Возможность принудительной установки версии IGMP (igmp snooping force-igmp-version 2)
- Настройка IP-адреса источника для IGMP пакетов (igmp snooping report source-address)
- Возможность настройки формата DHCP Snooping Option 82 subscriber-id на порту
- Настройка карт DSCP и COS (mls qos map cos-queue; mls qos map dscp-queue)
- Функционал Policy-map и Class-map
- Команда "show spanning-tree brief"
- Команда "show etherchannel detail <1-16>"

### Changed
- Изменена команда настройки весов очередей и добавлена возможность настройки весов на порту (mls qos queue weight)
- Добавлен вывод информации о весах очередей в команде "show mls qos interface"
- Переработана команда "show tech-support"

### Fixed
- Исправлена работа management-address-tlv и system-description TLV в LLDP
- Очистка изученных MAC-адресов при изменении VLAN на порту ge1
- Исправлена работа IGMP Snooping в режиме "no igmp snooping report-supression" (отключена отправка лишних IGMP сообщений)
- Проблема с двойным отключением igmp snooping на VLAN
- Работа функционала bdpu-filter
- Высокая нагрузка CPU при получении таблицы MAC-адресов по SNMP
- Закрытие Telnet/ssh сессии при перезагрузке коммутатора

## [1.2.0] - 2022-09-28
### Added
- Авторизация IGMP через Radius сервер
- Функционал MAC-notification
- OID'ы для управления по SNMP функционалом AM (Address Management)
- Команда для настройки статических IGMP групп "igmp snooping static-group A.B.C.D"

### Fixed
- Запрет создания статических multicast MAC 
- Автоматическое добавление VLAN в список allowed при установке native vlan на порту
- Исправлена работа strom-contol multicast, добавлено ограничение всего multicast траффика, а не только unknown multicast
- Исправлена работа команды 'mls qos default-cos'
- Исправлена неработающая очистка таблицы MAC-адресов на агрегированных портах
- Исправлена перезагрузка коммутатора при применении команд на interface-range после добавления портов в Port-channel/Static-channel
- Исправлено отображение access list в конфигурации
- Запрещена команда show running-config в непривилегированном режиме

### Changed
- Добавлено отключение voice-vlan на интерфейсах при глобальном отключении

## [1.1.0] - 2022-07-01
### Added
- Функционал ограничения доступа по telnet/ssh к управлению коммутатора
- Зеркалирование трафика port-based
- PPPoE Intermediate agent
- Port-security
- AM ( Static IP-MAC-Port binding)
- Strom-control action log/errdisable
- DHCP клиент
- Iperf3 клиент
- Команда отображения сводной статистики по интерфейсам

### Fixed
- Некорректное удаление L3 интерфейса со включеной функцией IGMP Snooping
- Перезагрузка коммутатора при конфигурации диапазона L3-интерфейсов
- Команда clear mac address-table dynamic приводила к удалению статических MAC-адресов
- Некорректная работа команды ограничения доступа по SNMP 
- Сохранение уровня логирования в команде logging server

### Changed
- Отображение VLAN 1 на trunk и hybrid портах в явном виде
- Добавлена передача аттрибута NAS-IP-ADDRESS в Radius запросах


## [1.0.0] - 2022-03-28
### Added
- Обновлен загрузчик до версии 1.1
- Функционал фильтрации IGMP пакетов по типам  Report / Query на портах
- Функционал фильтрации IGMP подписок по адресам multicast групп
- Функционал ограничения количества IGMP подписок на порту
- Отображение заряда АКБ в %
- Команда traceroute
- Функционал DHCPv4 Relay
- Функционал DHCPv4 Relay share-vlan
- Функционал DHCP Snooping Binding
- Функционал DHCP Snooping Binding user-control
- Функционал ограничения кол-ва клиентов в dhcp snooping binding
- Настройка policy (keep,drop,replace) для DHCP Snooping Opt. 82
- Команда ip dhcp relay broadcast suppress


### Fixed
- Изменение диапазона допустимого номера группы channel-group
- Исправлена работа команды show mac-address-table limit
- Добавлено сообщение об ошибке во время выполнения команды igmp snooping multicast-vlan при отсутствии созданного VLAN
- Добавлена очистка изученных MAC-адресов на порту при переходе порта в down
- Добавлен запрет пользователю с ролью network-operator выполнять команды mv, rm, delete startup-config, copy running-config startup-config

### Changed
- В команде "copy (tftp|ftp|sftp|scp) <url> bootrom" проверка расширения в имени файла загрузчика изменено с .bin на .rom

## [0.13.0] - 2021-11-23
### Added
- Настройка ограничения pps пакетов, направляемых в CPU по протоколам (cpu-rx-ratelimit protocol ..)
- Отображение статистики по пакетам, направленным в CPU (show cpu-rx-ratelimit ..)

### Changed
- Изменен вывод команды "show privilege"
- Убран "hostname" из логов на flash и лишние пробелы из логов в RAM
- Переработан функционал ограничения количества MAC адресов на физических интерфейсах (mac-address-table limit maximum):
     - Минимальное количество MAC адресов уменьшено до 1
     - Включена блокировка трафика с неизученных MAC адресов на портах с установленным ограничением
- В конфигурации секция interface vlan перенесена после всех физических и PO/SA интерфейсов

### Fixed
- Исправлена отправка unknown-unicast пакетов с CPU
- Исправлена ошибка при удалении syslog-сервера

## [0.12.3] - 2021-11-16
### Fixed
- Исправлена фильтрация DHCP и IGMP пакетов, перенаправляемых в CPU, по тегам VLAN и STP статусам 
- Исправлена ошибка с очисткой IGMP групп в чипе при удалении VLAN или interface VLAN
- Исправлена ошибка в функционале Voice-Vlan, приводящая к перезагрузке
- Исправлена некорректная команда ACL при указании порта 67 (BOOTP)
- Исправлена ошибка при изменении существующего правила QinQ

## [0.12.2] - 2021-10-07
### Fixed
- Исправлена отправка STP BPDU при загрузке коммутатора при отключенном STP 

### Added
- Команда CLI для обновления загрузчика с проверкой целостности данных
- Поддержка протокола TACACS+ для AAA

## [0.12.1] - 2021-09-13
### Fixed
- Исправлена обработка ошибок при неуспешном создании ARP в HW
- Убран вывод ошибки при применении команды negotiation на 10GE портах
- Проверка конфигурации интерфейса в состоянии down при добавлении в агрегацию
- Прозрачная передача STP BPDU, если STP отключено глобально
- Блокировка BPDU на портах с отключенным STP

### Added
- Определение типа перезагрузки (warm, cold)
- Команда для глобального отключения STP
- Функционал ограничения доступа к SNMP-серверу (snmp-server securityip)
- Функционал Selective Q-in-Q
- SNTP клиент

### Changed
- Уровень некоторых логов для igmp encode переведен в NOTIFY

## [0.12.0]
### Fixed
- Установка Burst Size в storm-control

### Added
- Поддержка Protocol-based VLAN
- Поддержка Voice-VLAN (MAC-based VLAN)
- Возможность смены типа кабеля на DAC, управление negotiation на кабелях 1G
- Поддержка private OID 57206
- Авторизация пользователей через RADIUS сервер
- Аутентификация пользователей через RADIUS сервер
- Проверка через RADIUS пароля при входе в привилегированный режим

### Changed
- Отключена функция обновления MAC-адреса при изменении Agg
- Оптимизация считывания показаний с UPS платы

## [0.11.1]
### Changed
- Хранение VLAN MAC Address в Bridge.

## [0.11.0]
### Fixed
- Исправлена задержка 1 сек при подписке на Multicast-группу.
- Исправлена обработка IGMP пакетов c TTL > 1.
- Исправлена утечка памяти при обработке LLDP пакетов с двумя адресами управления(IPv4 + IPv6)

### Added
- Управление пропускной способностью физических портов (bandwidth control)
- Поддержка применения storm-control на портах-агрегаторах
- Периодический автобэкап конфигурации на tftp(sftp,scp,ftp) сервер

### Changed
- SNMP sysObjectID.
- Переработана команда clock timezone. Добавлена возможность настроить смещение от UTC. Перевод часового пояса по умолчанию в UTC+0.
- Переработан вывод команды show clock. Добавлен вывод настроенного смещения от UTC и имени настройки.
- Ограничения и тип шифрования enable-пароля
- Улучшен алгоритм опроса UPS платы. 

## [0.10.3]
### Fixed
- Исправлена ошибка связанная с удалением Secondary IP адреса при наличии ARP в данной сети.
- Исправлена проблема с переводом 10G интерфейсов из режима 1G в 10GE.
- Улучшена стабильность работы коммутатора, исправлены ошибки которые могли приводить к зависанию.

## [0.10.2]
### Fixed
 - Исправлена проблема с чтением данных с АЦП UPS платы
 
## [0.10.1]
### Fixed
 - Исправлено зависание при опросе системных ресурсов по SNMP
 
## [0.10.0]
### Added
- Поддержка статических ARP записей
- Добавлена команда "show flash"
- Периодический опрос счётчиков интерфейсов. Расчёт и вывод средних pps, bps за последние 5 секунд и 5 минут
- Периодический опрос загрузки CPU. Расчёт и вывод утилизации CPU за последние 5секунд, 30 секунд и за 5 минут
- SNMP MIB-ы для информации о DDMI .1.3.6.1.4.1.40418.7.100.30.1
- SNMP MIB-ы с информацией о питании по сети и о батарее, и TRAP-ы о смене статуса питания по сети и о разрядке батареи
- SNMP MIB-ы с информацией о ресурсах коммутатора .1.3.6.1.4.1.40418.7.100.1.11.
- Поддержка SNMP non-unicast packets OID

### Changed
- Добавлено отображение информации о flash памяти в команду "ls" и "dir"
- Переработана команда "show system resources" для вывода утилизации CPU
- Переработан вывод show interface

## [0.9.3]
### Added
- Команда очистки базы выданных IP адресов "clear ip dhcp binding"

### Changed
- Отображение списка выданных IP адресов "show ip dhcp binding"

## [0.9.2]
### Added
- Очистка RAM файла логов

## [0.9.0]
### Added
- Поддержка H/W L3 Routing
- DHCP Server

## [0.8.0]
### Added
- DHCP Snooping с опцией 82
- Настройка опции 82 по шаблонам
- Журналирование команд CLI
- Loopback detection без STP

### Fixed
- Установка MAC-адреса tap0 из CPU-MAC
- Обязательное указание dst порта при указании src порта для TCP правил в Extended ACL
- Отправка сообщений на Syslog-сервер
- SNMP System MIB

### Changed
- Замена ethertype на fixed field для IP ACL в TCAM
- Отключение неиспользуемых IP протоколов для команд access-list
- Отключено добавление access-list в access-group, уже прикрепленную к интерфейсу
