summaryrefslogtreecommitdiff
path: root/accel-pppd/session.c
AgeCommit message (Collapse)Author
2022-11-01Add PACKETS_SENT and PACKETS_RCVD to the pppd-compat environment.Stephan Brunner
2022-11-01Use 64-bit interface statistics rather than doing custom 32-bit overflow ↵Stephan Brunner
handling. When a link has a relatively high throughput, the 32-bit packet and byte counters could overflow multiple times between accounting runs. To accommodate this limitation, directly use 64-bit interface statistics. This also gets rid of the internal giga-word counters.
2022-05-08T60: Implement configurable session-timeout param for all connection typesDmitriyEshenko
2021-12-16vrf: T10: Add VRF supportDmitriyEshenko
Co-authored-by: Sergey V. Lobanov <svlobanov@users.noreply.github.com> Co-authored-by: Vladislav Grishenko <themiron@users.noreply.github.com>
2021-09-04Terminate session by the second PoD when soft-terminate=1 configuredDmitriyEshenko
2020-03-18net: new function get_ifindexSimon Chopin
The index of a given interface is an operation that highly depends on the network namespace we're in. This patch simply cuts out a function to get the index for a given interface name from the session initialization code, and expose it in the ap_net structure. This function can then be used to refresh the index when moving interfaces around. Signed-off-by: Simon Chopin <s.chopin@alphalink.fr>
2020-03-07session: add global [common]max-starting optionVladislav Grishenko
usually there's no need to have per-proto limitation, since the need of max starting limitation affects the whole server, not particular protocol only.
2020-01-11ipv6pool: add per-proto ipv6-pool and ipv6-pool-delegate optionsVladislav Grishenko
also, disable ipv6 pools via chap-secrets, need to find another syntax for it, may be with comments.
2020-01-10ipv6pool/radius: implement named ipv6 poolsVladislav Grishenko
default stateful ipv6 address & prefix radius attrs are per-rfc6911: 171 Delegated-IPv6-Prefix-Pool 172 Stateful-IPv6-Address-Pool the single pool name from chap-secret file pool is shared for ipv4/ipv6/ipv6 dp, new config syntax TBD. per-proto pool names are still for ipv4 only, new config syntax TBD.
2019-11-10Added single-session-ignore-case optionSergey V. Lobanov
If multisession behavior is managed by accel-ppp and Radius server ignores the case of the User-Name attribute, it might be required to ignore the case in accel-ppp to prevent multiple session with different letter cases.
2017-12-26reworked context prioritiesDmitry Kozlov
Introduced 4 priorities: 0 - management (cli) 1 - starting sessions (default priority) 2 - active sessions 3 - finishing sessions
2017-10-16wait for previous session to finish when single-session=replaceDmitry Kozlov
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.
2016-07-11implemented support for network namespaceDmitry Kozlov
This is done using radius attribute NAS-Port-Id. The new format of this attribute is NAS-Port-Id=[ns/][name]. Namespaces must be created malually by "ip netns add ..." command
2016-04-02for single-session=deny make early check for duplicate username (before ↵Dmitry Kozlov
calling radius)
2016-03-18make termination caused by SIGTERM softDmitry Kozlov
2016-03-04ppp_auth: fixed possible use after freeDmitry Kozlov
2015-12-04preparation for DPDK intergation (part 2)Dmitry Kozlov
2015-11-20consider only rx interface counter for idle timeout calculationDmitry Kozlov
2015-11-18ipoe: do not send immediate Accounting Stop in soft terminate modeDmitry Kozlov
2015-02-21session: implemented idle and timeout timersDmitry Kozlov
2015-02-20ppp: set unit_idx from NAS_Port attribute if presentFrançois Cachereul
Signed-off-by: François Cachereul <f.cachereul@alphalink.fr>
2014-11-22remove trailing whitespacesDmitry Kozlov
2014-11-06release IP addresses before fire EV_SESSION_FINISHED (fixes segfault when ↵Dmitry Kozlov
using IPoE)
2014-10-03get rid of time(), use clock_gettime(CLOCK_MONOTONIC) insteadDmitry Kozlov
2014-09-26fixed counting of starting sessionsDmitry Kozlov
2014-09-20rewrite of authentication/accounting proceduresDmitry Kozlov
This patch gets rid of synchronuos style of authentication/accounting. Synchronous style of authentication/accounting produced sleeping threads which becomes a problem when lots of sessions started/stopped and all they want authorization/accounting.
2014-09-09updated procedure to check double sessionsDmitry Kozlov
drop existing sessions immediately and continue rather than wait full session termination
2014-07-17improved 'single session' mechanismDmitry Kozlov
2014-06-03get out of SPINLOCK_INITIALIZER as it is not cross-platform compatibleDmitry Kozlov
2014-05-182-way interface renamingDmitry Kozlov
First try to rename interface immediately and if it fails then do second try later just before bring interface up. In case single-session=replace first try to rename interface may fail because first session may be active
2014-05-18improved single-session=replace handlingDmitry Kozlov
Wait for previous session completely terminated before continuing authorization new session.
2013-12-12fixed missing spinlock initialized (fixes stuck)Dmitry Kozlov
Signed-off-by: Dmitry Kozlov <xeb@mail.ru>
2013-06-29session: Remove unused call to time()Guillaume Nault
't' is set using time() but never used afterwards. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-21remove unnecessary read interface statistics during session terminationDmitry Kozlov
2013-06-11ipoe: fixed mask calculation for gw-ip-addressDmitry Kozlov
ipoe: pass router=siaddr if router was not configured by other way
2013-06-04use /var/lib/accel-ppp instead /var/run/accel-pppKozlov Dmitry
2013-03-18ipoe: fixed username=ifname, shared=0 modeDmitry Kozlov
2013-03-16ipoe: fixed shared=1 modeKozlov Dmitry
2013-01-25session: read final interface statistics on terminationKozlov Dmitry
2013-01-25Revert "session: read final interface statistics on termination"Kozlov Dmitry
This reverts commit 3bff891eac97037c633be960b822c688e8629165.
2013-01-25session: read final interface statistics on terminationKozlov Dmitry
2013-01-25Revert "altered session finishing procedure"Kozlov Dmitry
This reverts commit 9f4f36169f03857b6910402028717210270a0339.
2013-01-24altered session finishing procedureKozlov Dmitry
2013-01-24session: fire EV_PRE_FINISHEDKozlov Dmitry
session: don't accept new sessions in shutdown mode
2013-01-24implemented different sessionid length and urandom sourceDmitry Kozlov