jommystorm Posted April 21, 2014 · Report post Добрый день. Пытаюсь собрать accel-ppp. Что я делаю не так? git clone git://accel-ppp.git.sourceforge.net/gitroot/accel-ppp/accel-ppp cd accel-ppp mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/opt/accel-ppp -DBUILD_IPOE_DRIVER=TRUE .. make && make install В результате ошибка: [ 98%] Generating driver/ipoe.ko /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:169:46: error: macro "__kfree_rcu" requires 2 arguments, but only 1 given /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:170: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_process_queue’: /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:662: error: ‘__kfree_rcu’ undeclared (first use in this function) /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:662: error: (Each undeclared identifier is reported only once /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:662: error: for each function it appears in.) /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_nl_cmd_del_net’: /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:1550: error: ‘__kfree_rcu’ undeclared (first use in this function) /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_nl_cmd_del_interface’: /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:1599: error: ‘__kfree_rcu’ undeclared (first use in this function) /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_nl_cmd_del_vlan_mon’: /tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:1738: error: ‘__kfree_rcu’ undeclared (first use in this function) make[4]: *** [/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.o] Error 1 make[3]: *** [_module_/tmp/accel-ppp/build/drivers/ipoe/driver] Error 2 make[2]: *** [drivers/ipoe/driver/ipoe.ko] Error 2 make[1]: *** [drivers/ipoe/CMakeFiles/ipoe_drv.dir/all] Error 2 make: *** [all] Error 2 uname -a: CentOS release 6.5 (Final) Linux IPoE 2.6.32-431.11.2.el6.i686 #1 SMP Tue Mar 25 17:17:46 UTC 2014 i686 i686 i386 GNU/Linux ЗЫ: Стоит использовать архитектуру x86_64? Share this post Link to post Share on other sites
xeb Posted April 21, 2014 · Report post git pull и снова попробуй собрать Share this post Link to post Share on other sites
jommystorm Posted April 21, 2014 · Report post git pull и снова попробуй собрать Всё собралось. Спасибо. Share this post Link to post Share on other sites
Dimka88 Posted April 22, 2014 (edited) · Report post Никто не наблюдал падение accel-ppp (vlan per user) при падении радиус сервера расположенного физически на другом сервере? И такое падание, не пойму с чем связано. [2014-04-12 01:13:10]: info: bond0.2029.115: recv [RADIUS(1) Accounting-Response id=1] [2014-04-12 01:13:10]: info: bond0.2029.115: ipoe: session started [2014-04-12 01:13:10]: info: bond0.2029.115: pppd_compat: ip-up started (pid 47540) [2014-04-12 01:13:10]: info: bond0.2029.115: send [DHCPv4 Ack xid=f460430c yiaddr=178.*.*.222 chaddr=a0:f3:c1:3a:*:* <Message-Type Ack> <Server-ID 178.*.*.254> <Lease-Time 300> <Router 178.*.*.254> <Subnet 255.255.252.0> <DNS 10.0.0.120,91.*.*.254>] [2014-04-12 01:13:10]: info: bond0.2029.115: ipoe: session timed out [2014-04-12 01:13:10]: debug: bond0.2029.115: terminate [2014-04-12 01:13:10]: info: bond0.2029.115: send [RADIUS(1) Accounting-Request id=1 <User-Name "bond0.2029.115"> <NAS-Identifier "IPoE"> <NAS-IP-Address 10.0.10.1> <NAS-Port 835> <NAS-Port-Type Ethernet> <Calling-Station-Id "a0:f3:c1:3a:*:*"> <Called-Station-Id "bond0.2029.115"> <Acct-Status-Type Stop> <Acct-Authentic RADIUS> <Acct-Session-Id "3e8181264dde2247"> <Acct-Session-Time 10> <Acct-Input-Octets 2880> <Acct-Output-Octets 1684> <Acct-Input-Packets 5> <Acct-Output-Packets 7> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 178.*.*.222> <Acct-Terminate-Cause Lost-Carrier>] [2014-04-12 01:13:10]: info: bond0.2029.115: recv [RADIUS(1) Accounting-Response id=1] [2014-04-12 01:13:10]: warn: bond0.2029.115: pppd_compat: ip-up is not yet finished, terminating it ... [2014-04-12 01:13:10]: info: bond0.2029.115: pppd_compat: ip-down started (pid 47544) [2014-04-12 01:13:10]: info: bond0.2029.115: pppd_compat: ip-up finished (0) [2014-04-12 01:13:10]: info: bond0.2029.115: pppd_compat: ip-down finished (0) [2014-04-12 01:13:10]: info: bond0.2029.115: ipoe: session finished Edited April 22, 2014 by Dimka88 Share this post Link to post Share on other sites
jommystorm Posted April 22, 2014 · Report post А реализовать L3 режим со стартом по DHCP не планируете? Я правильно понимаю что L3 режим со стартом по DHCP пока не реализован? Share this post Link to post Share on other sites
Tanatos Posted April 23, 2014 · Report post Всем добрый день, есть работающий accel-pppd 1.7.3 настроен как pppoe сервер, раздает клиентам серые айпи. начали появляться юридические лица, взяли у апстрима блок белых адресов. Теперь нужно каким то образом присвоить конктретный айпишник конкретному клиенту, остальные так и продолжат работать на серых. Как то можно реализовать это на сабже? Share this post Link to post Share on other sites
ua_mister Posted April 23, 2014 · Report post Всем добрый день, есть работающий accel-pppd 1.7.3 настроен как pppoe сервер, раздает клиентам серые айпи. начали появляться юридические лица, взяли у апстрима блок белых адресов. Теперь нужно каким то образом присвоить конктретный айпишник конкретному клиенту, остальные так и продолжат работать на серых. Как то можно реализовать это на сабже? Радиусом выдавайте белые адреса кому нужно. Это не головная боль аццеля, это в биллинге реализовывается. Share this post Link to post Share on other sites
wtyd Posted April 23, 2014 · Report post да Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ? Скорее всего наверное можно и даже без изменений. Ну там всякие opt82 и всё такое. Т.е. хотелось бы установить вместо dhcpd, который сейчас используется как ip helper (цыска в него запросы перенаправляет). Есть какие-то рекомендации, как это лучше сделать ? Желательно без ядерных модулей. Share this post Link to post Share on other sites
Abram Posted April 23, 2014 · Report post Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ? Там решите это прямо FreeRADIUS-ом как DHCP. Работы-то - на Perl-е либо Python-е на полтора-два часа. Share this post Link to post Share on other sites
NiTr0 Posted April 23, 2014 · Report post нет более менее простого решения для dhcp-сервера, который бы брал данные из sql Есть. В этом разделе поищите, на перле писан. Я под абиллс допиливал, там же выкладывал. Share this post Link to post Share on other sites
wtyd Posted April 24, 2014 · Report post Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ? Там решите это прямо FreeRADIUS-ом как DHCP. Работы-то - на Perl-е либо Python-е на полтора-два часа. В accel-ppp как бы весь этот функционал уже написан, протестирован и должен работать, а на перле за 2 часа я такого могу понаписать, что потом никто не поймёт, включая меня :-). Т.е. в accel-ppp уже есть практически готовое решение работы с dhcp, вот я о чём хотел сказать. Share this post Link to post Share on other sites
xeb Posted April 24, 2014 · Report post Я правильно понимаю что L3 режим со стартом по DHCP пока не реализован? тут выше уже обсуждалось, но я так и не понял до конца как оно должно работатьклиенты находятся за каким-то маршрутизатором, который релеит дхцп запросы ? в режиме L2 accel при старте сессии добавляет до клиента маршрут на интерфейс с которого пришел дхцп запрос в случае L3 получается маршрут нужно добавлять через этот релейный маршрутизатор ? тогда нужно знать его ип, тогда нужны новые опции в конфиге ... или может быть его ип соотвествует giaddr Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ? Скорее всего наверное можно и даже без изменений. Ну там всякие opt82 и всё такое. Т.е. хотелось бы установить вместо dhcpd, который сейчас используется как ip helper (цыска в него запросы перенаправляет). Есть какие-то рекомендации, как это лучше сделать ? Желательно без ядерных модулей. без допила в текущей реализации думаю нет, т.к. реализован только базовый функционал дхцп сервераон не может выдавать доп. атрибуты из радиуса Share this post Link to post Share on other sites
wtyd Posted April 24, 2014 · Report post Я правильно понимаю что L3 режим со стартом по DHCP пока не реализован? тут выше уже обсуждалось, но я так и не понял до конца как оно должно работатьклиенты находятся за каким-то маршрутизатором, который релеит дхцп запросы ? в режиме L2 accel при старте сессии добавляет до клиента маршрут на интерфейс с которого пришел дхцп запрос в случае L3 получается маршрут нужно добавлять через этот релейный маршрутизатор ? тогда нужно знать его ип, тогда нужны новые опции в конфиге ... или может быть его ип соотвествует giaddr Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ? Скорее всего наверное можно и даже без изменений. Ну там всякие opt82 и всё такое. Т.е. хотелось бы установить вместо dhcpd, который сейчас используется как ip helper (цыска в него запросы перенаправляет). Есть какие-то рекомендации, как это лучше сделать ? Желательно без ядерных модулей. без допила в текущей реализации думаю нет, т.к. реализован только базовый функционал дхцп сервераон не может выдавать доп. атрибуты из радиуса Я очень поверхностно ознакомился с возможностями accel-ppp, но я думал, что ipoe реализовано примерно как написано тут: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/15-s/dhcp-15-s-book/dhcp-serv-rad-proxy.html#GUID-52C214DF-54D1-4BDB-95C5-7282CAA90400 (сеть доступа)==[L3 sqitch]==[accel-ppp]--[freeradius+sql/billing] В данной схеме, по-моему, не принципиально, будет ли accel-ppp шейпить или нет, главное, чтобы он выдавал адреса по dhcp. Вроде же какая-то поддержка быть dhcp-сервером у него есть или это только на L2 реализовано ? Какие дополнительные атрибуты нужны ? opt82 вроде бы реализовано или как ? Share this post Link to post Share on other sites
xeb Posted April 24, 2014 · Report post L3 без драйвера ядра точно шейпить не будет Share this post Link to post Share on other sites
kayot Posted April 24, 2014 · Report post Дык помоему L3 будет работать точно так же как и shared режим, с драйвером. Разве что старт сессии только по any packet вместо dhcp. Share this post Link to post Share on other sites
s.lobanov Posted April 24, 2014 · Report post xeb подскажите где в исходниках выпилить per-mac padi-limit 1/s (нужно для тестов) Share this post Link to post Share on other sites
xeb Posted April 25, 2014 · Report post pppoe.c - закоментировать строчки 798-808 Share this post Link to post Share on other sites
Curent_User Posted April 25, 2014 · Report post Здравсвтуйте! Есть работающий accel-pppd версий 1.7.3 установленный на alt linux 7 centaurus 3.10.30-std-def-alt1 #1 SMP Fri Feb 14 10:33:49 UTC 2014 x86_64 GNU/Linux Клиенты подключаются как по pptp так и по l2tp примерно 1500 пользователей Проблема заключается в том что с каждым днем сервер потребляет все больше памяти при не увеличивающейся нагрузке как будто память утекает в небытие :) если кто сталкивался с данной проблемой или может дать ценный совет буду очень признателен. Share this post Link to post Share on other sites
s.lobanov Posted April 25, 2014 · Report post попробовать git -b 1.7 или мастер, скорее всего уже исправлено Share this post Link to post Share on other sites
Curent_User Posted April 26, 2014 · Report post попробовать git -b 1.7 или мастер, скорее всего уже исправлено сегодня решил немного затюнить конфиг да попробовать ваш совет и заметил что память уходит на cache ложная тревога )) за совет спасибо! Share this post Link to post Share on other sites
wtyd Posted April 26, 2014 · Report post попробовать git -b 1.7 или мастер, скорее всего уже исправлено сегодня решил немного затюнить конфиг да попробовать ваш совет и заметил что память уходит на cache ложная тревога )) за совет спасибо! Наверное что-то типа этого надо сделать: sync; echo 3 > /proc/sys/vm/drop_caches ; sleep 1 ; sync; echo 0 > /proc/sys/vm/drop_caches Хотя вроде бы в современных ядрах последнюю команду делать не надо, там автоматически 0 появляется. В любом случае, пробуйте, читайте документацию про drop_caches Share this post Link to post Share on other sites
xeb Posted April 26, 2014 · Report post кэш сбрасывать особого смысла нет, когда системе понадобится физическая память, она сама возьмёт сколько надо из кэша Share this post Link to post Share on other sites
Curent_User Posted April 26, 2014 · Report post вечером дело было :) не обратил внимания что память на кэш ушла. но кстати.. связанно это или нет не знаю но после того как в [modules] и дальше по конфигу закомментировал то что не используется кэш с 5gb упал до 271mb #shaper #tbf #chap-secrets #net-snmp #connlomit #ipv6_nd #ipv6_dhcp #ipv6pool Спасибо всем, кто откликнулся. Share this post Link to post Share on other sites
iskratel Posted April 26, 2014 · Report post Скажите, не планируется ли возможность задавать опцию username отдельно для интерфейсов? Например: interface=eth1.20,shared=1,username=lua:username interface=re:eth1/.[1-9][0-9][0-9], shared=0, username=ifname Share this post Link to post Share on other sites