OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ServicesModule Class Reference

#include <services_init.h>

Collaboration diagram for ServicesModule:

Public Types

enum  ServiceList { ArpService, DhcpService, Dhcpv6Service, DnsService }
 

Public Member Functions

 ServicesModule (Agent *agent, const std::string &metadata_secret)
 
 ~ServicesModule ()
 
Agentagent ()
 
MetadataProxymetadataproxy ()
 
void Init (bool run_with_vrouter)
 
void ConfigInit ()
 
void Shutdown ()
 
void IoShutdown ()
 
IcmpErrorProtoicmp_error_proto () const
 
ArpProtoarp_proto () const
 
void ReserveLocalPorts ()
 
void FreeLocalPortBindings ()
 

Private Member Functions

bool AllocateFd (uint16_t port_number, uint8_t ip_proto)
 

Private Attributes

Agentagent_
 
std::string metadata_secret_key_
 
boost::scoped_ptr< DhcpProtodhcp_proto_
 
boost::scoped_ptr< Dhcpv6Protodhcpv6_proto_
 
boost::scoped_ptr< DnsProtodns_proto_
 
boost::scoped_ptr< ArpProtoarp_proto_
 
boost::scoped_ptr< BfdProtobfd_proto_
 
boost::scoped_ptr< IcmpProtoicmp_proto_
 
boost::scoped_ptr< Icmpv6Protoicmpv6_proto_
 
boost::scoped_ptr< IcmpErrorProtoicmp_error_proto_
 
boost::scoped_ptr
< Icmpv6ErrorProto
icmpv6_error_proto_
 
boost::scoped_ptr< IgmpProtoigmp_proto_
 
boost::scoped_ptr< MetadataProxymetadata_proxy_
 
std::vector< int > reserved_port_fd_list_
 

Detailed Description

Definition at line 20 of file services_init.h.

Member Enumeration Documentation

Enumerator
ArpService 
DhcpService 
Dhcpv6Service 
DnsService 

Definition at line 22 of file services_init.h.

Constructor & Destructor Documentation

ServicesModule::ServicesModule ( Agent agent,
const std::string &  metadata_secret 
)

Definition at line 32 of file services_init.cc.

ServicesModule::~ServicesModule ( )

Definition at line 38 of file services_init.cc.

Member Function Documentation

Agent* ServicesModule::agent ( )
inline

Definition at line 31 of file services_init.h.

bool ServicesModule::AllocateFd ( uint16_t  port_number,
uint8_t  ip_proto 
)
private

Definition at line 122 of file services_init.cc.

ArpProto* ServicesModule::arp_proto ( ) const
inline

Definition at line 42 of file services_init.h.

void ServicesModule::ConfigInit ( )

Definition at line 76 of file services_init.cc.

void ServicesModule::FreeLocalPortBindings ( )

Definition at line 161 of file services_init.cc.

IcmpErrorProto* ServicesModule::icmp_error_proto ( ) const
inline

Definition at line 38 of file services_init.h.

void ServicesModule::Init ( bool  run_with_vrouter)

Definition at line 41 of file services_init.cc.

Here is the call graph for this function:

void ServicesModule::IoShutdown ( )

Definition at line 80 of file services_init.cc.

MetadataProxy* ServicesModule::metadataproxy ( )
inline

Definition at line 32 of file services_init.h.

void ServicesModule::ReserveLocalPorts ( )

Definition at line 152 of file services_init.cc.

Here is the call graph for this function:

void ServicesModule::Shutdown ( )

Definition at line 85 of file services_init.cc.

Here is the call graph for this function:

Member Data Documentation

Agent* ServicesModule::agent_
private

Definition at line 50 of file services_init.h.

boost::scoped_ptr<ArpProto> ServicesModule::arp_proto_
private

Definition at line 55 of file services_init.h.

boost::scoped_ptr<BfdProto> ServicesModule::bfd_proto_
private

Definition at line 56 of file services_init.h.

boost::scoped_ptr<DhcpProto> ServicesModule::dhcp_proto_
private

Definition at line 52 of file services_init.h.

boost::scoped_ptr<Dhcpv6Proto> ServicesModule::dhcpv6_proto_
private

Definition at line 53 of file services_init.h.

boost::scoped_ptr<DnsProto> ServicesModule::dns_proto_
private

Definition at line 54 of file services_init.h.

boost::scoped_ptr<IcmpErrorProto> ServicesModule::icmp_error_proto_
private

Definition at line 59 of file services_init.h.

boost::scoped_ptr<IcmpProto> ServicesModule::icmp_proto_
private

Definition at line 57 of file services_init.h.

boost::scoped_ptr<Icmpv6ErrorProto> ServicesModule::icmpv6_error_proto_
private

Definition at line 60 of file services_init.h.

boost::scoped_ptr<Icmpv6Proto> ServicesModule::icmpv6_proto_
private

Definition at line 58 of file services_init.h.

boost::scoped_ptr<IgmpProto> ServicesModule::igmp_proto_
private

Definition at line 61 of file services_init.h.

boost::scoped_ptr<MetadataProxy> ServicesModule::metadata_proxy_
private

Definition at line 62 of file services_init.h.

std::string ServicesModule::metadata_secret_key_
private

Definition at line 51 of file services_init.h.

std::vector<int> ServicesModule::reserved_port_fd_list_
private

Definition at line 63 of file services_init.h.


The documentation for this class was generated from the following files: