summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/dm_coa.c
diff options
context:
space:
mode:
authorroot <root@debian11-vyos-build.polycomm.net>2021-12-28 12:50:44 +0300
committerroot <root@debian11-vyos-build.polycomm.net>2021-12-28 12:50:44 +0300
commit2804a115fc2cd0d785d9a6dcb0be247c97c32d69 (patch)
treed05428468c6378ee58a23f9234feb8f23ee0f384 /accel-pppd/radius/dm_coa.c
parentcca47ac174d1f2a99ee4969423e2bbc4b2fb6af8 (diff)
downloadaccel-ppp-xebd-2804a115fc2cd0d785d9a6dcb0be247c97c32d69.tar.gz
accel-ppp-xebd-2804a115fc2cd0d785d9a6dcb0be247c97c32d69.zip
Added VRF support for radius request and DM/CoA server.
New configuration format: [radius] server=address,secret[,auth-port=1812][,acct-port=1813][,vrf=VRF_NAME][,req-limit=0][,fail-timeout=0,max-fail=0,][,weight=1][,backup] dae-server=x.x.x.x:port,secret[,vrf=VRF_NAME] By default, VRF name is undefined.
Diffstat (limited to 'accel-pppd/radius/dm_coa.c')
-rw-r--r--accel-pppd/radius/dm_coa.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/accel-pppd/radius/dm_coa.c b/accel-pppd/radius/dm_coa.c
index b58306c..a838671 100644
--- a/accel-pppd/radius/dm_coa.c
+++ b/accel-pppd/radius/dm_coa.c
@@ -337,6 +337,13 @@ static void init(void)
return;
}
+ if ( !conf_dm_coa_vrf_default && ( 0 > setsockopt(serv.hnd.fd, SOL_SOCKET, SO_BINDTODEVICE, conf_dm_coa_vrf_name, strlen(conf_dm_coa_vrf_name)) ) )
+ {
+ log_emerg("radius:dm_coa: failed set vrf '%s' in setsockopt: %s\n", conf_dm_coa_vrf_name, strerror(errno));
+ close(serv.hnd.fd);
+ return;
+ }
+
fcntl(serv.hnd.fd, F_SETFD, fcntl(serv.hnd.fd, F_GETFD) | FD_CLOEXEC);
addr.sin_family = AF_INET;