xorp

IfConfigSet Class Reference

Inheritance diagram for IfConfigSet:
IfConfigSetDummy IfConfigSetIPHelper

List of all members.

Public Member Functions

 IfConfigSet (FeaDataPlaneManager &fea_data_plane_manager)
 Constructor.
virtual ~IfConfigSet ()
 Virtual destructor.
IfConfigifconfig ()
 Get the IfConfig instance.
FeaDataPlaneManagerfea_data_plane_manager ()
 Get the FeaDataPlaneManager instance.
virtual bool is_running () const
 Test whether this instance is running.
virtual int start (string &error_msg)=0
 Start operation.
virtual int stop (string &error_msg)=0
 Stop operation.
virtual int push_config (const IfTree &iftree)
 Push the network interface configuration into the underlying system.

Protected Member Functions

virtual bool is_discard_emulated (const IfTreeInterface &i) const =0
 Determine if the interface's underlying provider implements discard semantics natively, or if they are emulated through other means.
virtual bool is_unreachable_emulated (const IfTreeInterface &i) const =0
 Determine if the interface's underlying provider implements unreachable semantics natively, or if they are emulated through other means.
virtual int config_begin (string &error_msg)=0
 Start the configuration.
virtual int config_end (string &error_msg)=0
 Complete the configuration.
virtual int config_interface_begin (const IfTreeInterface *pulled_ifp, IfTreeInterface &config_iface, string &error_msg)=0
 Begin the interface configuration.
virtual int config_interface_end (const IfTreeInterface *pulled_ifp, const IfTreeInterface &config_iface, string &error_msg)=0
 End the interface configuration.
virtual int config_vif_begin (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeInterface &config_iface, const IfTreeVif &config_vif, string &error_msg)=0
 Begin the vif configuration.
virtual int config_vif_end (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeInterface &config_iface, const IfTreeVif &config_vif, string &error_msg)=0
 End the vif configuration.
virtual int config_add_address (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeAddr4 *pulled_addrp, const IfTreeInterface &config_iface, const IfTreeVif &config_vif, const IfTreeAddr4 &config_addr, string &error_msg)=0
 Add IPv4 address information.
virtual int config_delete_address (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeAddr4 *pulled_addrp, const IfTreeInterface &config_iface, const IfTreeVif &config_vif, const IfTreeAddr4 &config_addr, string &error_msg)=0
 Delete IPv4 address information.
virtual int config_add_address (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeAddr6 *pulled_addrp, const IfTreeInterface &config_iface, const IfTreeVif &config_vif, const IfTreeAddr6 &config_addr, string &error_msg)=0
 Add IPv6 address information.
virtual int config_delete_address (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeAddr6 *pulled_addrp, const IfTreeInterface &config_iface, const IfTreeVif &config_vif, const IfTreeAddr6 &config_addr, string &error_msg)=0
 Delete IPv6 address information.

Protected Attributes

bool _is_running

Private Member Functions

void push_iftree_begin (const IfTree &iftree)
void push_iftree_end (const IfTree &iftree)
void push_interface_begin (const IfTreeInterface *pulled_ifp, IfTreeInterface &config_iface)
void push_interface_end (const IfTreeInterface *pulled_ifp, IfTreeInterface &config_iface)
void push_if_creation (const IfTreeInterface *system_ifp, IfTreeInterface &config_iface)
void push_vif_begin (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, IfTreeInterface &config_iface, IfTreeVif &config_vif)
void push_vif_end (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, IfTreeInterface &config_iface, IfTreeVif &config_vif)
void push_vif_address (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeAddr4 *pulled_addrp, IfTreeInterface &config_iface, IfTreeVif &config_vif, IfTreeAddr4 &config_addr)
void push_vif_address (const IfTreeInterface *pulled_ifp, const IfTreeVif *pulled_vifp, const IfTreeAddr6 *pulled_addrp, IfTreeInterface &config_iface, IfTreeVif &config_vif, IfTreeAddr6 &config_addr)

Private Attributes

IfConfig_ifconfig
FeaDataPlaneManager_fea_data_plane_manager

Constructor & Destructor Documentation

IfConfigSet::IfConfigSet ( FeaDataPlaneManager fea_data_plane_manager) [inline]

Constructor.

Parameters:
fea_data_plane_managerthe corresponding data plane manager (FeaDataPlaneManager).

Member Function Documentation

virtual int IfConfigSet::config_add_address ( const IfTreeInterface pulled_ifp,
const IfTreeVif pulled_vifp,
const IfTreeAddr4 pulled_addrp,
const IfTreeInterface config_iface,
const IfTreeVif config_vif,
const IfTreeAddr4 config_addr,
string &  error_msg 
) [protected, pure virtual]

Add IPv4 address information.

If an entry for the same address already exists, is is overwritten with the new information.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
pulled_vifppointer to the vif information pulled from the system.
pulled_addrppointer to the address information pulled from the system.
config_ifacereference to the interface with the information to configure.
config_vifreference to the vif with the information to configure.
config_addrreference to the address with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_add_address ( const IfTreeInterface pulled_ifp,
const IfTreeVif pulled_vifp,
const IfTreeAddr6 pulled_addrp,
const IfTreeInterface config_iface,
const IfTreeVif config_vif,
const IfTreeAddr6 config_addr,
string &  error_msg 
) [protected, pure virtual]

Add IPv6 address information.

If an entry for the same address already exists, is is overwritten with the new information.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
pulled_vifppointer to the vif information pulled from the system.
pulled_addrppointer to the address information pulled from the system.
config_ifacereference to the interface with the information to configure.
config_vifreference to the vif with the information to configure.
config_addrreference to the address with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_begin ( string &  error_msg) [protected, pure virtual]

Start the configuration.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_delete_address ( const IfTreeInterface pulled_ifp,
const IfTreeVif pulled_vifp,
const IfTreeAddr4 pulled_addrp,
const IfTreeInterface config_iface,
const IfTreeVif config_vif,
const IfTreeAddr4 config_addr,
string &  error_msg 
) [protected, pure virtual]

Delete IPv4 address information.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
pulled_vifppointer to the vif information pulled from the system.
pulled_addrppointer to the address information pulled from the system.
config_ifacereference to the interface with the information to configure.
config_vifreference to the vif with the information to configure.
config_addrreference to the address with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_delete_address ( const IfTreeInterface pulled_ifp,
const IfTreeVif pulled_vifp,
const IfTreeAddr6 pulled_addrp,
const IfTreeInterface config_iface,
const IfTreeVif config_vif,
const IfTreeAddr6 config_addr,
string &  error_msg 
) [protected, pure virtual]

Delete IPv6 address information.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
pulled_vifppointer to the vif information pulled from the system.
pulled_addrppointer to the address information pulled from the system.
config_ifacereference to the interface with the information to configure.
config_vifreference to the vif with the information to configure.
config_addrreference to the address with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_end ( string &  error_msg) [protected, pure virtual]

Complete the configuration.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_interface_begin ( const IfTreeInterface pulled_ifp,
IfTreeInterface config_iface,
string &  error_msg 
) [protected, pure virtual]

Begin the interface configuration.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
config_ifacereference to the interface with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_interface_end ( const IfTreeInterface pulled_ifp,
const IfTreeInterface config_iface,
string &  error_msg 
) [protected, pure virtual]

End the interface configuration.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
config_ifacereference to the interface with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_vif_begin ( const IfTreeInterface pulled_ifp,
const IfTreeVif pulled_vifp,
const IfTreeInterface config_iface,
const IfTreeVif config_vif,
string &  error_msg 
) [protected, pure virtual]

Begin the vif configuration.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
pulled_vifppointer to the vif information pulled from the system.
config_ifacereference to the interface with the information to configure.
config_vifreference to the vif with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::config_vif_end ( const IfTreeInterface pulled_ifp,
const IfTreeVif pulled_vifp,
const IfTreeInterface config_iface,
const IfTreeVif config_vif,
string &  error_msg 
) [protected, pure virtual]

End the vif configuration.

Parameters:
pulled_ifppointer to the interface information pulled from the system.
pulled_vifppointer to the vif information pulled from the system.
config_ifacereference to the interface with the information to configure.
config_vifreference to the vif with the information to configure.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

FeaDataPlaneManager& IfConfigSet::fea_data_plane_manager ( ) [inline]

Get the FeaDataPlaneManager instance.

Returns:
the FeaDataPlaneManager instance.
IfConfig& IfConfigSet::ifconfig ( ) [inline]

Get the IfConfig instance.

Returns:
the IfConfig instance.
virtual bool IfConfigSet::is_discard_emulated ( const IfTreeInterface i) const [protected, pure virtual]

Determine if the interface's underlying provider implements discard semantics natively, or if they are emulated through other means.

Parameters:
ithe interface item to inspect.
Returns:
true if discard semantics are emulated.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual bool IfConfigSet::is_running ( ) const [inline, virtual]

Test whether this instance is running.

Returns:
true if the instance is running, otherwise false.
virtual bool IfConfigSet::is_unreachable_emulated ( const IfTreeInterface i) const [protected, pure virtual]

Determine if the interface's underlying provider implements unreachable semantics natively, or if they are emulated through other means.

Parameters:
ithe interface item to inspect.
Returns:
true if unreachable semantics are emulated.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

int IfConfigSet::push_config ( const IfTree iftree) [virtual]

Push the network interface configuration into the underlying system.

Note that on return some of the interface tree configuration state may be modified.

Parameters:
iftreethe interface tree configuration to push.
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Reimplemented in IfConfigSetDummy.

virtual int IfConfigSet::start ( string &  error_msg) [pure virtual]

Start operation.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.

virtual int IfConfigSet::stop ( string &  error_msg) [pure virtual]

Stop operation.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

Implemented in IfConfigSetDummy, and IfConfigSetIPHelper.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations