|
xorp
|
FEA data plane manager base class. More...
#include <fea_data_plane_manager.hh>
Public Member Functions | |
| FeaDataPlaneManager (FeaNode &fea_node, const string &manager_name) | |
| Constructor. | |
| virtual | ~FeaDataPlaneManager () |
| Virtual destructor. | |
| const string & | manager_name () const |
| Get the data plane manager name. | |
| virtual int | start_manager (string &error_msg) |
| Start data plane manager operation. | |
| virtual int | stop_manager (string &error_msg) |
| Stop data plane manager operation. | |
| virtual int | load_plugins (string &error_msg)=0 |
| Load the plugins. | |
| virtual int | unload_plugins (string &error_msg) |
| Unload the plugins. | |
| virtual int | register_plugins (string &error_msg)=0 |
| Register the plugins. | |
| virtual int | unregister_plugins (string &error_msg) |
| Unregister the plugins. | |
| virtual int | start_plugins (string &error_msg) |
| Start plugins operation. | |
| virtual int | stop_plugins (string &error_msg) |
| Stop plugins operation. | |
| EventLoop & | eventloop () |
| Get the event loop this instance is added to. | |
| virtual bool | have_ipv4 () const |
| Return true if the underlying system supports IPv4. | |
| virtual bool | have_ipv6 () const |
| Return true if the underlying system supports IPv6. | |
| IfConfig & | ifconfig () |
| Get the IfConfig instance. | |
| FirewallManager & | firewall_manager () |
| Get the FirewallManager instance. | |
| FirewallGet * | firewall_get () |
| Get the FirewallGet plugin. | |
| FirewallSet * | firewall_set () |
| Get the FirewallSet plugin. | |
| FibConfig & | fibconfig () |
| Get the FibConfig instance. | |
| IoLinkManager & | io_link_manager () |
| Get the IoLinkManager instance. | |
| IoIpManager & | io_ip_manager () |
| Get the IoIpManager instance. | |
| IoTcpUdpManager & | io_tcpudp_manager () |
| Get the IoTcpUdpManager instance. | |
| IfConfigProperty * | ifconfig_property () |
| Get the IfConfigProperty plugin. | |
| IfConfigGet * | ifconfig_get () |
| Get the IfConfigGet plugin. | |
| IfConfigSet * | ifconfig_set () |
| Get the IfConfigSet plugin. | |
| IfConfigObserver * | ifconfig_observer () |
| Get the IfConfigObserver plugin. | |
| IfConfigVlanGet * | ifconfig_vlan_get () |
| Get the IfConfigVlanGet plugin. | |
| IfConfigVlanSet * | ifconfig_vlan_set () |
| Get the IfConfigVlanSet plugin. | |
| FibConfigForwarding * | fibconfig_forwarding () |
| Get the FibConfigForwarding plugin. | |
| FibConfigEntryGet * | fibconfig_entry_get () |
| Get the FibConfigEntryGet plugin. | |
| FibConfigEntrySet * | fibconfig_entry_set () |
| Get the FibConfigEntrySet plugin. | |
| FibConfigEntryObserver * | fibconfig_entry_observer () |
| Get the FibConfigEntryObserver plugin. | |
| FibConfigTableGet * | fibconfig_table_get () |
| Get the FibConfigTableGet plugin. | |
| FibConfigTableSet * | fibconfig_table_set () |
| Get the FibConfigTableSet plugin. | |
| FibConfigTableObserver * | fibconfig_table_observer () |
| Get the FibConfigTableObserver plugin. | |
| virtual IoLink * | allocate_io_link (const IfTree &iftree, const string &if_name, const string &vif_name, uint16_t ether_type, const string &filter_program)=0 |
| Allocate IoLink plugin instance. | |
| virtual void | deallocate_io_link (IoLink *io_link) |
| De-allocate IoLink plugin. | |
| virtual IoIp * | allocate_io_ip (const IfTree &iftree, int family, uint8_t ip_protocol)=0 |
| Allocate IoIp plugin instance. | |
| virtual void | deallocate_io_ip (IoIp *io_ip) |
| De-allocate IoIp plugin. | |
| virtual IoTcpUdp * | allocate_io_tcpudp (const IfTree &iftree, int family, bool is_tcp)=0 |
| Allocate IoTcpUdp plugin instance. | |
| virtual void | deallocate_io_tcpudp (IoTcpUdp *io_tcpudp) |
| De-allocate IoTcpUdp plugin. | |
Protected Member Functions | |
| int | register_all_plugins (bool is_exclusive, string &error_msg) |
| Register all plugins. | |
| int | stop_all_plugins (string &error_msg) |
| Stop all plugins operation. | |
Protected Attributes | |
| FeaNode & | _fea_node |
| IfConfigProperty * | _ifconfig_property |
| IfConfigGet * | _ifconfig_get |
| IfConfigSet * | _ifconfig_set |
| IfConfigObserver * | _ifconfig_observer |
| IfConfigVlanGet * | _ifconfig_vlan_get |
| IfConfigVlanSet * | _ifconfig_vlan_set |
| FirewallGet * | _firewall_get |
| FirewallSet * | _firewall_set |
| FibConfigForwarding * | _fibconfig_forwarding |
| FibConfigEntryGet * | _fibconfig_entry_get |
| FibConfigEntrySet * | _fibconfig_entry_set |
| FibConfigEntryObserver * | _fibconfig_entry_observer |
| FibConfigTableGet * | _fibconfig_table_get |
| FibConfigTableSet * | _fibconfig_table_set |
| FibConfigTableObserver * | _fibconfig_table_observer |
| list< IoLink * > | _io_link_list |
| list< IoIp * > | _io_ip_list |
| list< IoTcpUdp * > | _io_tcpudp_list |
| const string | _manager_name |
| bool | _is_loaded_plugins |
| bool | _is_running_manager |
| bool | _is_running_plugins |
FEA data plane manager base class.
| FeaDataPlaneManager::FeaDataPlaneManager | ( | FeaNode & | fea_node, |
| const string & | manager_name | ||
| ) |
| virtual IoIp* FeaDataPlaneManager::allocate_io_ip | ( | const IfTree & | iftree, |
| int | family, | ||
| uint8_t | ip_protocol | ||
| ) | [pure virtual] |
Allocate IoIp plugin instance.
| iftree | the interface tree to use. |
| family | the address family (AF_INET or AF_INET6 for IPv4 and IPv6 respectively). |
| ip_protocol | the IP protocol number (IPPROTO_*). |
Implemented in FeaDataPlaneManagerDummy, FeaDataPlaneManagerLinux, and FeaDataPlaneManagerWindows.
| virtual IoLink* FeaDataPlaneManager::allocate_io_link | ( | const IfTree & | iftree, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| uint16_t | ether_type, | ||
| const string & | filter_program | ||
| ) | [pure virtual] |
Allocate IoLink plugin instance.
| iftree | the interface tree to use. |
| if_name | the interface name. |
| vif_name | the vif name. |
| ether_type | the EtherType protocol number. If it is 0 then it is unused. |
| filter_program | the option filter program to be applied on the received packets. The program uses tcpdump(1) style expression. |
Implemented in FeaDataPlaneManagerDummy, FeaDataPlaneManagerLinux, and FeaDataPlaneManagerWindows.
| virtual IoTcpUdp* FeaDataPlaneManager::allocate_io_tcpudp | ( | const IfTree & | iftree, |
| int | family, | ||
| bool | is_tcp | ||
| ) | [pure virtual] |
Allocate IoTcpUdp plugin instance.
| iftree | the interface tree to use. |
| family | the address family (AF_INET or AF_INET6 for IPv4 and IPv6 respectively). |
| is_tcp | if true allocate a TCP entry, otherwise UDP. |
Implemented in FeaDataPlaneManagerDummy, FeaDataPlaneManagerLinux, and FeaDataPlaneManagerWindows.
| void FeaDataPlaneManager::deallocate_io_ip | ( | IoIp * | io_ip | ) | [virtual] |
| void FeaDataPlaneManager::deallocate_io_link | ( | IoLink * | io_link | ) | [virtual] |
| void FeaDataPlaneManager::deallocate_io_tcpudp | ( | IoTcpUdp * | io_tcpudp | ) | [virtual] |
| EventLoop & FeaDataPlaneManager::eventloop | ( | ) |
| FibConfig & FeaDataPlaneManager::fibconfig | ( | ) |
| FibConfigEntryGet* FeaDataPlaneManager::fibconfig_entry_get | ( | ) | [inline] |
Get the FibConfigEntryGet plugin.
| FibConfigEntryObserver* FeaDataPlaneManager::fibconfig_entry_observer | ( | ) | [inline] |
Get the FibConfigEntryObserver plugin.
| FibConfigEntrySet* FeaDataPlaneManager::fibconfig_entry_set | ( | ) | [inline] |
Get the FibConfigEntrySet plugin.
| FibConfigForwarding* FeaDataPlaneManager::fibconfig_forwarding | ( | ) | [inline] |
Get the FibConfigForwarding plugin.
| FibConfigTableGet* FeaDataPlaneManager::fibconfig_table_get | ( | ) | [inline] |
Get the FibConfigTableGet plugin.
| FibConfigTableObserver* FeaDataPlaneManager::fibconfig_table_observer | ( | ) | [inline] |
Get the FibConfigTableObserver plugin.
| FibConfigTableSet* FeaDataPlaneManager::fibconfig_table_set | ( | ) | [inline] |
Get the FibConfigTableSet plugin.
| FirewallGet* FeaDataPlaneManager::firewall_get | ( | ) | [inline] |
Get the FirewallGet plugin.
| FirewallManager & FeaDataPlaneManager::firewall_manager | ( | ) |
Get the FirewallManager instance.
| FirewallSet* FeaDataPlaneManager::firewall_set | ( | ) | [inline] |
Get the FirewallSet plugin.
| bool FeaDataPlaneManager::have_ipv4 | ( | ) | const [virtual] |
| bool FeaDataPlaneManager::have_ipv6 | ( | ) | const [virtual] |
| IfConfig & FeaDataPlaneManager::ifconfig | ( | ) |
| IfConfigGet* FeaDataPlaneManager::ifconfig_get | ( | ) | [inline] |
Get the IfConfigGet plugin.
| IfConfigObserver* FeaDataPlaneManager::ifconfig_observer | ( | ) | [inline] |
Get the IfConfigObserver plugin.
| IfConfigProperty* FeaDataPlaneManager::ifconfig_property | ( | ) | [inline] |
Get the IfConfigProperty plugin.
| IfConfigSet* FeaDataPlaneManager::ifconfig_set | ( | ) | [inline] |
Get the IfConfigSet plugin.
| IfConfigVlanGet* FeaDataPlaneManager::ifconfig_vlan_get | ( | ) | [inline] |
Get the IfConfigVlanGet plugin.
| IfConfigVlanSet* FeaDataPlaneManager::ifconfig_vlan_set | ( | ) | [inline] |
Get the IfConfigVlanSet plugin.
| IoIpManager & FeaDataPlaneManager::io_ip_manager | ( | ) |
Get the IoIpManager instance.
| IoLinkManager & FeaDataPlaneManager::io_link_manager | ( | ) |
Get the IoLinkManager instance.
| IoTcpUdpManager & FeaDataPlaneManager::io_tcpudp_manager | ( | ) |
Get the IoTcpUdpManager instance.
| virtual int FeaDataPlaneManager::load_plugins | ( | string & | error_msg | ) | [pure virtual] |
| error_msg | the error message (if error). |
Implemented in FeaDataPlaneManagerDummy, FeaDataPlaneManagerLinux, and FeaDataPlaneManagerWindows.
| const string& FeaDataPlaneManager::manager_name | ( | ) | const [inline] |
| int FeaDataPlaneManager::register_all_plugins | ( | bool | is_exclusive, |
| string & | error_msg | ||
| ) | [protected] |
| virtual int FeaDataPlaneManager::register_plugins | ( | string & | error_msg | ) | [pure virtual] |
Register the plugins.
Implemented in FeaDataPlaneManagerDummy, FeaDataPlaneManagerLinux, and FeaDataPlaneManagerWindows.
| int FeaDataPlaneManager::start_manager | ( | string & | error_msg | ) | [virtual] |
Start data plane manager operation.
| error_msg | the error message (if error). |
Reimplemented in FeaDataPlaneManagerWindows.
| int FeaDataPlaneManager::start_plugins | ( | string & | error_msg | ) | [virtual] |
Start plugins operation.
| error_msg | the error message (if error). |
| int FeaDataPlaneManager::stop_all_plugins | ( | string & | error_msg | ) | [protected] |
Stop all plugins operation.
| error_msg | the error message (if error). |
| int FeaDataPlaneManager::stop_manager | ( | string & | error_msg | ) | [virtual] |
Stop data plane manager operation.
| error_msg | the error message (if error). |
| int FeaDataPlaneManager::stop_plugins | ( | string & | error_msg | ) | [virtual] |
Stop plugins operation.
| error_msg | the error message (if error). |
| int FeaDataPlaneManager::unload_plugins | ( | string & | error_msg | ) | [virtual] |
Unload the plugins.
| error_msg | the error message (if error). |
Reimplemented in FeaDataPlaneManagerLinux.
| int FeaDataPlaneManager::unregister_plugins | ( | string & | error_msg | ) | [virtual] |