Page MenuHome Accel-ppp

L2TP LNS use Calling-Number as RADIUS Calling-Station-ID
Open, NormalPublicFEATURE REQUEST

Description

Some ISPs do advanced authentification checks via Calling-Station-ID attribute which should include info from L2TP Calling-Number

Details

Protocol
L2TP
Version
-

Event Timeline

Dimka88 triaged this task as Normal priority.Jan 30 2022, 18:50

Hi.
Is there any recommendations on compiling and embedding newly compiled version of accel-ppp to vyos 1.4 ?
I mean how to install newly built package into VyOS 1.4.
The deb built on Debian11 and installed with dpkg on VyOS does not start for some reason with no output.

This cmake gives working deb on VyOS on Debian11 machine:
cmake -DCMAKE_BUILD_TYPE=Debug \

-DCMAKE_C_FLAGS='-g -O0' \
-DBUILD_IPOE_DRIVER=TRUE \
-DBUILD_VLAN_MON_DRIVER=TRUE \
-DKDIR=/usr/src/linux-headers-`uname -r` \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLUA=TRUE \
-DLUA=5.3 \
-DCPACK_TYPE=Debian11 ..

make
cpack -G DEB

...
admin@vyos-lns-1:~$ /usr/sbin/accel-pppd -V
accel-ppp 1.12.0-194-g34de385

just to discuss the possibilities.
I see Calling-Number/Called-Numer AVPs can be taken from attr->val.octets doing something within l2tp_recv_ICRQ procedure:

if (attr->attr->id == Calling_Number) {

sess->calling_sid = attr->val.octets);

}

But the question is - how (and where) to properly describe sess->calling_sid so that we can use it in l2tp_session_start_data_channel and put into sess->ctrl.calling_station_id instead of sess->paren_conn->peer_addr.sin_addr.s_addr

Any ideas?

Attached the patch i made for the version 1.12.0-202-g28fe4de. It will use Calling Number/Called Number as RADIUS Calling-Station-Id/Called-Station-Id in case they are present in L2TP ICRQ, otherwise old beahvior is used (LAC/LNS IP addresses).