From: Igor Maravic <[email protected]>
Signed-off-by: Igor Maravic <[email protected]> --- xorp/policy/backend/policy_redist_map.hh | 4 +- xorp/policy/common/policy_utils.cc | 14 ++-- xorp/policy/configuration.hh | 34 +++++----- xorp/policy/policy_target.cc | 14 ++-- xorp/policy/process_watch.cc | 26 ++++---- xorp/policy/xrl_target.cc | 98 +++++++++++++++--------------- xorp/rib/rib_manager.cc | 18 +++--- xorp/rib/rib_manager.hh | 8 +- xorp/rib/xrl_target.hh | 8 +- 9 files changed, 112 insertions(+), 112 deletions(-) diff --git a/xorp/policy/backend/policy_redist_map.hh b/xorp/policy/backend/policy_redist_map.hh index afc7f62..7bd876b 100644 --- a/xorp/policy/backend/policy_redist_map.hh +++ b/xorp/policy/backend/policy_redist_map.hh @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net diff --git a/xorp/policy/common/policy_utils.cc b/xorp/policy/common/policy_utils.cc index 2aa23ed..92d105f 100644 --- a/xorp/policy/common/policy_utils.cc +++ b/xorp/policy/common/policy_utils.cc @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -38,7 +38,7 @@ namespace policy_utils { -void +void str_to_list(const string& in, list<string>& out) { string::size_type pos1 = 0; // beginning of token @@ -58,7 +58,7 @@ str_to_list(const string& in, list<string>& out) out.push_back(token); return; } - + // grab token [delimiter found]. token = in.substr(pos1,pos2-pos1); out.push_back(token); @@ -66,7 +66,7 @@ str_to_list(const string& in, list<string>& out) } } -void +void str_to_set(const string& in, set<string>& out) { list<string> tmp; @@ -122,7 +122,7 @@ read_file(const string& fname, string& out) return; } -unsigned +unsigned count_nl(const char* x) { const char* end = &x[strlen(x)]; @@ -141,7 +141,7 @@ regex(const string& str, const string& reg) // compile the regex regex_t re; int res = regcomp(&re, reg.c_str(), REG_EXTENDED); - + if (res) { char tmp[128]; string err; diff --git a/xorp/policy/configuration.hh b/xorp/policy/configuration.hh index 1b046c6..3b5ffc3 100644 --- a/xorp/policy/configuration.hh +++ b/xorp/policy/configuration.hh @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -91,14 +91,14 @@ public: typedef map<string,Code*> CodeMap; typedef map<string,TagSet*> TagMap; - + /** * @short Exception thrown on configuration error */ class ConfError : public PolicyException { public: - ConfError(const char* file, size_t line, const string& init_why = "") - : PolicyException("ConfError", file, line, init_why) {} + ConfError(const char* file, size_t line, const string& init_why = "") + : PolicyException("ConfError", file, line, init_why) {} }; @@ -108,7 +108,7 @@ public: */ Configuration(ProcessWatchBase& pw); ~Configuration(); - + /** * Throws an exception on failure. * Checks for non-existant policy/term conditions. @@ -136,7 +136,7 @@ public: const uint32_t& block, const ConfigNodeId& order, const string& statement); - + /** * Append a term to a policy. * @@ -149,7 +149,7 @@ public: */ void create_term(const string& policy, const ConfigNodeId& order, const string& term); - + /** * Throws an exception on failure. * Checks if policy already exists. @@ -157,7 +157,7 @@ public: * @param policy policy which should be created. */ void create_policy(const string& policy); - + /** * Throws an exception on failure. * Checks if policy is in use [instantiated by an export/import directive.] @@ -182,7 +182,7 @@ public: * @param set name of the set to be updated. * @param elements comma separated elements to be replaced in set. */ - void update_set(const string& type, const string& set, + void update_set(const string& type, const string& set, const string& elements); /** @@ -203,7 +203,7 @@ public: * @param name name of the set. * @param element the element to add. */ - void add_to_set(const string& type, const string& name, + void add_to_set(const string& type, const string& name, const string& element); /** @@ -216,9 +216,9 @@ public: * @param name name of the set. * @param element the element to delete. */ - void delete_from_set(const string& type, const string& name, + void delete_from_set(const string& type, const string& name, const string& element); - + /** * Throws an exception on failure. * Checks if policies exist. @@ -243,7 +243,7 @@ public: * @return string representation of configuration */ string str(); - + /** * Commit all configuration changes. * This will compile all needed policies and link them. @@ -365,20 +365,20 @@ private: * @param target target for which code should be linked. */ void link_sourcematch_code(const Code::Target& target); - + /** * Update the policytags used by a protocol. * * @param protocol protocol for which to update policytags. */ void update_tagmap(const string& protocol); - + /** * Link code for updated targets. */ void link_code(); - void update_ie(const string& protocol, const POLICIES& policies, + void update_ie(const string& protocol, const POLICIES& policies, IEMap& iemap, PolicyList::PolicyType pt, const string& mod); void link_code(const Code::Target& target, IEMap& iemap, CodeMap& codemap); diff --git a/xorp/policy/policy_target.cc b/xorp/policy/policy_target.cc index b4baa11..f73863b 100644 --- a/xorp/policy/policy_target.cc +++ b/xorp/policy/policy_target.cc @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -30,7 +30,7 @@ string PolicyTarget::policy_target_name = "policy"; PolicyTarget::PolicyTarget(XrlStdRouter& rtr) : - _running(true), _commit_delay(2000), + _running(true), _commit_delay(2000), _process_watch(rtr, _pmap), _conf(_process_watch), _filter_manager(_conf.import_filters(), @@ -102,7 +102,7 @@ PolicyTarget::create_set(const string& name) } void -PolicyTarget::update_set(const string& type, const string& name, +PolicyTarget::update_set(const string& type, const string& name, const string& element) { _conf.update_set(type, name, element); @@ -115,14 +115,14 @@ PolicyTarget::delete_set(const string& name) } void -PolicyTarget::add_to_set(const string& type, const string& name, +PolicyTarget::add_to_set(const string& type, const string& name, const string& element) { _conf.add_to_set(type, name, element); } void -PolicyTarget::delete_from_set(const string& type, const string& name, +PolicyTarget::delete_from_set(const string& type, const string& name, const string& element) { _conf.delete_from_set(type, name, element); @@ -324,7 +324,7 @@ PolicyTarget::cli_command(const string& cmd) { string command; string arg; - + string::size_type i = cmd.find(' '); if (i == string::npos) command = cmd; diff --git a/xorp/policy/process_watch.cc b/xorp/policy/process_watch.cc index dedd489..8f4823a 100644 --- a/xorp/policy/process_watch.cc +++ b/xorp/policy/process_watch.cc @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -31,14 +31,14 @@ ProcessWatch::ProcessWatch(XrlStdRouter& rtr, ProtocolMap& pmap) : _pmap(pmap), - _finder(&rtr), + _finder(&rtr), _instance_name(rtr.instance_name()), _notifier(NULL), _finder_name("finder") // FIXME: hardcoded value { } -void +void ProcessWatch::register_cb(const XrlError& err) { string error_msg; @@ -50,8 +50,8 @@ ProcessWatch::register_cb(const XrlError& err) } } -void -ProcessWatch::add_interest(const string& proc) +void +ProcessWatch::add_interest(const string& proc) { // check if we already added interested, if so do nothing if (_watching.find(proc) != _watching.end()) @@ -68,8 +68,8 @@ ProcessWatch::add_interest(const string& proc) callback(this,&ProcessWatch::register_cb)); } -void -ProcessWatch::birth(const string& proto) +void +ProcessWatch::birth(const string& proto) { const string& p = _pmap.protocol(proto); _alive.insert(p); @@ -80,8 +80,8 @@ ProcessWatch::birth(const string& proto) } -void -ProcessWatch::death(const string& proto) +void +ProcessWatch::death(const string& proto) { const string& p = _pmap.protocol(proto); _alive.erase(p); @@ -90,8 +90,8 @@ ProcessWatch::death(const string& proto) _notifier->death(p); } -bool -ProcessWatch::alive(const string& proto) +bool +ProcessWatch::alive(const string& proto) { if (_watching.find(proto) == _watching.end()) xorp_throw(PWException, "Not watching protocol: " + proto); @@ -100,7 +100,7 @@ ProcessWatch::alive(const string& proto) } void -ProcessWatch::set_notifier(PWNotifier& notifier) +ProcessWatch::set_notifier(PWNotifier& notifier) { // old notifier is lost... it is a feature, not a bug. _notifier = ¬ifier; diff --git a/xorp/policy/xrl_target.cc b/xorp/policy/xrl_target.cc index 40902aa..18823db 100644 --- a/xorp/policy/xrl_target.cc +++ b/xorp/policy/xrl_target.cc @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -32,36 +32,36 @@ using namespace policy_utils; -XrlPolicyTarget::XrlPolicyTarget(XrlStdRouter* r, PolicyTarget& ptarget) : +XrlPolicyTarget::XrlPolicyTarget(XrlStdRouter* r, PolicyTarget& ptarget) : XrlPolicyTargetBase(r), _policy_target(ptarget) { } -XrlCmdError +XrlCmdError XrlPolicyTarget::common_0_1_get_target_name( // Output values, - string& name) + string& name) { name = PolicyTarget::policy_target_name; return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::common_0_1_get_version( // Output values, string& version) { version = "0.1"; return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::common_0_1_get_status( // Output values, uint32_t& status, - string& reason) + string& reason) { if(_policy_target.running()) { status = PROC_READY; @@ -73,9 +73,9 @@ XrlPolicyTarget::common_0_1_get_status( } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::common_0_1_shutdown() { _policy_target.shutdown(); @@ -83,7 +83,7 @@ XrlPolicyTarget::common_0_1_shutdown() } -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_create_term(const string& policy, const string& order, const string& term) @@ -106,9 +106,9 @@ XrlPolicyTarget::policy_0_1_create_term(const string& policy, return XrlCmdError::COMMAND_FAILED("create_term failed: " + e.str()); } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_delete_term(const string& policy, const string& term) { @@ -117,12 +117,12 @@ XrlPolicyTarget::policy_0_1_delete_term(const string& policy, } catch(const PolicyException& e) { return XrlCmdError::COMMAND_FAILED("delete_term failed: " + e.str()); } - + return XrlCmdError::OKAY(); -} - +} + -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_update_term_block(const string& policy, const string& term, const uint32_t& block, @@ -150,12 +150,12 @@ XrlPolicyTarget::policy_0_1_update_term_block(const string& policy, } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_create_policy(const string& policy) { - + try { _policy_target.create_policy(policy); } catch(const PolicyException& e) { @@ -163,9 +163,9 @@ XrlPolicyTarget::policy_0_1_create_policy(const string& policy) } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_delete_policy(const string& policy) { @@ -176,9 +176,9 @@ XrlPolicyTarget::policy_0_1_delete_policy(const string& policy) } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_create_set(const string& set) { @@ -189,9 +189,9 @@ XrlPolicyTarget::policy_0_1_create_set(const string& set) } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_update_set(const string& type, const string& set, const string& elements) @@ -203,9 +203,9 @@ XrlPolicyTarget::policy_0_1_update_set(const string& type, } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_delete_set(const string& set) { @@ -216,7 +216,7 @@ XrlPolicyTarget::policy_0_1_delete_set(const string& set) } return XrlCmdError::OKAY(); -} +} XrlCmdError XrlPolicyTarget::policy_0_1_add_to_set( @@ -250,7 +250,7 @@ XrlPolicyTarget::policy_0_1_delete_from_set( return XrlCmdError::OKAY(); } -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_done_global_policy_conf() { try { @@ -263,22 +263,22 @@ XrlPolicyTarget::policy_0_1_done_global_policy_conf() return XrlCmdError::OKAY(); } -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_import(const string& protocol, const string& policies, - const string& modifier) + const string& modifier) { try { _policy_target.update_import(protocol, policies, modifier); } catch (const PolicyException& e) { - return XrlCmdError::COMMAND_FAILED("Import of " + protocol + + return XrlCmdError::COMMAND_FAILED("Import of " + protocol + " failed: " + e.str()); } return XrlCmdError::OKAY(); -} - -XrlCmdError +} + +XrlCmdError XrlPolicyTarget::policy_0_1_export(const string& protocol, const string& policies, const string& modifier) @@ -286,7 +286,7 @@ XrlPolicyTarget::policy_0_1_export(const string& protocol, try { _policy_target.update_export(protocol, policies, modifier); } catch (const PolicyException& e) { - return XrlCmdError::COMMAND_FAILED("Export of " + protocol + + return XrlCmdError::COMMAND_FAILED("Export of " + protocol + " failed: " + e.str()); } @@ -303,7 +303,7 @@ XrlPolicyTarget::policy_0_1_add_varmap(const string& protocol, try { _policy_target.add_varmap(protocol, variable, type, access, id); } catch(const PolicyException& e) { - return XrlCmdError::COMMAND_FAILED("Adding varmap failed for protocol: " + return XrlCmdError::COMMAND_FAILED("Adding varmap failed for protocol: " + protocol + " var: " + variable + " :" + e.str()); } @@ -312,17 +312,17 @@ XrlPolicyTarget::policy_0_1_add_varmap(const string& protocol, } -XrlCmdError +XrlCmdError XrlPolicyTarget::policy_0_1_dump_state(const uint32_t& id, string& state) { try { state = _policy_target.dump_state(id); } catch(const PolicyException& e) { - return XrlCmdError::COMMAND_FAILED("Unable to dump state, id: " + return XrlCmdError::COMMAND_FAILED("Unable to dump state, id: " + to_str(id)); } return XrlCmdError::OKAY(); -} +} XrlCmdError XrlPolicyTarget::policy_0_1_set_proto_target(const string& protocol, @@ -333,7 +333,7 @@ XrlPolicyTarget::policy_0_1_set_proto_target(const string& protocol, } -XrlCmdError +XrlCmdError XrlPolicyTarget::finder_event_observer_0_1_xrl_target_birth( const string& target_class, const string& target_instance) @@ -341,15 +341,15 @@ XrlPolicyTarget::finder_event_observer_0_1_xrl_target_birth( try { _policy_target.birth(target_class,target_instance); } catch(const PolicyException& e) { - return XrlCmdError::COMMAND_FAILED("Birth announce of " + + return XrlCmdError::COMMAND_FAILED("Birth announce of " + target_class + " failed: " + e.str()); } return XrlCmdError::OKAY(); -} +} -XrlCmdError +XrlCmdError XrlPolicyTarget::finder_event_observer_0_1_xrl_target_death( const string& target_class, const string& target_instance) @@ -357,13 +357,13 @@ XrlPolicyTarget::finder_event_observer_0_1_xrl_target_death( try { _policy_target.death(target_class,target_instance); } catch(const PolicyException& e) { - return XrlCmdError::COMMAND_FAILED("Death announce of " + + return XrlCmdError::COMMAND_FAILED("Death announce of " + target_class + " failed: " + e.str()); } return XrlCmdError::OKAY(); -} +} XrlCmdError XrlPolicyTarget::cli_processor_0_1_process_command( diff --git a/xorp/rib/rib_manager.cc b/xorp/rib/rib_manager.cc index a8fc052..1fe8c0f 100644 --- a/xorp/rib/rib_manager.cc +++ b/xorp/rib/rib_manager.cc @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -164,7 +164,7 @@ RibManager::status_updater() return ret; } - + template <typename A> static int add_rib_vif(RIB<A>& rib, const string& vifname, const Vif& vif, string& err) @@ -225,7 +225,7 @@ RibManager::delete_vif(const string& vifname, string& err) ); } - + template <typename A> static int set_rib_vif_flags(RIB<A>& rib, const string& vifname, bool is_p2p, @@ -267,7 +267,7 @@ RibManager::set_vif_flags(const string& vifname, return XORP_OK; } - + template <typename A> int add_vif_address_to_ribs(RIB<A>& urib, @@ -330,7 +330,7 @@ RibManager::delete_vif_address(const string& vifn, return delete_vif_address_from_ribs(_urib4, _mrib4, vifn, addr, err); } - + void RibManager::make_errors_fatal() { @@ -484,7 +484,7 @@ redist_enable_xrl_output(EventLoop& eventloop, cookie) ); } else { - redist->set_output(new RedistXrlOutput<A>(redist, rtr, + redist->set_output(new RedistXrlOutput<A>(redist, rtr, profile, protocol, to_xrl_target, @@ -585,7 +585,7 @@ RibManager::push_routes() _urib4.push_routes(); _mrib4.push_routes(); #ifdef HAVE_IPV6 - _urib6.push_routes(); + _urib6.push_routes(); _mrib6.push_routes(); #endif } @@ -607,7 +607,7 @@ RibManager::insert_policy_redist_tags(const string& protocol, const PolicyTags& tags) { _policy_redist_map.insert(protocol, tags); -} +} void RibManager::reset_policy_redist_tags() diff --git a/xorp/rib/rib_manager.hh b/xorp/rib/rib_manager.hh index b5ec3de..c3bdcfe 100644 --- a/xorp/rib/rib_manager.hh +++ b/xorp/rib/rib_manager.hh @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -128,7 +128,7 @@ public: /** * Set the vif flags of a configured vif. - * + * * @param vifname the name of the vif. * @param is_pim_register true if the vif is a PIM Register interface. * @param is_p2p true if the vif is point-to-point interface. @@ -329,7 +329,7 @@ public: * @param protocol Destination protocol for redistribution. * @param tags Policy-tags of routes which need to be redistributed. */ - void insert_policy_redist_tags(const string& protocol, + void insert_policy_redist_tags(const string& protocol, const PolicyTags& tags); /** diff --git a/xorp/rib/xrl_target.hh b/xorp/rib/xrl_target.hh index 4e16872..ce39eae 100644 --- a/xorp/rib/xrl_target.hh +++ b/xorp/rib/xrl_target.hh @@ -8,13 +8,13 @@ // 1991 as published by the Free Software Foundation. Redistribution // and/or modification of this program under the terms of any other // version of the GNU General Public License is not permitted. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, // see the GNU General Public License, Version 2, a copy of which can be // found in the XORP LICENSE.gpl file. -// +// // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; // http://xorp.net @@ -594,7 +594,7 @@ protected: // Input values, const uint32_t& filter, const string& conf); - + /** * Reset a policy filter. * @@ -609,7 +609,7 @@ protected: */ XrlCmdError policy_backend_0_1_push_routes(); - + /** * Redistribute to a protocol based on policy-tags. * -- 1.7.5.4 _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
