yazero Posted October 5, 2010 Posted October 5, 2010 (edited) делаю замену bras cisco , и столкнулся с проблемой которую не могу решить , абоненты изначально писали в service-name(имя службы) что хотят и cisco 3825 все это пропускала... а на rp-pppoe этого нет либо пустое либо то что укажешь в -S name (сейчас прописано два service-name наиболее часто используемые) . Ни кто код не правил pppoe-server.c ? самому найти не удалось Edited October 5, 2010 by yazero Вставить ник Quote
Jugernault Posted October 5, 2010 Posted October 5, 2010 а на 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; } Вставить ник Quote
disappointed Posted October 5, 2010 Posted October 5, 2010 (edited) Тоже интересует, пытался править код но ничего не вышло. Edited October 5, 2010 by disappointed Вставить ник Quote
Ivan Rostovikov Posted October 5, 2010 Posted October 5, 2010 Насколько я понимаю, решение принимать соединение или не принимать (по имени службы) принимает не сервер, а клиент. Может надо научить сервер отзываться тем именем, которое спросил клиент. Вставить ник Quote
disappointed Posted October 5, 2010 Posted October 5, 2010 Да, именно это и нужно. Вставить ник Quote
Ainy Posted October 5, 2010 Posted October 5, 2010 Тоже интересует, пытался править код но ничего не вышло.А что именно пытался править.Я из куска кода, который был приведен вообще не увидел варианта (!ok)=TRUE. Если надо вернуть то, что клиент просит - дело не сложное, главное не нарушить приницпы выделения памяти под структуру. Пришел типа запрос - скопировали оттуда тип сервиса, добавили в список элемент, а дальше уже работает тот код и все. Вставить ник Quote
Ivan Rostovikov Posted October 6, 2010 Posted October 6, 2010 Если кто-то возмется, реализуйте за одно и функционал "PADO-delay". Другими словами необходимо иметь возможность управлять задержкой на посылку PADO. Желательно "на лету". Это сильно упростит балансировку в отдельных случаях. Вставить ник Quote
disappointed Posted October 6, 2010 Posted October 6, 2010 А что именно пытался править.Тут нет этого, в том что приведено только проверка на совпадение с запрошенным сервиснейм.Там сразу ниже идёт генерация tags с нулевой длинной для пустого, либо сразу для всех сервиснеймов что указаны при запуске pppoe-server, вот именно там и нужно заменить их на requestedService.payload как я понимаю, чтобы клиент получал желаемый ответ, но с си у меня плохо, логически пробовал переделывать но не получилось. Вставить ник Quote
yazero Posted October 6, 2010 Author Posted October 6, 2010 поснифил сегодня ответ PADO с cisco, она отвечает тем же service-name что запрашивает абонент... наш програмер сидит читает http://www.google.ru/codesearch/p?hl=ru#Lm...poe-server.c%22 , с СИ тоже не дружит :-) Вставить ник Quote
deseven Posted March 14, 2011 Posted March 14, 2011 Держите Принимает соединения как с пустым service-name, так и с рандомным Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.