diff options
| author | Michael Larson <mike@ft1.vyatta.com> | 2009-10-02 14:43:14 -0700 |
|---|---|---|
| committer | Michael Larson <mike@ft1.vyatta.com> | 2009-10-02 14:43:14 -0700 |
| commit | d27fea825e6982a05f932c536c29ae483ae15575 (patch) | |
| tree | 0fbec1836c548f3cccebe67575d2de0af7faf4e4 /src | |
| parent | 3466b30bc459fe35b4cae8b645978688371b3032 (diff) | |
| download | vyatta-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.hh | 4 | ||||
| -rw-r--r-- | src/lbdatafactory.cc | 8 | ||||
| -rw-r--r-- | src/lbdatafactory.hh | 2 | ||||
| -rw-r--r-- | src/lbdecision.cc | 35 |
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); |
