Age | Commit message (Collapse) | Author |
|
Rework the conditionals to make __ipoe_session_activate() and
ipoe_session_finished() follow the same logic:
* Drop the second '!serv->opt_ifcfg' test in __ipoe_session_activate(),
which is is already checked by the parent conditional.
* Invert the order of the tests in ipoe_session_finished(), so that
it uses the same conditions as __ipoe_session_activate().
Finally, set the 'src' parameter in iproute_del(), so that we can be
sure that the deleted route matches the one added by
__ipoe_session_activate().
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Rework iproute_del() to have the same parameters as iproute_add().
This will allow callers to specify more precisely the route they want
to delete.
Callers will later be converted to make use of these parameters to
ensure that the removed route precisely matches the one that was
originaly inserted.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
|
|
|
|
|
|
example function to use mac address as username:
function username(ses)
return ses:hwaddr()
end
|
|
|
|
|
|
|
|
|
|
|
|
ipoe: pass mask to ifcfg in ip unnumbered mode
|
|
config reload
|
|
|
|
Let an optional route priority (aka metric) be defined in RADIUS
Framed-Route attributes.
The priority is an integer placed at the end of the route string. This
is backward compatible with the previous format and also conforms with
the recommended format defined by RFC 2865 (although we don't allow
multiple metrics).
Framed-Route format is:
<network> [<gateway> [<priority>]]
For example, 'Framed-Route = "192.0.2.0/24 203.0.113.1 8"' will let
the following route be installed (assuming 203.0.113.1 is routed
through eth0):
$ ip route show
[...]
192.0.2.0/24 via 203.0.113.1 dev eth0 metric 8
It's possible to use the unspecified gateway (0.0.0.0) if one wants to
set a priority without specifying a gateway address.
Finally, route deletion now also takes the priority into account, in
order to avoid removing a different route accidentally.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
DHCP-Server-IP-Address is not supplied
|
|
Send NAK only to unicast requests or if requested Server-ID matches one of gw-ip-address
|
|
|
|
|
|
|
|
|
|
additional key when weights are equal
|
|
new config options:
[ipoe]
weight=N - global weight
interface=ethX,weight=N - per-interface weight
How it works:
On reception of DHCPDISCOVER accel-ppp sends broadcast DHCP message to port 67 with same xid and add special vendor-specific option
where encodes its current session count multipled by weight.
On reception of such message accel-ppp searches session with same xid and compares weight.
If received weight is less than session's weight then it terminates this session.
per-interface weight=0 has special meaning as backup (fail-over) interface, f.e. it terminates session on any received weight.
By default weight based load balancing is disabled.
To enable need to specify global or/and per-interface weight.
|
|
|
|
|
|
|
|
|
|
|
|
Assign opt82_ses=ses if shared=0
|
|
Implemented support for lua 5.2/5.3.
To build accel-ppp with exact lua version pass it in -DLUA=x.y, for example -DLUA=5.2 (cmake 3.0 is required for this).
Old style -DLUA=TRUE supports only 5.1 and does not require cmake 3.0.
Also extra lua modules (lua_lpack, lua_bit) took out into separated library luasupp.
|
|
|
|
|
|
|
|
introduced new config option:
[ipoe]
vendor=Name
this affects to all attributes specified in attr-xxx options
|
|
new config option:
[common]
max-sessions=N
If set then accel-pppd stops reply to new connection requests if total number of sessions (active and starting) is reached specified limit.
|
|
This reverts commit 88a908974b0b2e9c7eee8ad9a8b0b4432e95d167.
|
|
new config option:
[common]
max-sessions=N
If set then accel-pppd stops reply to new connection requests if total number of sessions (active and starting) is reached specified limit.
|
|
This reverts commit 9ea88bac7d5bf8fc5cf2d5f7d0a734ec7a9e6df6.
|
|
new config option:
[common]
max-sessions=N
If set then accel-pppd stops reply to new connection requests if total number of sessions (active and starting) is reached specified limit.
|
|
Included bitop library http://bitop.luajit.org/index.html
It may be used to extract vlan components in username function:
function username(ses)
vid=ses:vlan()
svid=bit.rshift(vid,16)
cvid=bit.band(vid,0xffff)
...
end
|
|
For this need to send 2 attributes: L4-Redirect=1,L4-Redirect-Ipset=new-set
|
|
This reverts commit b72efa378b32980f2114bcb8081fafbd93096aa0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|