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

rp-pppoe 3.10 pppoe-server

делаю замену bras cisco , и столкнулся с проблемой которую не могу решить , абоненты изначально писали в service-name(имя службы)

что хотят и cisco 3825 все это пропускала...

а на rp-pppoe этого нет либо пустое либо то что укажешь в -S name

(сейчас прописано два service-name наиболее часто используемые) .

Ни кто код не правил pppoe-server.c ? самому найти не удалось

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

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


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

а на rp-pppoe этого нет либо пустое либо то что укажешь в -S name
Ну их то можно написать несколько...

 

Ни кто код не правил pppoe-server.c ? самому найти не удалось
Нет, на такую тему не правил, но явно видно что отрывать надо вот тут:

 

    /* If PADI specified non-default service name, and we do not offer
      that service, DO NOT send PADO */
   if (requestedService.type) {
       int slen = ntohs(requestedService.length);
       if (slen) {
           for (i=0; i<NumServiceNames; i++) {
               if (slen == strlen(ServiceNames[i]) &&
                   !memcmp(ServiceNames[i], &requestedService.payload, slen)) {
                   ok = 1;
                   break;
               }
           }
       } else {
           ok = 1;             /* Default service requested */
       }
   } else {
       ok = 1;                 /* No Service-Name tag in PADI */
   }

   if (!ok) {
       /* PADI asked for unsupported service */
       return;
   }

 

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


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

Тоже интересует, пытался править код но ничего не вышло.

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

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


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

Насколько я понимаю, решение принимать соединение или не принимать (по имени службы) принимает не сервер, а клиент.

Может надо научить сервер отзываться тем именем, которое спросил клиент.

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


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

Да, именно это и нужно.

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


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

Тоже интересует, пытался править код но ничего не вышло.
А что именно пытался править.

Я из куска кода, который был приведен вообще не увидел варианта (!ok)=TRUE.

Если надо вернуть то, что клиент просит - дело не сложное, главное не нарушить приницпы выделения памяти под структуру.

Пришел типа запрос - скопировали оттуда тип сервиса, добавили в список элемент, а дальше уже работает тот код и все.

 

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


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

Если кто-то возмется, реализуйте за одно и функционал "PADO-delay".

Другими словами необходимо иметь возможность управлять задержкой на посылку PADO. Желательно "на лету".

Это сильно упростит балансировку в отдельных случаях.

 

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


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

А что именно пытался править.
Тут нет этого, в том что приведено только проверка на совпадение с запрошенным сервиснейм.

Там сразу ниже идёт генерация tags с нулевой длинной для пустого, либо сразу для всех сервиснеймов что указаны при запуске pppoe-server,

вот именно там и нужно заменить их на requestedService.payload как я понимаю, чтобы клиент получал желаемый ответ, но с си у меня плохо,

логически пробовал переделывать но не получилось.

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


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

поснифил сегодня ответ PADO с cisco, она отвечает тем же service-name что запрашивает абонент...

наш програмер сидит читает http://www.google.ru/codesearch/p?hl=ru#Lm...poe-server.c%22 , с СИ тоже не дружит :-)

 

 

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


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

Держите

Принимает соединения как с пустым service-name, так и с рандомным

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


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

Join the conversation

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

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

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

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

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

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

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