1.31 -Updated lsm daemon to foolsm version 1.0.14, after patching to allow for
monitoring virtual/alias interfaces (e.g. eth0:1). See lsm/foolsm.patch
for the source code changes.
-When creating the per-interface routing table, add "oif" rules to allow
lsm to bind more consistently to interface device. Otherwise there were
cases when lsm would not detect when link that had gone back up.
1.30 -lsm daemon now killed and restarted on long_down events
1.29 -Enhanced status reporting to show lsm running status and PID.
1.28 -Added lsm/Makefile to MANIFEST to fix build and install errors.
1.27 -Add the "gateway" column to the template config file that is
installed at build time.
1.26 -Expanded configuration file to allow the gateway for an
interface to be set explicitly, rather than guessed. This
fixes provlems on systems where the gateway is set to an odd
location (e.g. at the top of the network IP address range
rather than the bottom).
1.25 -Fixed bug that caused custom chains to be overwritten when load_balance restarted.
1.24 -Fixed bug that prevented load_balance.pl from executing properly after
a virgin install.
1.23 -Fixed memory allocation bug that was causing random silent crashes in lsm.
1.22 -Workaround for apparent lsm bug: binding to the device only doesn't allow ping
to bypass routing tables. Must set source address as well.
1.21 -Added a failover-only mode (add "mode=failover" to config file) for those
who want to use the failover feature without interface balancing.
1.20 -Further changes to support pre-run scripts that bring up interfaces at
the last minute (e.g. openvpn)
-Added an example configuration for load balancing over two openvpn servers.
1.19 -Expose a new interface_info() method to end users.
-Change behavior of pre-run-scripts to execute AFTER the routing tables
and firewall rules are flushed. This allows the pre-run-script to add
routing and firewall rules and not have them flushed immediately afterward.
1.18 -Prevent gateways from becoming permanently inaccessible when they temporarily
lose their assigned IP addresses.
-Fix lsm to allow to specify virtual devices (e.g. eth0:1)
1.17 -PREROUTING rules for incoming traffic on the WAN devices were incorrectly
setting a source filter. This is now removed.
1.16 -If an interface is down, or unconfigured, at the time of
initialization, then proceed without it.
1.15 -Documentation fixes to force_route()
1.14 -Handle virtual interfaces correctly.
1.13 -Save and restore any custom chains found in iptables to avoid overwriting
rules produced by other firewall manipulation software.
-Add --flush option to load_balance.pl to override this behavior.
1.12 -Add locking to load_balance.pl script to avoid conditions in
which multiple instances of the script is running.
1.11 -Fix inter-LAN forwarding when more than 1 LAN is defined.
-Add ability to control whether packets are forwarded freely
among LAN and ISP interfaces or are restricted to certain
groups of mutually forwarding interfaces using the
forward_group configuration file option.
1.10 -Adjust interface parsing rules to recognize bonded vlan interfaces.
1.09 -Fix the way that load balancing marks work so that user code can
again "force" certain connections to go over one ISP or another.
1.08
-Stability fix: restart lsm every time load_balance.pl invoked. This
avoids correct state not being detected if load_balance.pl called
while an interface is down.
-Stability fix: prevent routing tables from being rewritten when
long_down_to_up event occurs (already handled by down_to_up).
1.07 -Bug fix: packets weren't being balanced correctly.
-Bug fix: lsm action directories were not being installed in correct place.
1.06 -You can now assign weights to each of the ISPs in order to prefer one over the ohter
1.06 -Remove dependencies on interface configuration files. Everything figured out using ip route and ip addr.
-Assign weights to ISPs for traffic flow preferences.
-Allow user to take actions based on lsm events.
-Retry interfaces that are not running at time load_balance runs
-Remove dependencies on interface configuration files. Everything figured out using ip route and ip addr.
1.05 -Delete user-defined chains for the "nat" and "mangle" tables.
-Create Net::Netmask objects using the new2() constructor, which returns
undef in cases when the address or mask can't be parsed.
1.04 -Add two new convenience methods: add_route() and force_route().
-Add explicit pre-run and post-run scripts.
1.03 -Documentation fixes.
1.02 -lsm now calls load_balance.pl directly as an eventscript, rather than indirectly.
-Cleaned up documentation.
-Add --kill and --status arguments to load_balance.pl
1.01 -Update lsm config file when network configuration changes.
-Use log-level 4 for all iptables logging events.
1.00 -Initial release