diff options
-rw-r--r-- | accel-pppd/accel-ppp.conf | 6 | ||||
-rw-r--r-- | accel-pppd/accel-ppp.conf.5 | 10 | ||||
-rw-r--r-- | accel-pppd/extra/ippool.c | 12 |
3 files changed, 20 insertions, 8 deletions
diff --git a/accel-pppd/accel-ppp.conf b/accel-pppd/accel-ppp.conf index 644ebea..a5f7e80 100644 --- a/accel-pppd/accel-ppp.conf +++ b/accel-pppd/accel-ppp.conf @@ -157,9 +157,9 @@ gw-ip-address=192.168.0.1 #attr=Cisco-AVPair attr=Framed-Pool 192.168.0.2-255 -192.168.1.1-255,pool1 -192.168.2.1-255,pool2 -192.168.3.1-255,pool3 +192.168.1.1-255,name=pool1 +192.168.2.1-255,name=pool2 +192.168.3.1-255,name=pool3 192.168.4.0/24 [log] diff --git a/accel-pppd/accel-ppp.conf.5 b/accel-pppd/accel-ppp.conf.5 index 73a3233..01ca869 100644 --- a/accel-pppd/accel-ppp.conf.5 +++ b/accel-pppd/accel-ppp.conf.5 @@ -722,20 +722,20 @@ Specifies single IP address to be used as local address of ppp interfaces. .BI "gw=" range Specifies range of local address of ppp interfaces if form: .br -.B x.x.x.x/mask[,pool_name] +.B x.x.x.x/mask[,name=pool_name] (for example 10.0.0.0/8) .br -.B x.x.x.x-y[,pool_name] +.B x.x.x.x-y[,name=pool_name] (for example 10.0.0.1-254) .TP .BI "tunnel=" range Specifies range of remote address of ppp interfaces if form: .br -.B x.x.x.x/mask[,pool_name] +.B x.x.x.x/mask[,name=pool_name] .br -.B x.x.x.x-y[,pool_name] +.B x.x.x.x-y[,name=pool_name] .TP -.BI "x.x.x.x/mask[,pool_name] or x.x.x.x-y[,pool_name]" +.BI "x.x.x.x/mask[,name=pool_name] or x.x.x.x-y[,name=pool_name]" Also specifies range of remote address of ppp interfaces. .TP .BI "attr=" attribute diff --git a/accel-pppd/extra/ippool.c b/accel-pppd/extra/ippool.c index 2790183..825b8f3 100644 --- a/accel-pppd/extra/ippool.c +++ b/accel-pppd/extra/ippool.c @@ -487,6 +487,18 @@ static void parse_options(const char *opt, char **pool_name, char **allocator) memcpy(*allocator, ptr1 + 10, len); (*allocator)[len] = 0; } + + if (!*pool_name) { + ptr1 = strchr(opt, ','); + if (!ptr1) + return; + + for (ptr2 = ptr1 + 1; *ptr2 && *ptr2 != '='; ptr2++); + if (*ptr2 == '=') + return; + + *pool_name = _strdup(ptr1 + 1); + } } static void ippool_init1(void) |