summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/ipoe
AgeCommit message (Collapse)Author
2018-12-20ipoe: stricter route deletionGuillaume Nault
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>
2018-12-20iputils: add 'src' and 'gw' parameters to iproute_del()Guillaume Nault
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>
2018-08-24load ipoe and vlan_mon module on startDmitry Kozlov
2018-06-08ipoe: use vendor option for attr_dhcp_opt82_xxx tooDmitry Kozlov
2018-06-01ipoe: lua: introduced ipaddr field to session objectDmitry Kozlov
2018-05-31ipoe: use lua function to generate username for UP sessions tooDmitry Kozlov
2018-05-31ipoe: lua: introduced hwaddr field to session objectDmitry Kozlov
example function to use mac address as username: function username(ses) return ses:hwaddr() end
2018-05-28ipoe: do not bring interface down on session termination in shared=0 modeDmitry Kozlov
2018-05-25ipoe: introduced ip-unnumbered per-interface optionDmitry Kozlov
2018-05-25ipoe: do not remove address on session finish if ifcfg=1Dmitry Kozlov
2018-05-25ipoe: small fix for previous commitDmitry Kozlov
2018-05-25ipoe: improved mac change detectionDmitry Kozlov
2018-05-25ipoe: do not wait packet from ipoe kernel module in "shared=0,start=up" modeDmitry Kozlov
ipoe: pass mask to ifcfg in ip unnumbered mode
2018-04-03ipoe: assign default values to verbose and unit-cache if not specified on ↵Dmitry Kozlov
config reload
2018-03-04fix possible null pointer dereferencesVladislav Grishenko
2018-02-21radius: add support for route priority (metric) in Framed-RouteGuillaume Nault
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>
2018-01-25ipoe: use DHCP-Server-Identifier attribute as siaddr if ↵Dmitry Kozlov
DHCP-Server-IP-Address is not supplied
2018-01-25ipoe: improved handling of DHCP Request for nonexistent sessionsDmitry Kozlov
Send NAK only to unicast requests or if requested Server-ID matches one of gw-ip-address
2018-01-22ipoe: ipv6: generate intf_id only if not set by upper layerDmitry Kozlov
2018-01-09ipoe: do not create ipoe interface with server's ifindexDmitry Kozlov
2018-01-05ipoe: implemented ipv6 in shared modeDmitry Kozlov
2017-12-28ipoe: check noauth option in [auth] section tooDmitry Kozlov
2017-12-27ipoe: include server's mac into weight notify packet to be used as ↵Dmitry Kozlov
additional key when weights are equal
2017-12-27ipoe: implemented new load balancing mechanismDmitry Kozlov
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.
2017-12-19ipoe: arp: do not reply on requests from 0.0.0.0Dmitry Kozlov
2017-12-19ipoe: fixed memory leakDmitry Kozlov
2017-12-05ipoe: fixed mutex deadlockDmitry Kozlov
2017-12-01ipoe: check connlimit for UP sessionsDmitry Kozlov
2017-11-29ipoe: fixed handling DHCP vendor-specific attributesDmitry Kozlov
2017-10-25ipoe: fixed bugDmitry Kozlov
Assign opt82_ses=ses if shared=0
2017-10-13improved lua supportDmitry Kozlov
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.
2017-10-09ipoe: more verbose netlink errorsDmitry Kozlov
2017-09-25ipoe: introduced interface option mtu=NDmitry Kozlov
2017-08-08ipoe: add client ip (second ip) as route when nat=1 (make quagga happy)Dmitry Kozlov
2017-05-08ipoe: implemented support for vendor specific attrbiutesDmitry Kozlov
introduced new config option: [ipoe] vendor=Name this affects to all attributes specified in attr-xxx options
2017-04-18implemented session count limitingDmitry Kozlov
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.
2017-04-18Revert "implemented session count limiting"Dmitry Kozlov
This reverts commit 88a908974b0b2e9c7eee8ad9a8b0b4432e95d167.
2017-04-18implemented session count limitingDmitry Kozlov
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.
2017-04-18Revert "implemented session count limiting"Dmitry Kozlov
This reverts commit 9ea88bac7d5bf8fc5cf2d5f7d0a734ec7a9e6df6.
2017-04-18implemented session count limitingDmitry Kozlov
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.
2017-04-04ipoe: included lua bitop libraryDmitry Kozlov
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
2017-04-04ipoe: implemented ability to change ipset by CoADmitry Kozlov
For this need to send 2 attributes: L4-Redirect=1,L4-Redirect-Ipset=new-set
2017-03-28Revert "ipoe: fix lua 5.3 support"Dmitry Kozlov
This reverts commit b72efa378b32980f2114bcb8081fafbd93096aa0.
2017-03-27ipoe: fixed bug (unexpected session start in UP mode)Dmitry Kozlov
2017-03-27ipoe: fix lua 5.3 supportDmitry Kozlov
2017-03-27ipoe: fixed prefix calculation from ipaddrDmitry Kozlov
2017-02-15ipoe: fixed conditions to turn on arp handlingDmitry Kozlov
2016-12-10ipoe: implemented support for freeradius dhcp attributesDmitry Kozlov
2016-12-09ipoe: assign 2 ptp address to interface for sessions with natDmitry Kozlov
2016-12-08ipoe: fixed nat supportDmitry Kozlov