summaryrefslogtreecommitdiff
path: root/src/lbdata.hh
diff options
context:
space:
mode:
authorslioch <slioch@eng-140.vyatta.com>2009-07-24 16:59:27 -0700
committerslioch <slioch@eng-140.vyatta.com>2009-07-24 16:59:27 -0700
commitf672a6d5ca04b643a9d8583fcb8ade4da9fde6f3 (patch)
tree07bf2b8289e4bffc561f5d0fc7bb1c664d7ee6da /src/lbdata.hh
parente99605daeed8b412073694ee35d54da78920703f (diff)
downloadvyatta-wanloadbalance-f672a6d5ca04b643a9d8583fcb8ade4da9fde6f3.tar.gz
vyatta-wanloadbalance-f672a6d5ca04b643a9d8583fcb8ade4da9fde6f3.zip
bug fixes on mult targets. added packet rate limit option to rules
Diffstat (limited to 'src/lbdata.hh')
-rw-r--r--src/lbdata.hh15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lbdata.hh b/src/lbdata.hh
index 39115a6..4444009 100644
--- a/src/lbdata.hh
+++ b/src/lbdata.hh
@@ -28,12 +28,19 @@ class LBRule {
typedef map<string, int>::iterator InterfaceDistIter;
typedef enum {ALL,ICMP,UDP,TCP} Protocol;
+ typedef enum {K_SECOND,K_MINUTE,K_HOUR} LimitPeriod;
LBRule() :
_proto("all"),
_exclude(false),
_failover(false),
- _enable_source_based_routing(false) {}
+ _enable_source_based_routing(false),
+ _limit(false),
+ _limit_burst("5"),
+ _limit_rate("1"),
+ _limit_mode(false),
+ _limit_period(K_HOUR)
+ {}
public:
string _proto;
@@ -50,6 +57,12 @@ class LBRule {
bool _enable_source_based_routing;
+ bool _limit;
+ string _limit_burst;
+ string _limit_rate;
+ bool _limit_mode; //true above, false below
+ LimitPeriod _limit_period;
+
string _in_iface;
InterfaceDistColl _iface_dist_coll;
};