Jump to content

Recommended Posts

Posted (edited)

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

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

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

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

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

Edited by yazero
Posted
а на 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;
   }

 

Posted

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

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

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

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

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

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

 

Posted

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

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

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

 

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

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

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

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

  • 5 months later...

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.