diff options
author | Vladislav Grishenko <themiron@mail.ru> | 2017-10-30 17:27:22 +0500 |
---|---|---|
committer | Vladislav Grishenko <themiron@mail.ru> | 2017-12-05 20:39:15 +0500 |
commit | ae72e179afa46d82865aa8d459b32cc27541e4a7 (patch) | |
tree | f426671bf7ef9cecf06937f7a673f8b03b7a58bd /accel-pppd/ctrl/pppoe | |
parent | 71770d7a41278731f676a11ff943da735a09c5b0 (diff) | |
download | accel-ppp-ae72e179afa46d82865aa8d459b32cc27541e4a7.tar.gz accel-ppp-ae72e179afa46d82865aa8d459b32cc27541e4a7.zip |
ppp: implement per-ctrl ppp interface rename support, may be overrided by radius
Reuse exsisting radius functionality and allow set iterface name
template for pppoe/pptp/l2tp, '%d' specification will be replaced
automagically to the next available index by kernel.
PPP interface rename allows to easy differ client's interfaces from
the other ppp ones, for example, with just netfilter interface rules.
Example:
[pptp]
ifname=pptp%d will produce pptp0, pptp1, ...
Diffstat (limited to 'accel-pppd/ctrl/pppoe')
-rw-r--r-- | accel-pppd/ctrl/pppoe/pppoe.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/accel-pppd/ctrl/pppoe/pppoe.c b/accel-pppd/ctrl/pppoe/pppoe.c index c572176..4f99354 100644 --- a/accel-pppd/ctrl/pppoe/pppoe.c +++ b/accel-pppd/ctrl/pppoe/pppoe.c @@ -98,6 +98,7 @@ int conf_padi_limit = 0; int conf_mppe = MPPE_UNSET; int conf_sid_uppercase = 0; static const char *conf_ip_pool; +static const char *conf_ifname; enum {CSID_MAC, CSID_IFNAME, CSID_IFNAME_MAC}; static int conf_called_sid; static int conf_cookie_timeout; @@ -407,6 +408,8 @@ static struct pppoe_conn_t *allocate_channel(struct pppoe_serv_t *serv, const ui if (conf_ip_pool) conn->ppp.ses.ipv4_pool_name = _strdup(conf_ip_pool); + if (conf_ifname) + conn->ppp.ses.ifname_rename = _strdup(conf_ifname); triton_context_register(&conn->ctx, conn); @@ -2009,6 +2012,7 @@ static void load_config(void) } conf_ip_pool = conf_get_opt("pppoe", "ip-pool"); + conf_ifname = conf_get_opt("pppoe", "ifname"); conf_called_sid = CSID_MAC; opt = conf_get_opt("pppoe", "called-sid"); |