summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Larson <mike@ft1.vyatta.com>2009-10-02 14:43:14 -0700
committerMichael Larson <mike@ft1.vyatta.com>2009-10-02 14:43:14 -0700
commitd27fea825e6982a05f932c536c29ae483ae15575 (patch)
tree0fbec1836c548f3cccebe67575d2de0af7faf4e4 /src
parent3466b30bc459fe35b4cae8b645978688371b3032 (diff)
downloadvyatta-wanloadbalance-d27fea825e6982a05f932c536c29ae483ae15575.tar.gz
vyatta-wanloadbalance-d27fea825e6982a05f932c536c29ae483ae15575.zip
change name of local packet balancing tag from "disable-local-traffic" to "enable-local-traffic". This preserves previous behavior (i.e. no balancing of local traffic) by default, but can be enable
via the configuration node. Conflicts: scripts/vyatta-wanloadbalance.pl src/lbdecision.cc
Diffstat (limited to 'src')
-rw-r--r--src/lbdata.hh4
-rw-r--r--src/lbdatafactory.cc8
-rw-r--r--src/lbdatafactory.hh2
-rw-r--r--src/lbdecision.cc35
4 files changed, 24 insertions, 25 deletions
diff --git a/src/lbdata.hh b/src/lbdata.hh
index c92c30d..3c86854 100644
--- a/src/lbdata.hh
+++ b/src/lbdata.hh
@@ -196,7 +196,7 @@ class LBData {
typedef map<string,LBHealth>::iterator InterfaceHealthIter;
typedef map<string,LBHealth>::const_iterator InterfaceHealthConstIter;
- LBData() : _disable_source_nat(false),_disable_local_traffic(false),_flush_conntrack(false) {}
+ LBData() : _disable_source_nat(false),_enable_local_traffic(false),_flush_conntrack(false) {}
bool
error() {return false;}
@@ -223,7 +223,7 @@ class LBData {
InterfaceHealthColl _iface_health_coll;
bool _disable_source_nat;
- bool _disable_local_traffic;
+ bool _enable_local_traffic;
bool _flush_conntrack;
string _hook;
};
diff --git a/src/lbdatafactory.cc b/src/lbdatafactory.cc
index 849e890..febe3b2 100644
--- a/src/lbdatafactory.cc
+++ b/src/lbdatafactory.cc
@@ -141,8 +141,8 @@ LBDataFactory::process(const vector<string> &path, int depth, const string &key,
if (path[0] == "disable-source-nat") {
process_disablesourcenat(l_key,l_value);
}
- else if (path[0] == "disable-local-traffic") {
- process_disablelocaltraffic(l_key,l_value);
+ else if (path[0] == "enable-local-traffic") {
+ process_enablelocaltraffic(l_key,l_value);
}
else if (path[0] == "flush-conntrack") {
process_flushconntrack(l_key,l_value);
@@ -214,9 +214,9 @@ LBDataFactory::process_disablesourcenat(const string &key, const string &value)
}
void
-LBDataFactory::process_disablelocaltraffic(const string &key, const string &value)
+LBDataFactory::process_enablelocaltraffic(const string &key, const string &value)
{
- _lb_data._disable_local_traffic = true;
+ _lb_data._enable_local_traffic = true;
}
void
diff --git a/src/lbdatafactory.hh b/src/lbdatafactory.hh
index 6df9e51..358ec8d 100644
--- a/src/lbdatafactory.hh
+++ b/src/lbdatafactory.hh
@@ -44,7 +44,7 @@ private:
process_disablesourcenat(const string &key, const string &value);
void
- process_disablelocaltraffic(const string &key, const string &value);
+ process_enablelocaltraffic(const string &key, const string &value);
void
process_flushconntrack(const string &key, const string &value);
diff --git a/src/lbdecision.cc b/src/lbdecision.cc
index ac86a48..54a0ffc 100644
--- a/src/lbdecision.cc
+++ b/src/lbdecision.cc
@@ -118,8 +118,7 @@ if so then this stuff goes here!
execute(string("iptables -t raw -A WLB_CONNTRACK -j ACCEPT"), stdout);
execute(string("iptables -t raw -D PREROUTING -j WLB_CONNTRACK"), stdout);
execute(string("iptables -t raw -I PREROUTING 1 -j WLB_CONNTRACK"), stdout);
-
- if (lbdata._disable_local_traffic == false) {
+ if (lbdata._enable_local_traffic == true) {
execute(string("iptables -t raw -D OUTPUT -j WLB_CONNTRACK"), stdout);
execute(string("iptables -t raw -I OUTPUT 1 -j WLB_CONNTRACK"), stdout);
}
@@ -129,7 +128,7 @@ if so then this stuff goes here!
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE -j ACCEPT"), stdout);
execute(string("iptables -t mangle -D PREROUTING -j WANLOADBALANCE_PRE"), stdout);
execute(string("iptables -t mangle -I PREROUTING 1 -j WANLOADBALANCE_PRE"), stdout);
- if (lbdata._disable_local_traffic == false) {
+ if (lbdata._enable_local_traffic == true) {
execute(string("iptables -t mangle -N WANLOADBALANCE_OUT"), stdout);
execute(string("iptables -t mangle -F WANLOADBALANCE_OUT"), stdout);
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT -j ACCEPT"), stdout);
@@ -281,7 +280,7 @@ LBDecision::run(LBData &lb_data)
//then if we do, flush all
execute("iptables -t mangle -F WANLOADBALANCE_PRE", stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute("iptables -t mangle -F WANLOADBALANCE_OUT", stdout);
execute("iptables -t mangle -A WANLOADBALANCE_OUT -m mark ! --mark 0 -j ACCEPT", stdout); //avoid packets set in prerouting table
execute("iptables -t mangle -A WANLOADBALANCE_OUT --source 127.0.0.1/8 --destination 127.0.0.1/8 -j ACCEPT", stdout); //avoid packets set in prerouting table
@@ -302,7 +301,7 @@ LBDecision::run(LBData &lb_data)
if (iter->second._exclude == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " -j ACCEPT", stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " -j ACCEPT", stdout);
}
}
@@ -322,7 +321,7 @@ LBDecision::run(LBData &lb_data)
execute(string("iptables -t mangle -F WANLOADBALANCE_PRE_LIMIT_") + rule_str, stdout);
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " " + limit_cmd + " -j WANLOADBALANCE_PRE_LIMIT_" + rule_str, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -N WANLOADBALANCE_OUT_LIMIT_") + rule_str, stdout);
execute(string("iptables -t mangle -F WANLOADBALANCE_OUT_LIMIT_") + rule_str, stdout);
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " " + limit_cmd + " -j WANLOADBALANCE_OUT_LIMIT_" + rule_str, stdout);
@@ -338,13 +337,13 @@ LBDecision::run(LBData &lb_data)
if (iter->second._limit) {
//fill in limit statement here
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE_LIMIT_") + rule_str + " -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT_LIMIT_") + rule_str + " -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
}
}
else {
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
}
}
@@ -353,13 +352,13 @@ LBDecision::run(LBData &lb_data)
if (iter->second._limit) {
//fill in limit statement here
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE_LIMIT_") + rule_str + " -m state --state NEW -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT_LIMIT_") + rule_str + " -m state --state NEW -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
}
}
else {
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " -m state --state NEW -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " -m state --state NEW -m statistic --mode random --probability " + fbuf + " -j ISP_" + dbuf, stdout);
}
}
@@ -371,14 +370,14 @@ LBDecision::run(LBData &lb_data)
//fill in limit statement here
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE_LIMIT_") + rule_str + " -j ISP_" + dbuf, stdout);
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE_LIMIT_") + rule_str + " -j ACCEPT", stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT_LIMIT_") + rule_str + " -j ISP_" + dbuf, stdout);
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT_LIMIT_") + rule_str + " -j ACCEPT", stdout);
}
}
else {
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " -j ISP_" + dbuf, stdout);
}
}
@@ -388,19 +387,19 @@ LBDecision::run(LBData &lb_data)
if (iter->second._limit) {
//fill in limit statement here
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE_LIMIT_") + rule_str + " -m state --state NEW -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT_LIMIT_") + rule_str + " -m state --state NEW -j ISP_" + dbuf, stdout);
}
}
else {
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " -m state --state NEW -j ISP_" + dbuf, stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " -m state --state NEW -j ISP_" + dbuf, stdout);
}
}
}
execute(string("iptables -t mangle -A WANLOADBALANCE_PRE ") + app_cmd + " -j CONNMARK --restore-mark", stdout);
- if (lb_data._disable_local_traffic == false) {
+ if (lb_data._enable_local_traffic == true) {
execute(string("iptables -t mangle -A WANLOADBALANCE_OUT ") + app_cmd_local + " -j CONNMARK --restore-mark", stdout);
}
}
@@ -422,7 +421,7 @@ LBDecision::shutdown(LBData &data)
execute("iptables -t mangle -D PREROUTING -j WANLOADBALANCE_PRE", stdout);
execute("iptables -t mangle -F WANLOADBALANCE_PRE", stdout);
execute("iptables -t mangle -X WANLOADBALANCE_PRE", stdout);
- if (data._disable_local_traffic == false) {
+ if (data._enable_local_traffic == true) {
execute("iptables -t mangle -D OUTPUT -j WANLOADBALANCE_OUT", stdout);
execute("iptables -t mangle -F WANLOADBALANCE_OUT", stdout);
execute("iptables -t mangle -X WANLOADBALANCE_OUT", stdout);
@@ -434,7 +433,7 @@ LBDecision::shutdown(LBData &data)
sprintf(rule_str,"%d",iter->first);
execute(string("iptables -t mangle -F WANLOADBALANCE_PRE_LIMIT_") + rule_str,stdout);
execute(string("iptables -t mangle -X WANLOADBALANCE_PRE_LIMIT_") + rule_str,stdout);
- if (data._disable_local_traffic == false) {
+ if (data._enable_local_traffic == true) {
execute(string("iptables -t mangle -F WANLOADBALANCE_OUT_LIMIT_") + rule_str,stdout);
execute(string("iptables -t mangle -X WANLOADBALANCE_OUT_LIMIT_") + rule_str,stdout);
}
@@ -448,7 +447,7 @@ LBDecision::shutdown(LBData &data)
//clear out conntrack hooks
execute(string("iptables -t raw -D PREROUTING -j WLB_CONNTRACK"), stdout);
- if (data._disable_local_traffic == false) {
+ if (data._enable_local_traffic == true) {
execute(string("iptables -t raw -D OUTPUT -j WLB_CONNTRACK"), stdout);
}
execute(string("iptables -t raw -F WLB_CONNTRACK"), stdout);