🌴 Sync 2026-03-05 23:51:42

This commit is contained in:
github-actions[bot] committed 2026-03-05 23:51:42 +08:00
1 parent 97c049ed0a
commit 0acff03804
14253 files changed
+3893239

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+220
View File
@@ -0,0 +1,220 @@
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = u'luci-app-tn-lldpd'
copyright = u'2020, Tano Systems LLC'
author = u'Tano Systems LLC'
# The short X.Y version
version = u'2.0.1'
# The full version, including alpha/beta/rc tags
release = u'2.0.1'
# -- General configuration ---------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.todo',
'sphinx_rtd_theme',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = u'ru'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = [ "refs.rst" ]
rst_epilog = ""
with open('refs.rst') as f:
rst_epilog += f.read()
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = [ 'static' ]
html_context = {
'css_files': [
'_static/theme_overrides.css', # override wide tables in RTD theme
'_static/custom.css'
],
}
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
# html_sidebars = {}
html_sidebars = { '**': [ 'globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'] }
# -- Options for HTMLHelp output ---------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = 'luci-app-tn-lldpddoc'
# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'luci-app-tn-lldpd.tex', u'LuCI приложение luci-app-tn-lldpd',
u'ООО «Тано Системс»', 'manual'),
]
# -- Options for manual page output ------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'luci-app-tn-lldpd', u'luci-app-tn-lldpd Documentation',
[author], 1)
]
# -- Options for Texinfo output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'luci-app-tn-lldpd', u'luci-app-tn-lldpd Documentation',
author, 'luci-app-tn-lldpd', 'One line description of project.',
'Miscellaneous'),
]
# -- Options for Epub output -------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ''
# A unique identification for the text.
#
# epub_uid = ''
# A list of files that should not be packed into the epub file.
epub_exclude_files = ['search.html']
# -- Extension configuration -------------------------------------------------
# -- Options for todo extension ----------------------------------------------
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
smartquotes = True
numfig = True
# Remove the trailing 'dot' in section numbers
html_secnumber_suffix = " "
# inside conf.py
latex_engine = 'xelatex'
latex_elements = {
'fontpkg': r'''
\setmainfont{DejaVu Serif}
\setsansfont{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}
''',
'preamble': r'''
\usepackage[titles]{tocloft}
\cftsetpnumwidth {1.25cm}\cftsetrmarg{1.5cm}
\setlength{\cftchapnumwidth}{0.75cm}
\setlength{\cftsecindent}{\cftchapnumwidth}
\setlength{\cftsecnumwidth}{1.25cm}
''',
'fncychap': r'\usepackage[Bjornstrup]{fncychap}',
'printindex': r'\footnotesize\raggedright\printindex',
}
latex_show_urls = 'footnote'
@@ -0,0 +1,768 @@
==================================
Конфигурация
==================================
Конфигурация службы LLDPd_ осуществляется в подразделе "Настройки"
(раздел главного меню :menuselection:`Службы --> LLDP`).
.. image:: images/config-page.png
:class: with-border
Страница настрек разделена на следующие вкладки:
- "Основные настройки" (см. :numref:`sec-config-general`)
- "Сетевые интерфейсы" (см. :numref:`sec-config-network`)
- "Дополнительные настройки" (см. :numref:`sec-config-advanced`)
- "Поддержка протоколов" (см. :numref:`sec-config-protocols`)
.. _sec-config-general:
Основные настройки
==================
Внешний вид вкладки "Основные настройки" показан на :numref:`fig-config-tab-general`.
.. _fig-config-tab-general:
.. figure:: images/config-tab-general.png
:class: with-border
Вкладка "Основные настройки"
Включить службу
---------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *включено*
* - UCI-опция
- *нет*
Включение или отключение автоматического запуска службы LLDPd_ при запуске системы.
Описание системы
-----------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *нет*
* - UCI-опция
- ``lldpd.config.lldp_description``
Текстовое описание системы. Данное значение будет передаваться другим устройствам
по сети через включенные протоколы обнаружения.
.. _sec-config-general-sysname:
Имя системы
---------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *нет*
* - UCI-опция
- ``lldpd.config.lldp_hostname``
Имя системы. Данное значение будет передаваться другим устройствам
по сети через включенные протоколы обнаружения.
.. _sec-config-general-sysdescr:
Описание платформы
-------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *нет*
* - UCI-опция
- ``lldpd.config.lldp_platform``
Текстовое описание платформы. Данное значение будет передаваться другим устройствам
по сети через включенные протоколы обнаружения.
Если значение не указано, будет использовано имя ядра системы (Linux).
.. _sec-config-general-mgmt-ip:
Адреса управления данной системы
---------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *нет*
* - UCI-опция
- ``lldpd.config.lldp_sys_mgmt_ip``
Адреса управления данной системой. Если не указано, то используется первый IPv4
и первый IPv6 адреса. Если указан конкретный IP-адрес, то он будет использован как адрес
управления без какой-либо проверки. Если необходимо занести в черный список
IPv6-адреса, то можно использовать шаблон ``! *: *``.
.. note::
Подробная информация о доступных шаблонах данного параметра
приведена в `официальной документации <https://vincentbernat.github.io/lldpd/usage.html>`_
службы LLDPd_.
Задержка отправки
--------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``30``
* - UCI-опция
- ``lldpd.config.lldp_tx_interval``
Задержка между двумя передачами LLDP PDU. Значение по умолчанию
составляет 30 секунд.
Значение "transmit hold"
---------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``4``
* - UCI-опция
- ``lldpd.config.lldp_tx_hold``
Это значение используется для вычисления :term:`TTL` переданных пакетов,
которое является произведением этого значения и задержки передачи.
Значение по умолчанию равно 4. Соответственно значение :term:`TTL` по
умолчанию составляет 120 секунд.
Включить режим "только приём"
-------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.readonly_mode``
Управление режимом "только приём". В режиме "только приём"
служба LLDPd_ не выполняет отправку пакетов. Выполняется
только приём и анализ пакетов.
.. _sec-config-network:
Сетевые интерфейсы
==================
Внешний вид вкладки "Сетевые интерфейсы" показан на :numref:`fig-config-tab-network`.
.. _fig-config-tab-network:
.. figure:: images/config-tab-network.png
:class: with-border
Вкладка "Сетевые интерфейсы"
Сетевые интерфейсы
------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *нет*
* - UCI-опция
- ``lldpd.config.interface``
Выбор сетевых интерфейсов, которые будут прослушивать и
отправлять пакеты :term:`LLDPDU`. Если не указан ни один интерфейс,
служба LLDPd_ будет использовать все доступные физические интерфейсы.
.. _sec-config-network-mgmt-ifaces:
Сетевые интерфейсы, используемые для вычисления ID шасси (chassis ID)
---------------------------------------------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- *нет*
* - UCI-опция
- ``lldpd.config.cid_interface``
Выбор сетевых интерфейсов, которые должны использоваться для
вычисления идентификатора шасси (chassis ID). Если интерфейсы
не указаны, то будут иcпользованы все интерфейсы. В этом случае
служба LLDPd_ будет использовать первый MAC-адрес из всех доступных
интерфейсов для вычисления ID шасси.
.. _sec-config-advanced:
Дополнительные настройки
========================
Внешний вид вкладки "Дополнительные настройки" показан на :numref:`fig-config-tab-advanced`.
.. _fig-config-tab-advanced:
.. figure:: images/config-tab-advanced.png
:class: with-border
Вкладка "Дополнительные настройки"
Путь к сокету SNMP agentX
-------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``/var/run/agentx.sock``
* - UCI-опция
- ``lldpd.config.agentxsocket``
Если указан путь к сокету :term:`SNMP` агента, то служба
LLDPd_ включит :term:`SNMP` агент, используя протокол AgentX.
Это позволяет получать информацию о локальной системе и
удаленных системах по протоколу :term:`SNMP`.
Класс устройства LLDP-MED
-------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``4``
* - UCI-опция
- ``lldpd.config.lldp_class``
Выбор класса устройства LLDP-MED. Доступные значения приведены в таблице:
.. list-table::
:class: full-width
:header-rows: 1
* - Значение LuCI
- Значение UCI
* - Generic Endpoint (класс I)
- ``1``
* - Media Endpoint (класс II)
- ``2``
* - Communication Device Endpoints (класс III)
- ``3``
* - Network Connectivity Device (класс IV)
- ``4``
Отключить отправку инвентарной информации LLDP-MED TLV
------------------------------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.lldpmed_no_inventory``
Отключение отправки инвентарной информации :term:`LLDP-MED` :term:`TLV`.
Служба LLDPd_ будет по прежнему получать (и публиковать,
используя :term:`SNMP`, если он включен) информацию :term:`LLDP-MED` :term:`TLV`,
но не будет её отправлять. Используйте эту опцию, если вы не
хотите передавать важную информацию, например, такую как серийные номера.
Поведение при обнаружении нескольких соседей
--------------------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``15``
* - UCI-опция
- ``lldpd.config.filter``
Определяет поведение при обнаружении нескольких соседей на одном порту.
В гетерогенных сетях вы можете видеть несколько различных хостов на
одном и том же порту, даже если к этому порту физически подключен только один.
Например, если у вас есть коммутатор Nortel с запущенным :term:`LLDP`, который
подключен к коммутатору Cisco, работающему по протоколу :term:`CDP`, и ваш
хост подключен к Cisco коммутатору, вы увидите также и Nortel коммутатор,
потому что :term:`LLDP` кадры будут перенаправляться коммутатором Cisco.
Входящая и исходящая фильтрация не связаны между собой.
Входящая фильтрация позволяет скрывать некоторые удаленные порты,
чтобы вы могли точно знать, какое оборудование находится по другую
сторону сетевого кабеля. Фильтрация исходящих кадров позволит запретить
использование некоторых протоколов, чтобы избежать флудинга сети протоколами,
которые никак не обрабатываются ближайшим оборудованием.
.. note::
Следует иметь в виду, что без фильтрации служба LLDPd_ будет
"общаться" по всем протоколам, для которых был получен хотя бы
один кадр, а :term:`LLDP` --- нет.
При включении входящей фильтрации служба LLDPd_ попытается выбрать
один протокол и отфильтровать соседей, использующих другие протоколы.
Для выбора протокола правило заключается в том, чтобы взять менее используемый
протокол. Если на одном порту вы получаете 12 соседей :term:`CDP` и 1 соседа :term:`LLDP`,
то это значит, что удаленный коммутатор "общается" на :term:`LLDP` и не фильтрует :term:`CDP`.
Поэтому выбирается :term:`LLDP`. При включении исходящей фильтрации служба LLDPd_
также попытается выбрать один протокол и будет "общаться" только по этому
протоколу. Фильтрация производится по портам. Каждый порт может иметь
различный протокол.
При включении фильтрации имеется два дополнительных критерия:
- разрешение выбрать один или несколько протоколов (в случае ничьей);
- разрешение выбрать одного или нескольких соседей.
Правило выбора протоколов с меньшим количеством соседей применяется
Даже если разрешено несколько протоколов. Если служба LLDPd_
выбирает :term:`LLDP` и :term:`CDP`, это означает, что у них одинаковое количество соседей.
Выбор соседей происходит случайным образом. Входящая фильтрация будет
выбирать набор соседей, которые будут отображаться. Исходящая фильтрация
будет использовать выбранный набор соседей, чтобы решить какие протоколы
использовать: если выбранный сосед "общается" через :term:`LLDP`,
а другой --- через :term:`CDP`, то LLDPd_ будет "общаться"
и через :term:`CDP`, и через :term:`LLDP` на этом порту.
Есть несколько граничных случаев. Типичный пример --- коммутатор, "общающийся"
на двух протоколах (например, :term:`CDP` и :term:`LLDP`). Вы хотите получить информацию
по лучшему протоколу, но хотите "общаться" на обоих протоколах, потому что
некоторые инструменты используют таблицу :term:`CDP`, а другие --- :term:`LLDP`.
В таблице ниже приведены все возможные значения фильтрации.
Значение по умолчанию равно 15, что соответствует граничному случаю,
описанному выше. Столбец "filter" означает, что фильтрация включена.
Столбец "1proto" говорит о том, что будет сохранен только один протокол.
Столбец "1neigh" говорит о том, что будет сохранен только один сосед.
.. table:: Возможные значения фильтрации входящих и исходящих пакетов
+------------+--------------------------+--------------------------+
| | Входящая фильтрация | Исходящая фильтрация |
| Значение +--------+--------+--------+--------+--------+--------+
| | filter | 1proto | 1neigh | filter | 1proto | 1neigh |
+============+========+========+========+========+========+========+
| 0 | | | | | | |
+------------+--------+--------+--------+--------+--------+--------+
| 1 | ✔ | ✔ | | ✔ | ✔ | |
+------------+--------+--------+--------+--------+--------+--------+
| 2 | ✔ | ✔ | | | | |
+------------+--------+--------+--------+--------+--------+--------+
| 3 | | | | ✔ | ✔ | |
+------------+--------+--------+--------+--------+--------+--------+
| 4 | ✔ | | | ✔ | | |
+------------+--------+--------+--------+--------+--------+--------+
| 5 | ✔ | | | | | |
+------------+--------+--------+--------+--------+--------+--------+
| 6 | | | | ✔ | | |
+------------+--------+--------+--------+--------+--------+--------+
| 7 | ✔ | ✔ | ✔ | ✔ | ✔ | |
+------------+--------+--------+--------+--------+--------+--------+
| 8 | ✔ | ✔ | ✔ | | | |
+------------+--------+--------+--------+--------+--------+--------+
| 9 | ✔ | | ✔ | ✔ | ✔ | |
+------------+--------+--------+--------+--------+--------+--------+
| 10 | | | | ✔ | | ✔ |
+------------+--------+--------+--------+--------+--------+--------+
| 11 | ✔ | | ✔ | | | |
+------------+--------+--------+--------+--------+--------+--------+
| 12 | ✔ | | ✔ | ✔ | | ✔ |
+------------+--------+--------+--------+--------+--------+--------+
| 13 | ✔ | | ✔ | ✔ | | |
+------------+--------+--------+--------+--------+--------+--------+
| 14 | ✔ | ✔ | | ✔ | | ✔ |
+------------+--------+--------+--------+--------+--------+--------+
| 15 | ✔ | ✔ | | ✔ | | |
+------------+--------+--------+--------+--------+--------+--------+
| 16 | ✔ | ✔ | ✔ | ✔ | | ✔ |
+------------+--------+--------+--------+--------+--------+--------+
| 17 | ✔ | ✔ | ✔ | ✔ | | |
+------------+--------+--------+--------+--------+--------+--------+
| 18 | ✔ | | | ✔ | | ✔ |
+------------+--------+--------+--------+--------+--------+--------+
| 19 | ✔ | | | ✔ | ✔ | |
+------------+--------+--------+--------+--------+--------+--------+
.. _sec-config-advanced-portidsubtype:
Использовать в качестве ID порта
--------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``macaddress``
* - UCI-опция
- ``lldpd.config.lldp_portidsubtype``
Позволяет выбрать что использовать в качестве идентификатора
порта --- MAC-адрес или имя интерфейса. Доступные значения приведены в таблице:
===================== ============== ========================================================================
Значение LuCI Значение UCI Описание
===================== ============== ========================================================================
MAC-адрес интерфейса ``macaddress`` В качестве идентификатора порта будет использован MAC-адрес интерфейса.
Имя интерфейса ``ifname`` В качестве идентификатора порта будет использовано имя интерфейса.
===================== ============== ========================================================================
MAC-адрес назначения, используемый для отправки LLDPDU
------------------------------------------------------
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``nearest-bridge``
* - UCI-опция
- ``lldpd.config.lldp_agenttype``
MAC-адрес назначения, используемый для отправки :term:`LLDPDU`. Данный параметр позволяет
агенту контролировать распространение :term:`LLDPDU`. По умолчанию используется MAC-адрес
``01:80:c2:00:00:0e`` и ограничивает распространение :term:`LLDPDU` до ближайшего моста.
Доступные значения приведены в таблице:
============================================ =========================== ========================================================================
Значение LuCI Значение UCI Описание
============================================ =========================== ========================================================================
01:80:c2:00:00:0e (nearest-bridge) ``nearest-bridge`` :term:`LLDPDU` будут отпавляться на MAC-адрес ``01:80:c2:00:00:0e``.
01:80:c2:00:00:03 (nearest-nontpmr-bridge) ``nearest-nontpmr-bridge`` :term:`LLDPDU` будут отпавляться на MAC-адрес ``01:80:c2:00:00:03``.
01:80:c2:00:00:00 (nearest-customer-bridge) ``nearest-customer-bridge`` :term:`LLDPDU` будут отпавляться на MAC-адрес ``01:80:c2:00:00:00``.
============================================ =========================== ========================================================================
.. _sec-config-protocols:
Поддержка протоколов
====================
Вкладка "Поддержка протоколов" дополнительно разделена на подвкладки
для настроек каждого из поддерживаемых протоколов:
- :term:`LLDP` (см. :numref:`sec-config-protocols-lldp`);
- :term:`CDP` (см. :numref:`sec-config-protocols-cdp`);
- :term:`FDP` (см. :numref:`sec-config-protocols-fdp`);
- :term:`EDP` (см. :numref:`sec-config-protocols-edp`);
- :term:`SONMP`, :term:`NTDP`, :term:`BNMP`, :term:`NDP`, :term:`BDP` (см. :numref:`sec-config-protocols-sonmp`).
.. _sec-config-protocols-lldp:
Протокол LLDP
-------------
Внешний вид вкладки с настройками протокола :term:`LLDP` показан
на :numref:`fig-config-tab-protocols-lldp`.
.. _fig-config-tab-protocols-lldp:
.. figure:: images/config-tab-protocols-lldp.png
:class: with-border
Вкладка "Поддержка протоколов". Настройки протокола :term:`LLDP`
Включить LLDP
^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``1`` (включено)
* - UCI-опция
- ``lldpd.config.enable_lldp``
Опция включает поддержку протокола :term:`LLDP`.
Форсировать отправку LLDP пакетов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.force_lldp``
Опция управляет принудительной отправкой пакетов :term:`LLDP`, даже если соседей
с поддержкой :term:`LLDP` не обнаружено, но есть соседи, с поддержкой
другого протокола. По умолчанию пакеты :term:`LLDP` отправляются,
когда обнаружен сосед с поддержкой :term:`LLDP` или когда вообще
нет обнаруженных соседей.
.. _sec-config-protocols-cdp:
Протокол CDP
------------
Внешний вид вкладки с настройками протокола :term:`CDP` показан
на :numref:`fig-config-tab-protocols-cdp`.
.. _fig-config-tab-protocols-cdp:
.. figure:: images/config-tab-protocols-cdp.png
:class: with-border
Вкладка "Поддержка протоколов". Настройки протокола :term:`CDP`
Включить CDP
^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``1`` (включено)
* - UCI-опция
- ``lldpd.config.enable_cdp``
Опция включает поддержку протокола :term:`CDP`.
Версия протокола CDP
^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``cdpv1v2`` (CDPv1 и CDPv2)
* - UCI-опция
- ``lldpd.config.cdp_version``
Опция позволяет выбрать поддерживамые версии протокола :term:`CDP`.
Доступные значения приведены в таблице:
========================= ============ ========================================================================
Значение LuCI Значение UCI Описание
========================= ============ ========================================================================
CDPv1 и CDPv2 ``cdpv1v2`` Поддерживается протокол :term:`CDP` версий 1 и 2.
Только CDPv2 ``cdpv2`` Поддерживается только версия 2 протокола :term:`CDP`.
========================= ============ ========================================================================
Отправлять СDP пакеты даже если не обнаружено соседей с СDP протоколом
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.force_cdp``
Если опция включена, то пакеты :term:`CDP` будут отправляться вне зависимости
от того, обнаружен ли сосед с поддержкой протокола :term:`CDP`.
Форсировать отправку CDPv2 пакетов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.force_cdpv2``
.. note::
Опция доступна только в случае выбора "CDPv1 и CDPv2" для опции "Версия протокола CDP"
и включенной опции "Отправлять СDP пакеты даже если не обнаружено соседей с СDP протоколом".
Если опция включена, то будут принудительно отправляться пакеты протокола :term:`CDP`
версии 2.
.. _sec-config-protocols-fdp:
Протокол FDP
------------
Внешний вид вкладки с настройками протокола :term:`FDP` показан
на :numref:`fig-config-tab-protocols-fdp`.
.. _fig-config-tab-protocols-fdp:
.. figure:: images/config-tab-protocols-fdp.png
:class: with-border
Вкладка "Поддержка протоколов". Настройки протокола :term:`FDP`
Включить FDP
^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``1`` (включено)
* - UCI-опция
- ``lldpd.config.enable_fdp``
Опция включает поддержку протокола :term:`FDP`.
Отправлять FDP пакеты даже если не обнаружено соседей с FDP протоколом
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.force_fdp``
Если опция включена, то пакеты :term:`FDP` будут отправляться вне зависимости
от того, обнаружен ли сосед с поддержкой протокола :term:`FDP`.
.. _sec-config-protocols-edp:
Протокол EDP
------------
Внешний вид вкладки с настройками протокола :term:`EDP` показан
на :numref:`fig-config-tab-protocols-edp`.
.. _fig-config-tab-protocols-edp:
.. figure:: images/config-tab-protocols-edp.png
:class: with-border
Вкладка "Поддержка протоколов". Настройки протокола :term:`EDP`
Включить EDP
^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``1`` (включено)
* - UCI-опция
- ``lldpd.config.enable_edp``
Опция включает поддержку протокола :term:`EDP`.
Отправлять EDP пакеты даже если не обнаружено соседей с EDP протоколом
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.force_edp``
Если опция включена, то пакеты :term:`EDP` будут отправляться
вне зависимости от того, обнаружен ли сосед с поддержкой
протокола :term:`EDP`.
.. _sec-config-protocols-sonmp:
Протокол SONMP
--------------
Внешний вид вкладки с настройками протокола :term:`SONMP` показан
на :numref:`fig-config-tab-protocols-sonmp`.
.. _fig-config-tab-protocols-sonmp:
.. figure:: images/config-tab-protocols-sonmp.png
:class: with-border
Вкладка "Поддержка протоколов". Настройки протокола :term:`SONMP`
Включить SONMP
^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``1`` (включено)
* - UCI-опция
- ``lldpd.config.enable_sonmp``
Опция включает поддержку протокола :term:`SONMP`.
Отправлять SONMP пакеты даже если не обнаружено соседей с SONMP протоколом
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:class: full-width
:header-rows: 0
* - Значение по умолчанию
- ``0`` (отключено)
* - UCI-опция
- ``lldpd.config.force_sonmp``
Если опция включена, то пакеты :term:`SONMP` будут отправляться вне зависимости
от того, обнаружен ли сосед с поддержкой протокола :term:`SONMP`.
@@ -0,0 +1,2 @@
Алфавитный указатель
====================
+118
View File
@@ -0,0 +1,118 @@
==================================
Глоссарий
==================================
.. glossary::
:sorted:
CDP
*Cisco Discovery Protocol*
Проприетарный протокол второго уровня, разработанный компанией Cisco Systems,
позволяющий обнаруживать подключённое (напрямую или через устройства первого уровня)
сетевое оборудование Cisco, его название, версию IOS и IP-адреса. Поддерживается
многими устройствами компании, почти не поддерживается сторонними производителями.
Получаемая информация включает в себя типы подключённых устройств, интерфейсы
устройства, к которым подключены соседние устройства, интерфейсы, использующиеся
для создания соединений, а также модели устройств.
.. seealso::
https://ru.wikipedia.org/wiki/CDP
EDP
*Extreme Discovery Protocol*
Проприетарный протокол от компании Extreme Networks. Используется для отправки
информации, такой как системный MAC, имя устройства или информация о VLAN на
соседние устройства. Также используется для передачи протоколов "более высокого
уровня", таких как EAPS и ESRP.
FDP
*Foundry Discovery Protocol*
Проприетарный протокол второго уровня, разработанный компанией Foundry Networks.
BDP
BNMP
NDP
NTDP
SONMP
| *Bay Discovery Protocol (BDP)*
| *Bay Network Management Protocol (BNMP)*
| *Nortel Discovery Protocol (NDP)*
| *Nortel Topology Discovery Protocol (NTDP)*
| *SynOptics Network Management Protocol (SONMP)*
Nortel Discovery Protocol (NDP) - это сетевой протокол для обнаружения сетевых
устройств Nortel и некоторых продуктов Avaya и Ciena на канале передачи данных
(OSI Layer 2).
Nortel Discovery Protocol берет свое начало от SynOptics Network Management Protocol
(SONMP), разработанного до слияния компаний SynOptics и Wellfleet Communications в 1994 г.
Протокол был переименован в Bay Network Management Protocol (BNMP), а некоторые
анализаторы протоколов ссылались на него как на Bay Discovery Protocol (BDP).
Четыре года спустя, в 1998 году, Bay Networks был приобретен компанией Nortel и переименован
в Nortel Discovery Protocol (NDP).
.. seealso::
https://en.wikipedia.org/wiki/Nortel_Discovery_Protocol
LLDP
*Link Layer Discovery Protocol*
Протокол канального уровня, позволяющий сетевому оборудованию оповещать оборудование,
работающее в локальной сети, о своём существовании и передавать ему свои характеристики,
а также получать от него аналогичные сведения. Описание протокола приводится в стандарте
IEEE 802.1AB-2009, формально утверждённом в сентябре 2009 года. Протокол не зависит
от производителей сетевого оборудования и является заменой аналогичных, но патентованных
протоколов, таких как :term:`CDP`, :term:`EDP`, :term:`FDP` и :term:`NDP`
(последний также известен как :term:`SONMP`).
.. seealso::
https://ru.wikipedia.org/wiki/LLDP
LLDPDU
*Link Layer Discovery Protocol Data Unit*
LLDP-MED
*Link Layer Discovery Protocol - Media Endpoint Discovery*
Расширение стандарта :term:`LLDP`, которое позволяет:
- автоматически обнаруживать сетевые политики (VLAN, 802.1p, DSCP);
- использовать более расширенное и автоматическое управление питанием на PoE хостах;
- отслеживать местоположения устройств и топологию, в том числе таких устройств как IP-телефоны;
- выполнять инвентаризацию устройств в сети и определение их характеристик;
- отслеживать перемещения устройств и отправлять :term:`SNMP`-сообщения на соответствующий управляющий хост.
Описан в стандарте ANSI/TIA-1057.
SNMP
*Simple Network Management Protocol*
Протокол, который используется для управления сетевыми устройствами.
С помощью протокола SNMP, программное обеспечение для управления сетевыми
устройствами может получать доступ к информации, которая хранится на
управляемых устройствах (например, на коммутаторе).
.. seealso::
| https://ru.wikipedia.org/wiki/SNMP
| http://xgu.ru/wiki/SNMP
TLV
*Type-Length-Value*
Широко распространённый метод записи коротких данных в телекоммуникационных протоколах.
Метод определяет простую двоичную структуру из трёх полей: тип, длина данных
и собственно данные. Первые два поля имеют фиксированную длину (обычно один
или два октета на поле), длина третьего поля определяется значением второго поля
(значение указывается в байтах). Тип является идентификатором данных,
определяя их назначение.
.. seealso::
| https://ru.wikipedia.org/wiki/Tag-length-value
TTL
*Time-to-Live*
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+26
View File
@@ -0,0 +1,26 @@
#################################
LuCI приложение luci-app-tn-lldpd
#################################
===================
Содержание
===================
.. toctree::
:maxdepth: 2
:numbered:
overview.rst
configuration.rst
status.rst
===================
Индексы и таблицы
===================
.. toctree::
:maxdepth: 1
genindex
glossary.rst
+106
View File
@@ -0,0 +1,106 @@
==================================
Обзор
==================================
.. container:: sidebar
.. image:: images/tano-logo.png
:target: https://tano-systems.com
:align: center
luci-app-tn-lldpd --- LuCI_ приложение поддержки системной службы
LLDPd_ операционной системы TanoWrt_. Исходный код приложения размещен в репозитории
GitHub по ссылке https://github.com/tano-systems/luci-app-tn-lldpd.
Зависимости
===========
Для корректной работы приложения требуется установленная служба LLDPd_
с правильными инициализационными скриптами procd с поддержкой всех требуемых
UCI-опций.
.. note::
Приложение разработано для поддержки управления службой LLDPd_ из
веб-интерфейса управления операционной системы TanoWrt_. В связи с этим,
для поддержки некоторых из возможностей приложения требуются доработанные
(по сравнению с оригинальными скриптами из оперционной системы OpenWrt_)
инициализационные скрипты procd для службы LLDPd_. Данные скрипты расположены
в репозитории OpenEmbedded слоя операционной системы TanoWrt_ в составе
рецепта службы LLDPd_ (см. https://github.com/tano-systems/meta-tanowrt/tree/master/meta-tanowrt/recipes-networking/lldpd/lldpd/files).
Для корректной работы приложения требуется версия веб-интерфейса управления LuCI
с поддержкой рендеринга на стороне клиента.
Поддержка языков
================
LuCI приложение luci-app-tn-lldpd имеет поддержку следующих
языков для интерфейса пользователя:
- Английский (English)
- Русский (Russian)
Поддержка тем оформления LuCI
=============================
LuCI приложение luci-app-tn-lldpd корректно отображается с использованием следующих тем оформления
веб-интерфейса управления LuCI:
- `luci-theme-tano <https://github.com/tano-systems/luci-theme-tano>`_
- luci-theme-bootstrap
- luci-theme-openwrt-2020
- luci-theme-openwrt
.. note::
Все скриншоты в данной документации сделаны с использованием
темы оформления `luci-theme-tano <https://github.com/tano-systems/luci-theme-tano>`_.
Корректная работа приложения на других темах оформления не гарантируется.
Возможности
=============
Конфигурация
------------
- конфигурация временных интервалов отправки пакетов;
- конфигурация режима "только приём";
- выбор сетевых интерфейсов, для которых активируется служба LLDPd_;
- выбор сетевых интерфейсов для вычисления идентификатора локального шасси;
- конфигурация интеграции со службой :term:`SNMP`;
- конфигурация класса :term:`LLDP-MED` устройства;
- конфигурация фильтра для случаев обнаружения нескольких соседей на одном интерфейсе;
- конфигурация поддержки протоколов:
- :term:`LLDP`;
- :term:`CDP` (версии 1 и 2);
- :term:`FDP`;
- :term:`EDP`;
- :term:`SONMP` (:term:`NTDP`, :term:`BNMP`, :term:`NDP`, :term:`BDP`);
- и др.
Мониторинг состояния
--------------------
- просмотр статистики для каждого локального интерфейса:
- используемый протокол на интерфейсе;
- количество отправленных пакетов;
- количество принятых пакетов;
- количество отброшенных пакетов на отправке;
- количество нераспознанных пакетов на приёме;
- количество устареваний записей;
- количество удаленных записей;
- количество добавленных записей;
- просмотр информации об обнаруженных соседях для каждого локального интерфейса:
- используемый протокол на интерфейсе;
- подробная информация об обнаруженном шасси на интерфейсе;
- подробная информация по порту удаленного устройства.
Лицензия
=============
Исходный код приложения распространяется под открытой лицензией `MIT <https://github.com/tano-systems/luci-app-tn-lldpd/blob/master/LICENSE>`_.
+4
View File
@@ -0,0 +1,4 @@
.. _TanoWrt: https://github.com/tano-systems/meta-tanowrt
.. _OpenWrt: https://openwrt.org
.. _LuCI: https://github.com/openwrt/luci
.. _LLDPd: https://github.com/vincentbernat/lldpd
@@ -0,0 +1 @@
sphinx_rtd_theme
@@ -0,0 +1,247 @@
body {
font-family: Carlito,Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;
}
div.wy-nav-content {
max-width: none;
}
.rst-content h1,
.rst-content h2,
.rst-content h3,
.rst-content h4,
.rst-content h5,
.rst-content h6 {
margin-top: revert;
}
.rst-content img.with-shadow {
box-shadow: 3px 3px 6px rgba(0,0,0,0.4);
}
.rst-content img.with-border {
border: 1px solid #d0d0d0;
}
.rst-content table td p {
font-size: inherit;
}
.rst-content div.figure {
margin-top: 24px;
}
.rst-content .section > a > img,
.rst-content .section > img {
margin-top: 12px;
}
.rst-content .document dl,
.rst-content .document ol,
.rst-content .document ul {
margin-bottom: 12px;
}
.rst-content .document ul {
/* padding-left: 2.5em;*/
}
.rst-content .document ul > li > ul {
margin-bottom: 0;
margin-top: 0;
}
.rst-content li {
list-style: disc;
}
.rst-content .toctree-wrapper ul {
padding-left: 0;
}
.rst-content .toctree-wrapper li {
list-style: none;
}
.rst-content .section ul,
.rst-content .toctree-wrapper ul,
.rst-content .wy-plain-list-disc,
.rst-content article ul,
.rst-content .admonition,
.rst-content .admonition-todo,
.rst-content .attention,
.rst-content .caution,
.rst-content .danger,
.rst-content .error,
.rst-content .hint,
.rst-content .important,
.rst-content .note,
.rst-content .seealso,
.rst-content .tip,
.rst-content .warning,
.rst-content .wy-alert,
.rst-content div[class^=highlight],
.rst-content pre.literal-block,
.rst-content p {
margin-bottom: 12px;
}
.rst-content .wy-table-responsive {
margin-top: 24px;
margin-bottom: 24px;
}
.rst-content .figure p.caption {
text-align: center;
margin-top: 6px;
}
.rst-content a.reference.external:not(.image-reference):after {
content: "";
padding-left: 16px;
background: url(icon-external-link.png);
background-size: 12px;
background-repeat: no-repeat;
background-position: right center;
}
.rst-content table > caption {
text-align: left !important;
}
.rst-content div.center,
.rst-content p.center {
text-align: center;
}
.wy-menu-vertical header,
.wy-menu-vertical p.caption {
height: auto;
line-height: 20px;
margin: 12px 0 12px;
white-space: normal;
}
.rst-content section ol li>p:only-child,
.rst-content section ol li>p:only-child:last-child,
.rst-content section ul li>p:only-child,
.rst-content section ul li>p:only-child:last-child {
margin-bottom: 0;
}
.rst-content .highlight {
/* background: #f1f1f1;*/
/* background: #eaedfa;*/
background: #fafaea;
/* background: #effaea;*/
/* background: #eaf4fa;*/
}
.rst-content div.admonition {
border-radius: 8px;
box-shadow: 0 2px 5px 1px rgb(64 60 67 / 16%);
}
.rst-content .admonition-title {
border-top-left-radius: 8px;
border-top-right-radius: 8px;
padding: 8px 12px;
}
.rst-content .admonition-title:before {
margin-right: 8px;
}
.rst-content code.literal,
.rst-content tt.literal {
color: #2980b9;
border-radius: 4px;
}
.rst-content table.docutils td,
.rst-content table.field-list td {
vertical-align: top;
}
.rst-content ul.wy-breadcrumbs {
display: flex;
flex-flow: row;
flex-wrap: wrap;
align-items: center;
}
.rst-content .wy-breadcrumbs li {
padding-right: 5px;
}
.rst-content .wy-breadcrumbs li a {
padding-right: 0;
}
.rst-content .wy-breadcrumbs li.wy-breadcrumbs-aside {
margin-left: auto;
padding-left: 32px;
padding-right: 0;
}
.rst-content table.docutils caption,
.rst-content table.field-list caption,
.wy-table caption {
padding-top: 0;
}
.wy-table-responsive table td,
.wy-table-responsive table th {
white-space: normal;
vertical-align: top;
}
.rst-content table.docutils td:first-child,
.rst-content table.docutils th:first-child,
.rst-content table.field-list td:first-child,
.rst-content table.field-list th:first-child,
.wy-table td:first-child,
.wy-table th:first-child {
border-left-width: 1px;
}
.rst-content .admonition-todo p:last-child,
.rst-content .admonition p:last-child,
.rst-content .attention p:last-child,
.rst-content .caution p:last-child,
.rst-content .danger p:last-child,
.rst-content .error p:last-child,
.rst-content .hint p:last-child,
.rst-content .important p:last-child,
.rst-content .note p:last-child,
.rst-content .seealso p:last-child,
.rst-content .tip p:last-child,
.rst-content .warning p:last-child,
.wy-alert p:last-child {
line-height: 1.4;
}
.rst-content .figure p.caption,
.rst-content .figure.align-default p.caption {
text-align: left;
}
.rst-content .figure.align-center p.caption {
text-align: center;
}
.rst-content table.docutils td .admonition,
.rst-content table.docutils td .admonition-todo,
.rst-content table.docutils td .attention,
.rst-content table.docutils td .caution,
.rst-content table.docutils td .danger,
.rst-content table.docutils td .error,
.rst-content table.docutils td .hint,
.rst-content table.docutils td .important,
.rst-content table.docutils td .note,
.rst-content table.docutils td .seealso,
.rst-content table.docutils td .tip,
.rst-content table.docutils td .warning {
margin-top: 12px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

@@ -0,0 +1,12 @@
/* override table width restrictions */
@media screen and (min-width: 767px) {
.wy-table-responsive table td {
/* !important prevents the common CSS stylesheets from overriding
this as on RTD they are loaded after this stylesheet */
white-space: normal !important;
}
.wy-table-responsive {
overflow: visible !important;
}
}
+292
View File
@@ -0,0 +1,292 @@
==================================
Мониторинг состояния
==================================
Мониторинг состояния службы LLDPd_ осуществляется в подразделе "Состояние"
(раздел главного меню :menuselection:`Службы --> LLDP`).
.. image:: images/status-page.png
:class: with-border
В самом начале страницы "Состояние" отображается подраздел с информацией
о локальном шасси в виде таблицы. Описание параметров локального
шасси приведено в таблице ниже (:numref:`table-local-chassis-params`).
.. _table-local-chassis-params:
.. list-table:: Параметры локального шасси
:widths: 30 70
:header-rows: 1
* - Параметр
- Описание
* - Имя
- Имя системы. Конфигурируется при помощи опции,
описанной в разделе :ref:`sec-config-general-sysname`.
* - Описание
- Идентификатор. Может быть сконфигурирован при помощи
опции :ref:`sec-config-general-sysdescr`.
* - ID
- Описание системы. Конфигурируется при помощи опции
:ref:`sec-config-network-mgmt-ifaces`.
* - Тип ID
- Тип идентификатора (MAC-адрес или имя интерфейса).
Конфигурируется при помощи опции :ref:`sec-config-advanced-portidsubtype`.
* - IP-адреса
- Список IP-адресов управления данной системой. Может быть сконфигурировано
при помощи опции :ref:`sec-config-general-mgmt-ip`
* - Возможности
- Список возможностей данной системы. Значение не конфигурируется.
Далее на странице "Состояние" расположены таблицы обнаруженных соседей
(см. :numref:`sec-status-neighbors`) и статистики интерфейсов
(см. :numref:`sec-status-stats`) в соответствующих вкладках.
.. _sec-status-neighbors:
Таблица обнаруженных соседей
============================
Пример внешнего вида вкладки с таблицей обнаруженных соседей приведен
на рисунке ниже (:numref:`fig-status-tab-neighbors`).
.. _fig-status-tab-neighbors:
.. figure:: images/status-tab-neighbors.png
:class: with-border
Таблица обнаруженных соседей
Строки таблицы имеют два режима отображения информации --- компактный
(см. :numref:`fig-status-neighbor-collapsed`) и расширенный
(см. :numref:`fig-status-neighbor-expanded`).
Переключение между режимами производится однократным нажатием в любом месте строки.
.. _fig-status-neighbor-collapsed:
.. figure:: images/neighbor-collapsed.png
:class: with-border
Компактный режим отображения информации таблицы соседей
.. _fig-status-neighbor-expanded:
.. figure:: images/neighbor-expanded.png
:class: with-border
Расширенный режим отображения информации таблицы соседей
Компактный режим отображения
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
В компактном режиме в столбцах таблицы отображаются следующие
данные для обнаруженных соседей:
- столбец "Локальный интерфейс" --- имя локального интерфейса,
на котором обнаружено соседнее устройство;
- столбец "Протокол" --- протокол, с использованием которого обнаружено соседнее устройство;
- столбец "Обнаруженное шасси" --- строка описания шасси обнаруженного устройства;
- столбец "Обнаруженный порт" --- информация о порте обнаруженного устройства (описание порта и его идентификатор).
Расширенный режим отображения
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
В расширенном режиме в столбцах таблицы
отображается дополнительная информация:
- столбец "Локальный интерфейс"
.. list-table::
:widths: 30 70
:header-rows: 1
* - Параметр
- Описание
* - Имя
- Имя локального интерфейса, на котором обнаружено соседнее устройство.
* - Возраст
- Время работы интерфейса. Время обнуляется при перезапуске службы LLDPd_ или
при потере подключения (линка) на интерфейсе.
- столбец "Протокол" --- аналогично отображению в компактном режиме
- столбец "Обнаруженное шасси"
.. list-table::
:widths: 30 70
:header-rows: 1
* - Параметр
- Описание
* - Имя
- Имя шасси обнаруженного устройства.
* - Описание
- Текстовая строка с описанием шасси обнаруженного устройства.
* - ID
- Идентификатор обнаруженного шасси.
* - Тип ID
- Тип идентификатора обнаруженного шасси. Как правило, одно из следующих значений:
- MAC-адрес;
- Локально заданный ID;
- Имя интерфейса;
- IP-адрес.
* - IP-адреса
- Список IP-адресов управления обнаруженным шасси.
* - Возможности
- Перечень поддерживаемых возможностей (capabilities) обнаруженного шасси.
- столбец "Обнаруженный порт"
.. list-table::
:widths: 30 70
:header-rows: 1
* - Параметр
- Описание
* - ID порта
- Идентификатор порта обнаруженного устройства.
* - Тип ID порта
- Тип идентификатора порта. Как правило, одно из следующих значений:
- MAC-адрес;
- Локально заданный ID;
- Имя интерфейса;
- IP-адрес.
* - Описание порта
- Текстовая строка с описанием порта обнаруженного устройства.
* - :term:`TTL`
- Время жизни в секундах. Если в течении указанного времени
с порта не будут приходить пакеты с информацией об обнаруженном устройстве,
это устройство будет считаться устаревшим и будет удалено из таблицы
обнаруженных соседей.
.. note::
Некоторые параметры режима расширенного отображения информации
могут отсутствовать (не отображаться), если информация не сообщается
соседним устройством (например, в случае отсутствия поддержки
передачи подобной информации используемым протоколом).
.. _sec-status-stats:
Таблица статистики интерфейсов
==============================
Пример внешнего вида вкладки с таблицей статистики интерфейсов приведён
на рисунке ниже (:numref:`fig-status-tab-stats`).
.. _fig-status-tab-stats:
.. figure:: images/status-tab-stats.png
:class: with-border
Таблица статистики интерфейсов
Строки таблицы статистики интерфейсов, также как и строки таблицы обнаруженных соседей,
имеют два режима отображения информации --- компактный
(см. :numref:`fig-status-stat-collapsed`) и расширенный
(см. :numref:`fig-status-stat-expanded`).
Переключение между режимами производится однократным нажатием в любом месте строки.
.. _fig-status-stat-collapsed:
.. figure:: images/stat-collapsed.png
:class: with-border
Компактный режим отображения таблицы статистики интерфейсов
.. _fig-status-stat-expanded:
.. figure:: images/stat-expanded.png
:class: with-border
Расширенный режим отображения таблицы статистики интерфейсов
Компактный режим отображения
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
В компактном режиме в столбцах таблицы статистики интерфейсов
отображаются следующие данные для интерфейсов:
- столбец "Локальный интерфейс" --- имя локального интерфейса;
- столбец "Протокол" --- протокол, по которому работает в текущий данный интерфейс.
Если на интерфейсе обнаружено использование одновременно нескольких протоколов,
то в этом случае конкретный протокол не определён и в данном столбце будет
указан прочерк;
- столбец "Tx" --- количество отправленных фреймов через данный интерфейс;
- столбец "Rx" --- количество принятых фреймов на данном интерфейсе;
- столбец "Tx (отброшено)" --- количество отброшенных фреймов при отправке;
- столбец "Rx (не распознано)" --- количество не распознанных фреймов на приёме;
- столбец "Устарело" --- количество устаревших записей о соседях, полученных через данный интерфейс;
- столбец "Обнаружено" --- количество обнаружений соседей через данный интерфейс;
- столбец "Удалено" --- количество удаленных соседей через данный интерфейс.
Расширенный режим отображения
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
В расширенном режиме в столбце "Локальный интерфейс"
отображается дополнительная информация, приведенная в таблице ниже:
.. list-table::
:widths: 30 70
:header-rows: 1
* - Параметр
- Описание
* - Имя
- Имя локального интерфейса
* - Возраст
- Время работы интерфейса. Время обнуляется при перезапуске службы LLDPd_ или
при потере подключения (линка) на интерфейсе.
.. attention::
В некоторых случаях данный параметр имеет значения наподобие
"18507 days, 14:26:05" (время, прошедшее с момента 1-го января
1970 года 00:00:00 UTC). Такое происходит для локальных интерфейсов,
которые находятся в отключенном состоянии на протяжении всего
времени работы службы LLDPd_ с момента запуска.
* - ID порта
- Идентификатор порта локального интерфейса.
* - Тип ID порта
- Тип идентификатора порта локального интерфейса.
Как правило это одно из следующих значений:
- MAC-адрес;
- Локально заданный ID;
- Имя интерфейса;
- IP-адрес.
* - Описание порта
- Текстовая строка с описанием порта локального интерфейса.
* - :term:`TTL`
- Время жизни в секундах. Если в течении указанного времени
на порт не будут отправляться пакеты с информацией об локальном шасси,
это устройство будет считаться устаревшим для соседних устройств.
.. note::
Некоторые параметры режима расширенного отображения информации
могут отсутствовать (не отображаться) если информация не сообщается
соседним устройством (например, в случае отсутствия поддержки
передачи подобной информации используемым протоколом).
Отображение всех остальных столбцов таблицы аналогично
режиму компактного отображения информации.