Page 1 of 1

PPPoE:: изменения поведения ответа PADO и доб.опция к interface=[re:]ifname[,padi-limit=n][,accept-null-sn=0/1]

Posted: 25 Sep 2020, 09:36
by MTyrygin
На некоторых клиентах, при использовании нескольких Service-Name, игнорируется PADO в котором перечислены поддерживаемые Service-Name. На пример в Mac OS (Catalina, на других не пробовал) такой ответ игнорируется, если запрашиваемый Service-Name не стоит на первом месте или не находится в ед.числе. На некоторых древних D-Link'ах вообще игнорируется PADO, если в нем более одного Service-Name, хотя это не проверял (под рукой на текущий момент не оказалось такого), но в 2013-2014 делали патч из-за этого.
Изменения в PADO сводятся к тому, что в ответ клиенту приходит только тот Service-Name, который указан в PADI
Так же добавили опцию к interface=[re:]ifname[,padi-limit=n][,accept-null-sn=1/0]
Суть ее в том, чтобы на определённых интерфейсах разрешить пустой Service-Name

Code: Select all

[pppoe]
verbose=1
interface=re:ens1f1\.[100-2000],accept-null-sn=1
interface=re:ens1f1\.[2001-4000]
service-name=sn1,sn2,sn3,sn4
т.е. в ens1f1.100-2000 разрешаем пустой Service-Name
ens1f1.2001-4000 только из списка sn1,sn2,sn3,sn4

Патч прикладываю во вложения.
Будем рады, если данные изменения войдут в основную ветку.

Re: PPPoE:: изменения поведения ответа PADO и доб.опция к interface=[re:]ifname[,padi-limit=n][,accept-null-sn=0/1]

Posted: 01 Feb 2021, 23:29
by micron
Hi
i try patch
part for old router work perfect,
but part to accept blank (empty) service name not work .

i try this type of config.

[pppoe]
verbose=1
ac-name=test
service-name=test1,test2
#accept-any-service=1
called-sid=mac
vlan-mon=eth0,2-4094
vlan-timeout=180
vlan-name=vlan%N
interface=re:^vlan(\d+)$,accept-null-sn=1


in this case connect only users from service-name test1 and test2 if customer come with empty (blank) service name not connect and discarding PADI:

[2021-02-02 04:50:57]: info: : vlan704: recv [PPPoE PADI 50:d4:f7:25:14:9b => ff:ff:ff:ff:ff:ff sid=0000 <Service-Name > <Host-Uniq 850e0000>]
[2021-02-02 04:50:57]: warn: : pppoe: discarding PADI packet (Service-Name mismatch)
[2021-02-02 04:50:57]: info: : vlan717: recv [PPPoE PADI 38:94:e0:f9:b9:44 => ff:ff:ff:ff:ff:ff sid=0000 <Service-Name > <Host-Uniq 3894e0f9b93f00>]
[2021-02-02 04:50:57]: warn: : pppoe: discarding PADI packet (Service-Name mismatch)
[2021-02-02 04:50:57]: info: : vlan704: recv [PPPoE PADI 34:e8:94:12:2d:6d => ff:ff:ff:ff:ff:ff sid=0000 <Service-Name > <Host-Uniq 860b0000>]
[2021-02-02 04:50:57]: warn: : pppoe: discarding PADI packet (Service-Name mismatch)

please if you have fix for this update

Re: PPPoE:: изменения поведения ответа PADO и доб.опция к interface=[re:]ifname[,padi-limit=n][,accept-null-sn=0/1]

Posted: 02 Feb 2021, 07:03
by micron
Small update
After comment this part of code problem is fix.

connect service-name from list and blank service name

// if (!service_match && !conf_accept_any_service ) {
// if (conf_verbose)
// log_warn("pppoe: discarding PADI packet (Service-Name mismatch)\n");
// return;
// }