xorp

FeaNode Class Reference

The FEA (Forwarding Engine Abstraction) node class. More...

#include <fea_node.hh>

List of all members.

Public Member Functions

 FeaNode (EventLoop &eventloop, FeaIo &fea_io, bool is_dummy)
 Constructor for a given event loop.
virtual ~FeaNode ()
 Destructor.
int startup ()
 Startup the service operation.
int shutdown ()
 Shutdown the service operation.
bool is_running () const
 Test whether the service is running.
bool have_ipv4 () const
 Return true if the underlying system supports IPv4.
bool have_ipv6 () const
 Return true if the underlying system supports IPv6.
bool is_dummy () const
 Test if running in dummy mode.
EventLoopeventloop ()
 Get the event loop this service is added to.
Profileprofile ()
 Get the Profile instance.
NexthopPortMappernexthop_port_mapper ()
 Get the NexthopPortMapper instance.
IfConfigifconfig ()
 Get the IfConfig instance.
FirewallManagerfirewall_manager ()
 Get the FirewallManager instance.
FibConfigfibconfig ()
 Get the FibConfig instance.
IoLinkManagerio_link_manager ()
 Get the IoLinkManager instance.
IoIpManagerio_ip_manager ()
 Get the IoIpManager instance.
IoTcpUdpManagerio_tcpudp_manager ()
 Get the IoTcpUdpManager instance.
int register_data_plane_manager (FeaDataPlaneManager *fea_data_plane_manager, bool is_exclusive)
 Register FeaDataPlaneManager data plane manager.
int unregister_data_plane_manager (FeaDataPlaneManager *fea_data_plane_manager)
 Unregister FeaDataPlaneManager data plane manager.
FeaIofea_io ()
 Get the FEA I/O instance.

Private Member Functions

int load_data_plane_managers (string &error_msg)
 Load the data plane managers.
int unload_data_plane_managers (string &error_msg)
 Unload the data plane managers.

Private Attributes

EventLoop_eventloop
bool _is_running
bool _is_dummy
Profile _profile
NexthopPortMapper _nexthop_port_mapper
IfConfig _ifconfig
FirewallManager _firewall_manager
FibConfig _fibconfig
IoLinkManager _io_link_manager
IoIpManager _io_ip_manager
IoTcpUdpManager _io_tcpudp_manager
list< FeaDataPlaneManager * > _fea_data_plane_managers
FeaIo_fea_io

Detailed Description

The FEA (Forwarding Engine Abstraction) node class.

There should be one node per FEA instance.


Constructor & Destructor Documentation

FeaNode::FeaNode ( EventLoop eventloop,
FeaIo fea_io,
bool  is_dummy 
)

Constructor for a given event loop.

Parameters:
eventloopthe event loop to use.
fea_iothe FeaIo instance to use.
is_dummyif true, then run the FEA in dummy mode.

Member Function Documentation

EventLoop& FeaNode::eventloop ( ) [inline]

Get the event loop this service is added to.

Returns:
the event loop this service is added to.
FeaIo& FeaNode::fea_io ( ) [inline]

Get the FEA I/O instance.

Returns:
reference to the FEA I/O instance.
FibConfig& FeaNode::fibconfig ( ) [inline]

Get the FibConfig instance.

Returns:
a reference to the FibConfig instance.
See also:
FibConfig.
FirewallManager& FeaNode::firewall_manager ( ) [inline]

Get the FirewallManager instance.

Returns:
a reference to the FirewallManager instance.
See also:
FirewallManager.
bool FeaNode::have_ipv4 ( ) const

Return true if the underlying system supports IPv4.

Returns:
true if the underlying system supports IPv4, otherwise false.
bool FeaNode::have_ipv6 ( ) const

Return true if the underlying system supports IPv6.

Returns:
true if the underlying system supports IPv6, otherwise false.
IfConfig& FeaNode::ifconfig ( ) [inline]

Get the IfConfig instance.

Returns:
a reference to the IfConfig instance.
See also:
IfConfig.
IoIpManager& FeaNode::io_ip_manager ( ) [inline]

Get the IoIpManager instance.

Returns:
a reference to the IoIpManager instance.
See also:
IoIpManager.
IoLinkManager& FeaNode::io_link_manager ( ) [inline]

Get the IoLinkManager instance.

Returns:
a reference to the IoLinkManager instance.
See also:
IoLinkManager.
IoTcpUdpManager& FeaNode::io_tcpudp_manager ( ) [inline]

Get the IoTcpUdpManager instance.

Returns:
a reference to the IoTcpUdpManager instance.
See also:
IoTcpUdpManager.
bool FeaNode::is_dummy ( ) const [inline]

Test if running in dummy mode.

Returns:
true if running in dummy mode, otherwise false.
bool FeaNode::is_running ( ) const

Test whether the service is running.

Returns:
true if the service is still running, otherwise false.
int FeaNode::load_data_plane_managers ( string &  error_msg) [private]

Load the data plane managers.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
NexthopPortMapper& FeaNode::nexthop_port_mapper ( ) [inline]

Get the NexthopPortMapper instance.

Returns:
a reference to the NexthopPortMapper instance.
See also:
NexthopPortMapper.
Profile& FeaNode::profile ( ) [inline]

Get the Profile instance.

Returns:
a reference to the Profile instance.
See also:
Profile.
int FeaNode::register_data_plane_manager ( FeaDataPlaneManager fea_data_plane_manager,
bool  is_exclusive 
)

Register FeaDataPlaneManager data plane manager.

Parameters:
fea_data_plane_managerthe data plane manager to register.
is_exclusiveif true, the manager is registered as the exclusive manager, otherwise is added to the list of managers.
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FeaNode::shutdown ( )

Shutdown the service operation.

Gracefully shutdown the FEA.

Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FeaNode::startup ( )

Startup the service operation.

Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FeaNode::unload_data_plane_managers ( string &  error_msg) [private]

Unload the data plane managers.

Parameters:
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.
int FeaNode::unregister_data_plane_manager ( FeaDataPlaneManager fea_data_plane_manager)

Unregister FeaDataPlaneManager data plane manager.

Parameters:
fea_data_plane_managerthe data plane manager to unregister.
Returns:
XORP_OK on success, otherwise XORP_ERROR.

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