summaryrefslogtreecommitdiff
path: root/src/lbdatafactory.cc
diff options
context:
space:
mode:
authorroot <root@eng-140.vyatta.com>2008-08-22 09:41:27 -0700
committerroot <root@eng-140.vyatta.com>2008-08-22 09:41:27 -0700
commitd7e0e1579b84215eee801e0e033c0b60eb09a1c8 (patch)
tree7441204438820065bca2ef3154c56cf4f7f011ad /src/lbdatafactory.cc
parentf078bf6b45cd1ab2742f79534369a54a0df27791 (diff)
downloadvyatta-wanloadbalance-d7e0e1579b84215eee801e0e033c0b60eb09a1c8.tar.gz
vyatta-wanloadbalance-d7e0e1579b84215eee801e0e033c0b60eb09a1c8.zip
fix for bug 3620. exclusion option is now provided and will create an accept rule. For an exclusion the user does not need to configure interfaces for that rule to balance across.
Diffstat (limited to 'src/lbdatafactory.cc')
-rw-r--r--src/lbdatafactory.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lbdatafactory.cc b/src/lbdatafactory.cc
index 85f3283..5e3da83 100644
--- a/src/lbdatafactory.cc
+++ b/src/lbdatafactory.cc
@@ -140,6 +140,9 @@ LBDataFactory::process(const vector<string> &path, int depth, const string &key,
else if (depth > 0 && path[1] == "protocol") {
process_rule_protocol(l_key,l_value);
}
+ else if (depth > 0 && path[1] == "exclude") {
+ process_rule_exclude(l_key,l_value);
+ }
else {
process_rule(l_key,l_value);
}
@@ -266,6 +269,12 @@ LBDataFactory::process_rule_protocol(const string &key, const string &value)
}
void
+LBDataFactory::process_rule_exclude(const string &key, const string &value)
+{
+ _rule_iter->second._exclude = true;
+}
+
+void
LBDataFactory::process_rule_source(const string &key, const string &value)
{
if (key == "address") {