summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-06cmake: added CPACK_TYPE=Debian9Dmitry Kozlov
2018-01-06cmake: reworked debian related package generation rulesDmitry Kozlov
2018-01-06ipoe_mod: use least byte of hwaddr as hash keyDmitry Kozlov
2018-01-05ipoe: implemented ipv6 in shared modeDmitry Kozlov
2017-12-29ipv6: ignore "unspecified address" (::/128)Dmitry Kozlov
2017-12-28ipoe: check noauth option in [auth] section tooDmitry Kozlov
2017-12-28Merge pull request #30 from themiron/alloca-crashxebd
triton: fix crash due gcc mis-optimization of alloca()
2017-12-28triton: fix crash due gcc mis-optimization of alloca()Vladislav Grishenko
since alloca() result is used indirectly, gcc 4.7.2 thinks the whole call can be dropped on any optimization level.
2017-12-27ipoe,vlan_mon: updated up to kernel 4.14Dmitry 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-27triton: fixed bugs introduced by previous commitDmitry Kozlov
2017-12-26shaper: install ifb filter for all protocolsDmitry Kozlov
2017-12-26move version message to topDmitry Kozlov
2017-12-26get rid of deprecated readdir_rDmitry Kozlov
2017-12-26reworked context prioritiesDmitry Kozlov
Introduced 4 priorities: 0 - management (cli) 1 - starting sessions (default priority) 2 - active sessions 3 - finishing sessions
2017-12-26shaper: install skbedit filter for all protocolsDmitry Kozlov
2017-12-25ipv6: implemented special handling of /128 prefixesDmitry Kozlov
If prefix length is 128 then send RA with 64 prefix length and add point-to-point ipv6 address on interface
2017-12-25ipv6pool: added gw-ip6-address option and special handling for /128 prefixesDmitry Kozlov
If pool specified with /128 prefix length, then initialize intf_id by gw_ip6_address and peer_intf_id by generated pool address.
2017-12-25libnetlink: added ip6addr_add_peer functionDmitry Kozlov
2017-12-21radius: allocate memory for string attributesDmitry Kozlov
2017-12-20shaper: define UINT16_MAX if not setDmitry Kozlov
2017-12-20ippool: fixed parsing /32 rangesDmitry Kozlov
2017-12-19ipoe: arp: do not reply on requests from 0.0.0.0Dmitry Kozlov
2017-12-19ipoe: fixed memory leakDmitry Kozlov
2017-12-15ipoe: rename HASH_BITS -> IPOE_HASH_BITSDmitry Kozlov
2017-12-15ipoe,vlan_mon: define RHEL_MAJOR=0 if not setDmitry Kozlov
2017-12-15cmake: added centos supportDmitry Kozlov
2017-12-15ipoe, vlan_mon: implemented support for centos 3.10 kernelDmitry Kozlov
2017-12-14Merge pull request #27 from themiron/ppp-ifnamexebd
ppp: fix interface rename if kernel returns not zero, but picked index
2017-12-14ppp: fix interface wildcard rename if kernel returns not zero, but picked indexVladislav Grishenko
2017-12-14ippool: implemented next pool supportDmitry Kozlov
config changes: [ip-pool] x.x.x.x/mask,name=pool1 y.y.y.y/mask,name=pool2,next=pool1
2017-12-14radius: fixed memory leakDmitry Kozlov
2017-12-07pppd_compat: mark session started if ip-up handler calledDmitry Kozlov
2017-12-07pppd_compat: fixed bug caused fork queue to stallDmitry Kozlov
2017-12-07cmake: set INSTALL_RPATH for radius moduleDmitry Kozlov
2017-12-07Merge pull request #26 from themiron/chap-ippoolxebd
chap-secrets: add pool name support
2017-12-07chap-secrets: assume 4th field as pool nameVladislav Grishenko
Simplify previous commit, if 4th field isn't empty and doesn't start with reserved chars (*-!), assume it as pool name. Also, fix build warn without OPENSSL.
2017-12-06Merge pull request #25 from themiron/ppp-ifnamexebd
ppp: implement per-ctrl ppp interface rename support
2017-12-06chap-secrets: allow to use pool name instead of address to specify ipv4 poolVladislav Grishenko
Chap-secrets' ipdb uses 4th field as static peer ipv4 address. With no radius and multiple same username sessions, it's impossible to use non-default pool for such sessions. Abuse chap-secret's 4th field as pool=name to specify session's pool name. With ippool module loaded after chap-secrets (default order), it will be used for allocation from the specified poll name. Compatibility considerations: * pppd will skip 'pool=*' with warn 'unknown host in auth. address list' same as 5th field - shaper, because starting from 4th field pppd parse list of value. so, no new effects here. * previous versions of accel-ppp will parse 'pool=*' as empty address. * with no 'pool=*' in chap-secrets or with no chap-secrets loaded, no behavior change. * with no ippool loaded, session will get no peer address. * with ippool loaded before chap-secrets, chap-secrets's ipdb will not be used, therefore neither ip addess not pool name will has no effect. * if chap-secrets' pool is invalid or not found, default pool will be used by ippool or address came from radius. * chap-secret's pool name might override pool came from radius, if radius module is loaded after chap-secrets and no address came from radius.
2017-12-05ppp: implement per-ctrl ppp interface rename support, may be overrided by radiusVladislav Grishenko
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, ...
2017-12-05net-snmp: fixed crash on table requestDmitry Kozlov
2017-12-05ippool: rewrited parsersDmitry Kozlov
2017-12-05fixed compilation error with -DRADIUS=FALSEDmitry Kozlov
2017-12-05Merge branch 'master' of github.com:xebd/accel-pppDmitry Kozlov
2017-12-05ipoe: fixed mutex deadlockDmitry Kozlov
2017-12-05Merge pull request #23 from themiron/echo-fixesxebd
pptp/l2tp: echo failure improvements
2017-12-05Merge pull request #22 from themiron/l2tp-closingxebd
l2tp: skip obsolete session data packets from logging
2017-12-05l2tp: implement adaptive l2tp helloVladislav Grishenko
With incoming l2tp hello there's no need to ask peer for replies in configured hello-interval, so just postpone it. Helps against false-positive echo failures with heavily loaded channels and/or peers.
2017-12-05pptp: implement adaptive pptp echoVladislav Grishenko
With incoming pptp echo request there's no need to ask peer for replies in configured echo-interval, so just postpone it. Helps against false-positive echo failures with heavily loaded channels and/or peers.