|
|
Base class for pushing and pulling interface configurations down to the particular platform.
IfConfig (EventLoop& eventloop, IfConfigUpdateReporterBase& ur,
IfConfigErrorReporterBase& er)
| IfConfig |
Constructor.
Parameters:
eventloop | the event loop. |
ur | update reporter that receives updates through when configurations are pushed down and when triggered spontaneously on the underlying platform. |
er | error reporter that errors are propagated through when configurations are pushed down. |
~IfConfig ()
| ~IfConfig |
[virtual]
Virtual destructor (in case this class is used as base class).
EventLoop& eventloop ()
| eventloop |
inline IfConfigErrorReporterBase& er ()
| er |
Get error reporter associated with IfConfig.
IfTree& live_config ()
| live_config |
void set_live_config (const IfTree& it)
| set_live_config |
const IfTree& pulled_config ()
| pulled_config |
int register_ifc_get (IfConfigGet *ifc_get)
| register_ifc_get |
int register_ifc_set (IfConfigSet *ifc_set)
| register_ifc_set |
int register_ifc_observer (IfConfigObserver *ifc_observer)
| register_ifc_observer |
IfConfigGet& ifc_get ()
| ifc_get |
IfConfigSet& ifc_set ()
| ifc_set |
IfConfigObserver& ifc_observer ()
| ifc_observer |
IfConfigGet& ifc_get_ioctl ()
| ifc_get_ioctl |
int set_dummy ()
| set_dummy |
Setup the unit to behave as dummy (for testing purpose).
Returns: XORP_OK on success, otherwise XORP_ERROR.
bool is_dummy ()
| is_dummy |
[const]
Test if running in dummy mode.
Returns: true if running in dummy mode, otherwise false.
int start ()
| start |
Start operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
int stop ()
| stop |
Stop operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
bool push_config (const IfTree& config)
| push_config |
Push IfTree structure down to platform. Errors are reported via the constructor supplied ErrorReporter instance.
Parameters:
config | the configuration to be pushed down. |
Returns: true on success, otherwise false.
const IfTree& pull_config ()
| pull_config |
Pull up current config from platform.
Returns: the platform IfTree.
void flush_config ()
| flush_config |
IfTreeInterface * get_if (IfTree& it, const string& ifname)
| get_if |
IfTreeVif * get_vif (IfTree& it, const string& ifname,
const string& vifname)
| get_vif |
const string& push_error ()
| push_error |
[const]
Get error message associated with push operation.
bool report_update (const IfTreeInterface& fi,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeInterface and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
bool report_update (const IfTreeInterface& fi, const IfTreeVif& fv,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeVif and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
bool report_update (const IfTreeInterface& fi,
const IfTreeVif& fv,
const IfTreeAddr4& fa,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeAddr4 and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
bool report_update (const IfTreeInterface& fi,
const IfTreeVif& fv,
const IfTreeAddr6& fa,
bool is_system_interfaces_reportee)
| report_update |
Check IfTreeAddr6 and report updates to IfConfigUpdateReporter.
Returns: true if there were updates to report, otherwise false.
void report_updates_completed (bool is_system_interfaces_reportee)
| report_updates_completed |
Report that updates were completed to IfConfigUpdateReporter.
void report_updates (const IfTree& it, bool is_system_interfaces_reportee)
| report_updates |
Check every item within IfTree and report updates to IfConfigUpdateReporter.
void map_ifindex (uint32_t if_index, const string& ifname)
| map_ifindex |
void unmap_ifindex (uint32_t if_index)
| unmap_ifindex |
const char* find_ifname (uint32_t if_index)
| find_ifname |
[const]
uint32_t find_ifindex (const string& ifname)
| find_ifindex |
[const]
const char* get_insert_ifname (uint32_t if_index)
| get_insert_ifname |
uint32_t get_insert_ifindex (const string& ifname)
| get_insert_ifindex |