xorp

FeaDataPlaneManagerLinux Class Reference

FEA data plane manager class for Linux. More...

#include <fea_data_plane_manager_linux.hh>

Inheritance diagram for FeaDataPlaneManagerLinux:
FeaDataPlaneManager

List of all members.

Public Member Functions

 FeaDataPlaneManagerLinux (FeaNode &fea_node)
 Constructor.
virtual ~FeaDataPlaneManagerLinux ()
 Virtual destructor.
int load_plugins (string &error_msg)
 Load the plugins.
int unload_plugins (string &error_msg)
 Unload the plugins.
int register_plugins (string &error_msg)
 Register the plugins.
IoLinkallocate_io_link (const IfTree &iftree, const string &if_name, const string &vif_name, uint16_t ether_type, const string &filter_program)
 Allocate IoLink plugin instance.
IoIpallocate_io_ip (const IfTree &iftree, int family, uint8_t ip_protocol)
 Allocate IoIp plugin instance.
IoTcpUdpallocate_io_tcpudp (const IfTree &iftree, int family, bool is_tcp)
 Allocate IoTcpUdp plugin instance.

Private Attributes

IfConfigGetIoctl * _ifconfig_get_ioctl

Detailed Description

FEA data plane manager class for Linux.


Constructor & Destructor Documentation

FeaDataPlaneManagerLinux::FeaDataPlaneManagerLinux ( FeaNode fea_node)

Constructor.

Parameters:
fea_nodethe FeaNode this manager belongs to.

Member Function Documentation

IoIp * FeaDataPlaneManagerLinux::allocate_io_ip ( const IfTree iftree,
int  family,
uint8_t  ip_protocol 
) [virtual]

Allocate IoIp plugin instance.

Parameters:
iftreethe interface tree to use.
familythe address family (AF_INET or AF_INET6 for IPv4 and IPv6 respectively).
ip_protocolthe IP protocol number (IPPROTO_*).
Returns:
a new instance of IoIp plugin on success, otherwise NULL.

Implements FeaDataPlaneManager.

IoLink * FeaDataPlaneManagerLinux::allocate_io_link ( const IfTree iftree,
const string &  if_name,
const string &  vif_name,
uint16_t  ether_type,
const string &  filter_program 
) [virtual]

Allocate IoLink plugin instance.

Parameters:
iftreethe interface tree to use.
if_namethe interface name.
vif_namethe vif name.
ether_typethe EtherType protocol number. If it is 0 then it is unused.
filter_programthe option filter program to be applied on the received packets. The program uses tcpdump(1) style expression.
Returns:
a new instance of IoLink plugin on success, otherwise NULL.

Implements FeaDataPlaneManager.

IoTcpUdp * FeaDataPlaneManagerLinux::allocate_io_tcpudp ( const IfTree iftree,
int  family,
bool  is_tcp 
) [virtual]

Allocate IoTcpUdp plugin instance.

Parameters:
iftreethe interface tree to use.
familythe address family (AF_INET or AF_INET6 for IPv4 and IPv6 respectively).
is_tcpif true allocate a TCP entry, otherwise UDP.
Returns:
a new instance of IoTcpUdp plugin on success, otherwise NULL.

Implements FeaDataPlaneManager.

int FeaDataPlaneManagerLinux::load_plugins ( string &  error_msg) [virtual]

Load the plugins.

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

Implements FeaDataPlaneManager.

int FeaDataPlaneManagerLinux::register_plugins ( string &  error_msg) [virtual]

Register the plugins.

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

Implements FeaDataPlaneManager.

int FeaDataPlaneManagerLinux::unload_plugins ( string &  error_msg) [virtual]

Unload the plugins.

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

Reimplemented from FeaDataPlaneManager.


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