Перейти к содержимому
Калькуляторы

Looking Glass & Quagga

У кого-нть запустился LG вот этот: http://wiki.version6.net/LG с квагой?

С цисками норм, а с квагой не хочет. Конфиг что в кваге, что самого LG стандартный:

 

                <Router Name="zebra" OSType = "Zebra">
                        <URL>telnet://zebra@10.10.0.1</URL>
                </Router>

 

Причем looking glass логинится на сервер, а дальше висит. Может кто-то уже обошел эту проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В скрипте "lg.cgi" комментируешь строки (вернее, это одна строка):

 

$telnet->put(pack("C9",
                 255,              # TELNET_IAC
                 250,              # TELNET_SB
                 31, 0, 200, 0, 0, # TELOPT_NAWS
                 255,              # TELNET_IAC
                 240));            # TELNET_SE

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я как чувствовал, что в этом подвох, но отвлекся на другой кусок кода).

 

Спасибо большое!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если её закомментировать, то будет работать только для quagga.

Чтобы работала и для quagga, и для cisco, нужно поменять цыфырки:

31, 0, 200, 0, 0, # TELOPT_NAWS -> 31, 0, 0, 0, 0, # TELOPT_NAWS

 

Теория:

Третье и пятое число - это размер терминала в ширину и в высоту.

Третье число - количество символов в строке.

Пятое - количество строк на экране.

 

Разгадка:

Скрипт LG не работал изза того, что quagga думал, что к нему подключился клиент с маленьким монитором.

И сервер вел себя стандартным образом, когда текст не помещается на экране.

Выдавал часть информации, писал строчку "--More--" и тупо ждал ввода символов.

Скрипт, естественно, никаких символов не вводил и тупо отваливался по timeout.

Если указать в третьем и пятом числе нули, то quagga поймет, что к нему подключились с офигенно большим монитором.

Соответственно, текст всегда будет выводиться сразу и полностью.

Изменено пользователем XoRe

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще неплохо добавить

 

$telnet->print("terminal length 0");

$telnet->getline; # read out command line

$telnet->getline; # read out command line

 

после $telnetcmd .= " | no-more" if ($ostypes{$FORM{router}} eq "junos");

 

А то без этого full view выхлоп зависает. Хотя и с этими опциями получение fw через web - неспееешный процесс, да и обрывается вывод всё равно :-(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.