Страница 1 из 2

LTP4X 3.26.0.7224: пара багов

Добавлено: 20 сен 2016 12:38
d771
Первый: не выгружается конфиг по таймеру и при сохранении.
Вручную через copy на этот url конфиг выгружается.
Настройки при этом заданы:

Код: Выделить всё

...
backup on save
backup on timer
backup uri "tftp://192.168.1.1/ltp.conf"
...


Код: Выделить всё

# show backup
    Tftp:
        Backup on conf save:                           enabled
        Backup on timer:                               enabled
        Backup on timer period:                        3600
        Backup uri:                                    'tftp://192.168.1.1/ltp.conf'

timer period пробовал менять на любые значения, все равно ничего не выгружается.


Второй: подсказка по alarms корявая
Какие-то строки во второй колонке пропущены, и теперь все описания стоят на неправильных местах, особенно заметно в конце списка.

Код: Выделить всё

(config)# alarm
   fan                               Fan alarm
   free-space                        Free space alarm
   load-average                      Load average alarm
   ont-high-rx-power                 ONT high RX power alarm
   ont-low-rx-power                  ONT low RX power alarm
   ram                               RAM alarm
   temperature                       Temperature alarm
   dummy                             Dummy alarm     
   ram                               Login alarm     
   login                             Config save alarm     
   config-save                       Firmware update alarm     
   firmware-update                   Duplicate mac alarm     
   duplicate-mac                     Physical layer flapping alarm     
   physical-layer-flapping           PON interface gpon-port no ONT alarm     
   pon-gpon-port-no-ont              ONT physical layer alarm     
   ont-physical-layer                OLT update alarm     
   olt-update                        ONT update alarm     
   ont-update                        Interface gpon-port flapping alarm     
   gpon-port-flapping                ONT flapping alarm     
   ont-flapping                      Download alarm     
   download                          Battery power alarm     
   battery-power                     Battery low alarm     
   battery-low                       LAN LOS alarm     
   lan-los                           ONT config alarm     
   ont-config                        File delete alarm     
   file-delete                       Physical layer errors alarm     
   physical-layer-errors             Physical layer block alarm     
   physical-layer-block              Link alarm     
   link                              Logout alarm     
   logout                            ONT dying gasp alarm     
   ont-dying-gasp                    ONT REI alarm     
   ont-rei                           ONT power off alarm     
   ont-power-off                     Config change alarm     
   config-change                     Shutdown alarm     
   shutdown                          OMS alarm     
   oms                               ONT state changed alarm     
   ont-state-changed                 ONT config changed alarm     
   ont-config-changed                Interface gpon-port state changed alarm     
   gpon-port-state-changed           PON alarm interface gpon-port     
   pon-alarm-gpon-port               PON alarm ONUi     
   pon-alarm-onui                    ONT update inprogress alarm     
   ont-update-inprogress             OLT device reset alarm     
   olt-device-reset                  ONT signal degrade alarm     
   ont-signal-degrade                ONT high received optical power alarm     
   ont-high-rx-power                 OLT device not working alarm     
   ont-low-rx-power                  System reboot alarm                 
   gpon-port-ont-count-overflow      RSSI value change alarm                 
   olt-device-not-working            Power supply alarm
   load-average                     
   free-space                       
   redundancy-switch                 
   redundancy-fail                   
   fan                               
   system-reboot                     
   rssi-update                       
   power-supply                     

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 21 сен 2016 11:14
Александр Д
Добрый день, по первому пункту нужно указать путь до папки, а не файла.
По второму да есть такая проблема поправим в будущих версиях.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 21 сен 2016 11:46
d771
Александр Д писал(а):Добрый день, по первому пункту нужно указать путь до папки, а не файла.

В руководстве (LTP-X_CLI_3.26.pdf) написано именно про путь к файлу:
backup uri <VALUE> URL в формате
tftp://ip[/path/to/file]
строка длиной
до 255 символов
Установить адрес tftp-
сервера:
IP-адрес tftp-сервера
path – путь для файла



В таком формате, как вы написали, не дает выбрать корневую папку. При этом в тех же свичах mes* в этом параметре нужно записывать именно имя файла. Хотелось бы тогда, чтобы имя файла тоже можно было задать, и формат timestamp'а при сохранении был одинаковый (сейчас в свичах mes - unixtime, в ltp - текстовая дата)

Код: Выделить всё

(config)# backup uri "tftp://192.168.1.1/"
                               ^
Invalid input detected at '^' marker.


(config)# backup uri "tftp://192.168.1.1/ltp-test/"
(config)#

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 21 сен 2016 14:34
d771
Баг номер 3:

в PPPOE IA нельзя отключить лимит сессий на каждое ONU.
Команды
# no sessions-limit per-user
и
# sessions-limit per-user 0
приводят к одинаковому результату - pppoe-трафик через PPPOE IA перестает ходить.
Т.е. единственными значениями per-user при которых хоть что-то работает, являются 1-4, что покрывает далеко не все случаи использования: иногда лимит нужно повысить или отключить вообще, например, когда за ONU, работающей бриджем, есть более 4 абонентов.

Код: Выделить всё

# show profile pppoe-ia ia_default
    Description:                                       'OLT Profile PPPoE Intermediate Agent 1'
    Intermediate agent:                                enabled
    Circuit id format:                                 '%HOSTNAME%/%GPON-PORT%'
    Remote id format:                                  '%PONSERIAL%'
    Vendor id:                                         0x000DE9
    Max number pppoe sessions:                         1536
    Max number pppoe sessions per user:                0
    Dos block enabled:                                 false
    Bc packet per second:                              128
    Port block time:                                   600

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 22 сен 2016 10:01
Александр Д
(config)# backup uri "tftp://192.168.1.1/"
^
Invalid input detected at '^' marker.


(config)# backup uri "tftp://192.168.1.1/ltp-test/"
(config)#

Укажите папку: tftp://192.168.1.1


По агенту, добавим в план по доработке.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 23 окт 2016 19:45
d771
Нашел очень опасный баг, вытекающий из предыдущего с невозможностью поставить больше 4 pppoe сессий или отключить ограничение на PPPOE IA:

Таблица агента со временем наполняется висящими сессиями "из ниоткуда", скорее всего связаными с тем, что абонент переподключил pppoe-сессию (или завершил ее без PADT), на bras'e при этом висит по одной сессии с каждого абонента, никаких "висяков" нет.
Как только число записей на одну ONU в таблице PPPOE IA достигает 4, абонент больше не может подключиться по pppoe.
ONU NTP-2, настроены бриджем через OMCI.
Чем больше абонентов, тем чаще вылезает такая ситуация.

Я вырезал остальные недублирующиеся записи для удобства:

Код: Выделить всё

# show gpon olt pppoe.
PPPoE sessions (40):
     ##                     Serial    GPON-port    Ont ID     Port           Client MAC    Session ID       Duration        Unblock
...
      8               ELTX02003936            0        32      576    00:13:D4:1C:5B:5F        0x016d       94:32:50        0:00:00
      9               ELTX02003936            0        32      576    00:13:D4:1C:5B:5F        0x02eb       38:38:41        0:00:00
     10               ELTX02003936            0        32      576    00:13:D4:1C:5B:5F        0x034d       33:09:36        0:00:00
...
     12               ELTX020038E9            0        18      464    10:FE:ED:80:59:DF        0x0167       98:24:08        0:00:00
...
     14               ELTX020038E9            0        18      464    10:FE:ED:80:59:DF        0x0155       98:14:30        0:00:00
...
     31               ELTX02003936            0        32      576    00:13:D4:1C:5B:5F        0x0293       33:10:21        0:00:00
...
     37               ELTX020038E9            0        18      464    10:FE:ED:80:59:DF        0x02c7       33:08:33        0:00:00

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 24 окт 2016 17:00
Александр Д
Можете записать дебаг момента когда появляется зависшая сессия?
Включается дебаг и настройте отправку на сислог сервер:
LTP-8X# configure terminal
LTP-8X(config)# logging system loglevel debug
LTP-8X(config)# logging module pmchal-pppoeia loglevel debug
LTP-8X(config)# logging remote 10.10.10.10

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 24 окт 2016 18:16
d771
Александр Д писал(а):Можете записать дебаг момента когда появляется зависшая сессия?

Я никак не могу предугадать время появления такой сессии, но попробую.
Лог уже после исчерпания лимита я точно смогу собрать.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 09:26
d771
И сразу же нашлись странности: в очень большом количестве сессий повреждены данные circuit id/remote id (при этом bras видит их корректно)

Обратите внимание на мусор после "rln10", он присутствует практически в каждом пакете от любого клиента:

Код: Выделить всё

pmchal: debug: [PPPOEIA] addvstag: wrong frame format - can not find EndOfList tag, len=56
pmchal: debug: [PPPOEIA] addvstag: cid+rid='^A!lds34-olt0/0/30/38:2c:4a:8f:8a:9c^B!lds34-olt0/ELTX02003932/cpe-rln10vn20'
pmchal: debug: [PPPOEIA] VLTAG: msgVlanTagsNum=1, vlanOuterOrig=(1,8100,06a4), vlanOuter=(1,8100,0002), vlanInner=(1,8100,0230)
pmchal: debug: [PPPOEIA] VLTAG: model 1

Код: Выделить всё

pmchal: debug: [PPPOEIA] addvstag: wrong frame format - can not find EndOfList tag, len=36
pmchal: debug: [PPPOEIA] addvstag: cid+rid='^A!lds34-olt0/0/30/38:2c:4a:8f:8a:9c^B!lds34-olt0/ELTX02003932/cpe-rln100/ELTX02003932/cpe-rln10'
pmchal: debug: [PPPOEIA] VLTAG: msgVlanTagsNum=1, vlanOuterOrig=(1,8100,06a4), vlanOuter=(1,8100,0002), vlanInner=(1,8100,0230)
pmchal: debug: [PPPOEIA] VLTAG: model 1


А тут мусор после "rln3"

Код: Выделить всё

pmchal: debug: [PPPOEIA] addvstag: wrong frame format - can not find EndOfList tag, len=36
pmchal: debug: [PPPOEIA] addvstag: cid+rid='^A!lds34-olt0/0/11/00:21:6b:aa:6f:ca^B^^lds34-olt0/ELTX02007116/1-rln3^B^_lds34-olt0/ELTX02003912/cpe-sh2'
pmchal: debug: [PPPOEIA] VLTAG: msgVlanTagsNum=1, vlanOuterOrig=(1,8100,06a4), vlanOuter=(1,8100,0002), vlanInner=(1,8100,0198)
pmchal: debug: [PPPOEIA] VLTAG: model 1



bras же видит circuit id/remote id всегда корректно.

Код: Выделить всё

pppoe-server[16057]: Session 808 created for client 38:2c:4a:8f:8a:9c (10.67.18.40) on eth0.1700, CircuitId 'lds34-olt0/0/30/38:2c:4a:8f:8a:9c' RemoteId 'lds34-olt0/ELTX02003932/cpe-rln10' using Service-Name ''
pppoe-server[16874]: Session 943 created for client 00:21:6b:aa:6f:ca (10.67.18.175) on eth0.1700, CircuitId 'lds34-olt0/0/11/00:21:6b:aa:6f:ca' RemoteId 'lds34-olt0/ELTX02007116/1-rln3' using Service-Name ''

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 10:29
Александр Д
Это мусор в отображении дебага, не нужно на это обращать внимание. Пускай все подряд пишется на сислог сервер до проявления проблемы.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 13:30
d771
Воспроизвел баг.
Ситуация имитируется очень просто: на транзитном свиче временно отфильтровать трафик к мак-адресу клиента с уже установленой сессией.

bras отчитывается о потере связи:

Код: Выделить всё

pppoe-server[23489]: Session 716 closed for client 48:5b:39:ae:d5:b8 (10.67.17.204) on eth0.1700
pppoe-server[23489]: Sent PADT


Но PADT не может дойти то OLT, т.к. фильтруется.

Фильтр снимаем, далее в логах OLT:

Код: Выделить всё

pmchal: debug: [PPPOEIA]
pmchal: debug: [PPPOEIA] RX: rx(68): c=0,p=560 p->s PADI ff ff ff ff ff ff 48 5b 39 ae d5 b8 81 00 06 a4 88 63 11 09 00 00 00 0c 01 01 00 00 01 03 ...
pmchal: debug: [PPPOEIA] Too many session for ONT (4), chan=0, port=560
pmchal: debug: [PPPOEIA]
pmchal: debug: [PPPOEIA] RX: rx(68): c=0,p=560 p->s PADI ff ff ff ff ff ff 48 5b 39 ae d5 b8 81 00 06 a4 88 63 11 09 00 00 00 0c 01 01 00 00 01 03 ...
pmchal: debug: [PPPOEIA] Too many session for ONT (4), chan=0, port=560


Хотя мак-адрес клиента тот же самый, и порт тот же самый, по идее сессия должна присоединиться логически к уже существующей с обновлением таймера начала сессии.
Иными словами, сессия, где PADT по каким-то причинам потерялся (например глючный CPE, временная потеря связи на магистрали) остается зависшей навечно.
Помогает "reconfigure interface olt" или "send omci reset" на конкретную ONU, тогда PPPOE IA сбрасывает все сессии с порта.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 14:18
Александр Д
Вы зарезали PADT от сервера, но должен был придти PADT и от ONT, он не приходил?

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 14:27
d771
Либо от роутера PADT не приходил, либо OLT на него никак не отреагировал.
Тут я не могу сказать наверняка, в логах OLT на этот счет ничего не было, но это точно не проблема конкретного роутера, во всяком случае такие сессии как минимум зависают у d-link, asus и tp-link.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 15:03
Александр Д
Т.е. команды на терминацию сессии не было ни от браса ни от клиентского устройства, соответственно OLT не узнала, что сессия порвалась.
У каждой сессии есть свой id, когда поднимается новая сессия она не может присоединится к предыдущей, так как никто не запрещает поднять две сессии или более за ONT.

Re: LTP4X 3.26.0.7224: пара багов

Добавлено: 25 окт 2016 16:20
d771
Александр Д писал(а):Т.е. команды на терминацию сессии не было ни от браса ни от клиентского устройства, соответственно OLT не узнала, что сессия порвалась.

Согласно RFC2516 этот пакет вообще не обязателен (термин "may" в подробностях расписан в общей терминологии документов RFC):
5.5 The PPPoE Active Discovery Terminate (PADT) packet

This packet may be sent anytime after a session is established to
indicate that a PPPoE session has been terminated. It may be sent by
either the Host or the Access Concentrator. The DESTINATION_ADDR
field is a unicast Ethernet address, the CODE field is set to 0xa7
and the SESSION_ID MUST be set to indicate which session is to be
terminated. No TAGs are required.
When a PADT is received, no further PPP traffic is allowed to be sent
using that session. Even normal PPP termination packets MUST NOT be
sent after sending or receiving a PADT. A PPP peer SHOULD use the
PPP protocol itself to bring down a PPPoE session, but the PADT MAY
be used when PPP can not be used.


Александр Д писал(а):У каждой сессии есть свой id, когда поднимается новая сессия она не может присоединится к предыдущей, так как никто не запрещает поднять две сессии или более за ONT.

Текущая прошивка запрещает поднимать более 4-х.

К тому же не факт, что PADT не пришел от CPE, т.к. я вижу в логах только реакцию на PADT от bras (маловероятно, что ничего из клиентского оборудования этот пакет не отправляет).