Commit graph

28 commits

Author SHA1 Message Date
Samuel Thibault
9daccab8ba shutdown_handler: really shutdown when we are last
If we are a master and we don't have peers, there is no use keeping the
sessions alive, when we'll restart we will have forgotten them all.
Better gracefully close them, so they can be quickly respawn on restart,
instead of having to wait for timeouts.
2024-01-21 00:36:39 +01:00
Samuel Thibault
31dedbbe66 Use 64bit counters for accounting
Otherwise with 5-minute reporting we overflow with >= ~100Mbps.

Fixes #12
2022-01-24 00:40:26 +01:00
fendo
e98fe68174 Added ability to define up to 5 IPv6 prefix delegation by user 2014-09-16 17:34:39 +02:00
fendo
b3f40f41f7 Add DHCPv6 functionality. 2014-09-11 16:19:57 +02:00
fendo
26a2025a1b Fix: wheezy warning compilation 2013-09-16 15:01:04 +02:00
fendo
137bcc9981 Adding the possibility to listening multiple IP L2TP tunnels. 2013-03-06 22:18:32 +01:00
fendo
caa9662496 Fix: inverted delete/add routes in cluster mode 2013-01-13 23:08:38 +01:00
fendo
11996ba414 Add PPPOE-SERVER functionality 2013-01-08 10:50:57 +01:00
fendo
5e65215ed4 Following development LAC functionality 2012-12-06 01:40:12 +01:00
fendo
7fd68b1dae Fix the inverted "delete/add" of the routes, in cluster mode. 2012-11-18 16:04:06 +01:00
fendo
ce928583b4 MLPPP not working in cluster mode. 2012-10-28 22:39:23 +01:00
Brendan O'Dea
d2848cebc4 Apply patch from Geoffrey D. Bennett to fix handle RADIUS Class attribute.
Bump heartbeat version to handle Class entry in session (v6).
Re-arrange session struct to remove padding.
Update cluster code to handle v6 packets.  Drop compatability for pre-v5.
2011-09-11 21:54:45 +10:00
Brendan O'Dea
24ba2c5ae1 fix heartt pad 2006-12-04 20:54:51 +00:00
Brendan O'Dea
5faf075c8d add Multilink support from Khaled Al Hamwi 2006-04-27 09:53:49 +00:00
Brendan O'Dea
aabf1d3fe9 - Replace flags used for LCP/IPCP with state machine.
- Use openssl MD5, fix DAE vector (Alex Kiernan).
2005-07-31 10:04:09 +00:00
Brendan O'Dea
a685501f64 add DAE support (PoD/CoA) from Vladislav Bjelic 2005-06-28 14:48:17 +00:00
Brendan O'Dea
bd2ec60149 merge in changes from 2.0 branch; fix byte counters in accounting records, add gigawords 2005-06-02 11:32:30 +00:00
Brendan O'Dea
83699acac6 merge cluster fixes from release_2_0 branch 2005-05-26 12:17:30 +00:00
Brendan O'Dea
93151dffc9 session structure has changed: bump heartbeat version and convert old format heartbeats 2005-05-08 08:00:49 +00:00
Brendan O'Dea
9d199a1046 use standard uintN_t types for portability 2004-12-16 08:49:52 +00:00
Brendan O'Dea
f5fb6dea86 better cluster master collision resolution 2004-12-03 06:40:02 +00:00
Brendan O'Dea
4f5ea4fbe0 - Ignore gateway address in Framed-Route (from Jonathan McDowell).
- Call sessionshutdown() when a tunnel is dropped rather than
  sessionkill() to ensure that RADIUS stop records are sent.
- Cleanup: make a bunch of global functions/variables static.
2004-11-16 07:54:32 +00:00
Brendan O'Dea
3ab5eeb379 make BGP keepalive/hold time configurable, revise config syntax 2004-11-11 03:07:42 +00:00
Brendan O'Dea
6adc660b49 - s/tap/tun/
- fix for LASTSEEN breakage:  don't do anything in the CLI other than
  flag changes to be made by the parent
- split out master parts from cluster_check_master() into cluster_check_slaves()
2004-07-08 16:54:35 +00:00
Brendan O'Dea
4ad7536258 - set hostname in CLI prompt
- add assertions to help identify odd LASTSEEN breakage
- make cluster_hb_interval work; include interval/timeout in heartbeats
  so that a change on the master is propagated immediately to the slaves
- use fast heartbeats when there are slaves not up to date
- ensure basetime of shut down master is set to zero (prevent delayed election)
- fix radius session leak on IPCP timeout
- fix some off-by-one errors in tunnel/session loops
2004-07-07 09:09:53 +00:00
David Parrish
c239d4b228 * Wed Jun 23 2004 David Parrish <david@dparrish.com> 2.0.0
- Major release
- Completely replace active/standby clustering with a new peer-to-peer
  clustering method which allows much greater throughput and is a lot more fault
  tolerant
- Add internal tbf implementation for throttling without relying on tc and
  kernel HTB
- Add support for iBGP and eBGP to advertise routes
- Add cli commands "show cluster", "show bgp", "show ipcache", "show throttle",
  "show tbf", "suspend bgp", "restart bgp", "show user"
- Interception destination must be set per-user
- If SMP machine, allow use of SCHED_FIFO, which should improve performance
- Added config option to send GARP at startup
- Added plugin_become_master and plugin_new_session_master plugin hooks
- Remove useless sessionsendarp(). This isn't needed now that we are using TUN
  instead of TAP.
- ICMP rate limiting so not every unreachable packet is replied with an ICMP
  unreachable message
- mangle table is not required on anything but the cluster master, so slaves
  will drop the mangle table and attempt to unload the ip_conntrack module
- Statically assigned IP addresses (by Radius) work now
- Add -d command-line flag to detach and become a daemon
- Configuration file is now "/etc/l2tpns/startup-config"
- Reduced MIN_IP_SIZE to 0x19 to stop a pile of Short IP warnings
- Resend initial IPCP request until it's acknowleged by the client
- Better radius session cleanup logic
- Many miscellaenous bugfixes and performance enhancements
- Thanks to Michael O'Reilly and Brendan O'Dea for most of these new features
2004-06-23 03:52:24 +00:00
David Parrish
fc0a363208 * Fri Mar 5 2004 David Parrish <david@dparrish.com> 1.1.0
- Change all strcpy() calls to strncpy() to avoid buffer overflow potential
- Add ICMP host unreachable support
- Logging to syslog if log_file = "syslog:facility"
- Now requires libcli 1.5
- All configuration moves to a config structure
- Ability to modify and write config on the fly through command-line interface
- Config file support is removed, and now handled by the cli
- Show hostname in cli prompt
- Keep current state type for tunnels
- Add uptime command do CLI, which also shows real-time bandwidth utilisation
- Add goodbye command to cluster master, which forces droppping a slave
- Cache IP address allocation, so that reconnecting users get the same address
- Fix tunnel resend timeouts, so that dead tunnels will be cleaned up
- Allocate tunnels and radius without using a linked list which had issues
- Fix some off-by-one errors in tunnel and session and radius arrays
- Save and reload ip address pool when dieing
- Check version and size of reloaded data when restarting
- Remove plugin_config support
- Remove old support for TBF which didn't work anyway. HTB is required to do throttling now.
- Add COPYING and Changes files
2004-03-05 00:09:03 +00:00
David Parrish
c5e4c2cfc0 Initial revision 2003-12-16 07:07:39 +00:00