diff options
Diffstat (limited to 'src/lbdatafactory.cc')
| -rw-r--r-- | src/lbdatafactory.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lbdatafactory.cc b/src/lbdatafactory.cc index 877c78e..1655a12 100644 --- a/src/lbdatafactory.cc +++ b/src/lbdatafactory.cc @@ -130,6 +130,9 @@ LBDataFactory::process(const vector<string> &path, int depth, const string &key, else if (depth > 0 && path[1] == "destination") { process_rule_destination(l_key,l_value); } + else if (depth > 0 && path[1] == "inbound-interface") { + process_rule_inbound_interface(l_key,l_value); + } else if (depth > 1 && path[1] == "interface") { process_rule_interface(l_key,l_value); } @@ -290,6 +293,24 @@ LBDataFactory::process_rule_destination(const string &key, const string &value) } void +LBDataFactory::process_rule_inbound_interface(const string &key, const string &value) +{ + if (_debug) { + cout << "LBDataFactory::process_rule_inbound_interface(): " << key << ", " << value << endl; + } + if (key == "inbound-interface") { + _rule_iter->second._in_iface = value; + } + else { + if (_debug) { + cerr << "LBDataFactory::process_rule(): " << "don't understand this symbol: " << key << endl; + } + } +} + + + +void LBDataFactory::process_rule_interface(const string &key, const string &value) { if (_debug) { |
