На некоторых клиентах, при использовании нескольких 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
Патч прикладываю во вложения.
Будем рады, если данные изменения войдут в основную ветку.