|
|
Base class for pushing and pulling interface configurations down to the particular system.
IfConfig (FeaNode& fea_node)
| IfConfig |
Constructor.
Parameters:
fea_node | the FEA node. |
~IfConfig ()
| ~IfConfig |
[virtual]
Virtual destructor (in case this class is used as a base class).
EventLoop& eventloop ()
| eventloop |
Get a reference to the EventLoop instance.
Returns: a reference to the EventLoop instance.
ProcessStatus status (string& reason)
| status |
[const]
Get the status code.
Parameters:
reason | the human-readable reason for any failure. |
Returns: the status code.
int start_transaction (uint32_t& tid, string& error_msg)
| start_transaction |
Start interface-related transaction.
Parameters:
tid | the return-by-reference new transaction ID. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int commit_transaction (uint32_t tid, string& error_msg)
| commit_transaction |
Commit interface-related transaction.
Parameters:
tid | the transaction ID. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int abort_transaction (uint32_t tid, string& error_msg)
| abort_transaction |
Abort interface-related transaction.
Parameters:
tid | the transaction ID. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int add_transaction_operation (uint32_t tid,
const TransactionManager::Operation& op,
string& error_msg)
| add_transaction_operation |
Add operation to interface-related transaction.
Parameters:
tid | the transaction ID. |
op | the operation to add. |
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
NexthopPortMapper& nexthop_port_mapper ()
| nexthop_port_mapper |
Get a reference to the NexthopPortMapper instance.
Returns: a reference to the NexthopPortMapper instance.
IfConfigUpdateReplicator& ifconfig_update_replicator ()
| ifconfig_update_replicator |
Get the IfConfigUpdateReplicator instance.
Returns: a reference to the IfConfigUpdateReplicator instance (IfConfigUpdateReplicator).
IfConfigErrorReporterBase& ifconfig_error_reporter ()
| ifconfig_error_reporter |
Get the error reporter associated with IfConfig.
Returns: the error reporter associated with IfConfig.
IfTree& system_config ()
| system_config |
Get a reference to the system interface configuration.
Returns: a reference to the system interface configuration.
void set_system_config (const IfTree& iftree)
| set_system_config |
Set the system interface configuration.
Parameters:
iftree | the system interface configuration. |
IfTree& user_config ()
| user_config |
Get a reference to the user interface configuration.
Returns: a reference to the user interface configuration.
void set_user_config (const IfTree& iftree)
| set_user_config |
Set the user interface configuration.
Parameters:
iftree | the user interface configuration. |
IfTree& merged_config ()
| merged_config |
Get a reference to the merged system-user configuration.
Returns: a reference to the merged system-user configuration.
void set_merged_config (const IfTree& iftree)
| set_merged_config |
Set the merged system-user configuration.
Parameters:
iftree | the merged system-user configuration. |
const IfTree& original_config ()
| original_config |
Get a reference to the original interface configuration on startup.
Returns: a reference to the original interface configuration on startup.
bool restore_original_config_on_shutdown ()
| restore_original_config_on_shutdown |
[const]
Test whether the original configuration should be restored on shutdown.
Returns: true of the original configuration should be restored on shutdown, otherwise false.
void set_restore_original_config_on_shutdown (bool v)
| set_restore_original_config_on_shutdown |
Set the flag whether the original configuration should be restored on shutdown.
Parameters:
v | if true the original configuration should be restored on shutdown. |
int register_ifconfig_property (IfConfigProperty* ifconfig_property,
bool is_exclusive)
| register_ifconfig_property |
Register IfConfigProperty plugin.
Parameters:
ifconfig_property | the plugin to register. |
is_exclusive | if true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unregister_ifconfig_property (IfConfigProperty* ifconfig_property)
| unregister_ifconfig_property |
Unregister IfConfigProperty plugin.
Parameters:
ifconfig_property | the plugin to unregister. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int register_ifconfig_get (IfConfigGet* ifconfig_get, bool is_exclusive)
| register_ifconfig_get |
Register IfConfigGet plugin.
Parameters:
ifconfig_get | the plugin to register. |
is_exclusive | if true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unregister_ifconfig_get (IfConfigGet* ifconfig_get)
| unregister_ifconfig_get |
Unregister IfConfigGet plugin.
Parameters:
ifconfig_get | the plugin to unregister. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int register_ifconfig_set (IfConfigSet* ifconfig_set, bool is_exclusive)
| register_ifconfig_set |
Register IfConfigSet plugin.
Parameters:
ifconfig_set | the plugin to register. |
is_exclusive | if true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unregister_ifconfig_set (IfConfigSet* ifconfig_set)
| unregister_ifconfig_set |
Unregister IfConfigSet plugin.
Parameters:
ifconfig_set | the plugin to unregister. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int register_ifconfig_observer (IfConfigObserver* ifconfig_observer,
bool is_exclusive)
| register_ifconfig_observer |
Register IfConfigObserver plugin.
Parameters:
ifconfig_observer | the plugin to register. |
is_exclusive | if true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unregister_ifconfig_observer (IfConfigObserver* ifconfig_observer)
| unregister_ifconfig_observer |
Unregister IfConfigObserver plugin.
Parameters:
ifconfig_observer | the plugin to unregister. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int register_ifconfig_vlan_get (IfConfigVlanGet* ifconfig_vlan_get,
bool is_exclusive)
| register_ifconfig_vlan_get |
Register IfConfigVlanGet plugin.
Parameters:
ifconfig_vlan_get | the plugin to register. |
is_exclusive | if true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unregister_ifconfig_vlan_get (IfConfigVlanGet* ifconfig_vlan_get)
| unregister_ifconfig_vlan_get |
Unregister IfConfigVlanGet plugin.
Parameters:
ifconfig_vlan_get | the plugin to unregister. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int register_ifconfig_vlan_set (IfConfigVlanSet* ifconfig_vlan_set,
bool is_exclusive)
| register_ifconfig_vlan_set |
Register IfConfigVlanSet plugin.
Parameters:
ifconfig_vlan_set | the plugin to register. |
is_exclusive | if true, the plugin is registered as the exclusive plugin, otherwise is added to the list of plugins. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int unregister_ifconfig_vlan_set (IfConfigVlanSet* ifconfig_vlan_set)
| unregister_ifconfig_vlan_set |
Unregister IfConfigVlanSet plugin.
Parameters:
ifconfig_vlan_set | the plugin to unregister. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int start (string& error_msg)
| start |
Start operation.
Parameters:
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int stop (string& error_msg)
| stop |
Stop operation.
Parameters:
error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int push_config (IfTree& iftree)
| push_config |
Push interface configuration down to the system.
Errors are reported via the ifconfig_error_reporter() instance. Note that on return some of the interface configuration state may be modified.
Parameters:
iftree | the interface configuration to be pushed down. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
const string& push_error ()
| push_error |
[const]
Get the error message associated with a push operation.
Returns: the error message associated with a push operation.
const IfTree& pull_config ()
| pull_config |
Pull up current interface configuration from the system.
Returns: the current interface configuration from the system.
bool report_update (const IfTreeInterface& fi)
| report_update |
Check IfTreeInterface and report updates to IfConfigUpdateReporter.
Parameters:
fi | the IfTreeInterface interface instance to check. |
Returns: true if there were updates to report, otherwise false.
bool report_update (const IfTreeInterface& fi, const IfTreeVif& fv)
| report_update |
Check IfTreeVif and report updates to IfConfigUpdateReporter.
Parameters:
fi | the IfTreeInterface interface instance to check. |
fv | the IfTreeVif vif instance to check. |
Returns: true if there were updates to report, otherwise false.
bool report_update (const IfTreeInterface& fi,
const IfTreeVif& fv,
const IfTreeAddr4& fa)
| report_update |
Check IfTreeAddr4 and report updates to IfConfigUpdateReporter.
Parameters:
fi | the IfTreeInterface interface instance to check. |
fv | the IfTreeVif vif instance to check. |
fa | the IfTreeAddr4 address instance to check. |
Returns: true if there were updates to report, otherwise false.
bool report_update (const IfTreeInterface& fi,
const IfTreeVif& fv,
const IfTreeAddr6& fa)
| report_update |
Check IfTreeAddr6 and report updates to IfConfigUpdateReporter.
Parameters:
fi | the IfTreeInterface interface instance to check. |
fv | the IfTreeVif vif instance to check. |
fa | the IfTreeAddr6 address instance to check. |
Returns: true if there were updates to report, otherwise false.
void report_updates_completed ()
| report_updates_completed |
Report that updates were completed to IfConfigUpdateReporter.
void report_updates (IfTree& iftree)
| report_updates |
Check every item within IfTree and report updates to IfConfigUpdateReporter.
Parameters:
iftree | the interface tree instance to check. |