summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/ipoe/ipoe.c
diff options
context:
space:
mode:
authorVladislav Grishenko <themiron@mail.ru>2020-01-11 01:57:14 +0500
committerVladislav Grishenko <themiron@mail.ru>2020-01-11 01:57:14 +0500
commitf532c72d0cb33b16b9794d83a46969538bdf2596 (patch)
treebcfab735d95546e9992aafb3303e360893a9a140 /accel-pppd/ctrl/ipoe/ipoe.c
parent70952034ecaf0ecb732052d6837f7a4c084ba7bc (diff)
downloadaccel-ppp-f532c72d0cb33b16b9794d83a46969538bdf2596.tar.gz
accel-ppp-f532c72d0cb33b16b9794d83a46969538bdf2596.zip
ipv6pool: add per-proto ipv6-pool and ipv6-pool-delegate options
also, disable ipv6 pools via chap-secrets, need to find another syntax for it, may be with comments.
Diffstat (limited to 'accel-pppd/ctrl/ipoe/ipoe.c')
-rw-r--r--accel-pppd/ctrl/ipoe/ipoe.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c
index 45f66b73..b1504a2f 100644
--- a/accel-pppd/ctrl/ipoe/ipoe.c
+++ b/accel-pppd/ctrl/ipoe/ipoe.c
@@ -119,6 +119,8 @@ static int conf_arp;
static int conf_ipv6;
static uint32_t conf_src;
static const char *conf_ip_pool;
+static const char *conf_ipv6_pool;
+static const char *conf_dpv6_pool;
static const char *conf_l4_redirect_pool;
//static int conf_dhcpv6;
static int conf_username;
@@ -1366,6 +1368,10 @@ static struct ipoe_session *ipoe_session_create_dhcpv4(struct ipoe_serv *serv, s
if (conf_ip_pool)
ses->ses.ipv4_pool_name = _strdup(conf_ip_pool);
+ if (conf_ipv6_pool)
+ ses->ses.ipv6_pool_name = _strdup(conf_ipv6_pool);
+ if (conf_dpv6_pool)
+ ses->ses.dpv6_pool_name = _strdup(conf_dpv6_pool);
triton_context_register(&ses->ctx, &ses->ses);
@@ -2073,6 +2079,10 @@ static struct ipoe_session *ipoe_session_create_up(struct ipoe_serv *serv, struc
if (conf_ip_pool)
ses->ses.ipv4_pool_name = _strdup(conf_ip_pool);
+ if (conf_ipv6_pool)
+ ses->ses.ipv6_pool_name = _strdup(conf_ipv6_pool);
+ if (conf_dpv6_pool)
+ ses->ses.dpv6_pool_name = _strdup(conf_dpv6_pool);
ses->ctrl.dont_ifcfg = 1;
@@ -2118,6 +2128,10 @@ static void ipoe_session_create_auto(struct ipoe_serv *serv)
if (conf_ip_pool)
ses->ses.ipv4_pool_name = _strdup(conf_ip_pool);
+ if (conf_ipv6_pool)
+ ses->ses.ipv6_pool_name = _strdup(conf_ipv6_pool);
+ if (conf_dpv6_pool)
+ ses->ses.dpv6_pool_name = _strdup(conf_dpv6_pool);
ses->ctrl.dont_ifcfg = 1;
@@ -3915,6 +3929,8 @@ static void load_config(void)
conf_offer_timeout = 10;
conf_ip_pool = conf_get_opt("ipoe", "ip-pool");
+ conf_ipv6_pool = conf_get_opt("ipoe", "ipv6-pool");
+ conf_dpv6_pool = conf_get_opt("ipoe", "ipv6-pool-delegate");
conf_l4_redirect_pool = conf_get_opt("ipoe", "l4-redirect-ip-pool");
conf_vlan_name = conf_get_opt("ipoe", "vlan-name");