Kea  1.5.0
isc::netconf Namespace Reference

Classes

class  CfgControlSocket
 Represents a Control Socket. More...
 
class  CfgServer
 Represents a Managed CfgServer. More...
 
class  ControlSocketBase
 Base class for control socket communication. More...
 
class  ControlSocketConfigParser
 Parser for CfgControlSocket. More...
 
class  ControlSocketError
 Exception thrown when the error during communication. More...
 
class  HttpControlSocket
 Class for control socket communication over HTTP socket. More...
 
class  NetconfAgent
 Netconf agent. More...
 
class  NetconfCfgMgr
 Ctrl Netconf Configuration Manager. More...
 
class  NetconfConfig
 Netconf Configuration Context. More...
 
class  NetconfController
 Process Controller for Netconf Process. More...
 
class  NetconfParser
 A Bison parser. More...
 
class  NetconfProcess
 Kea Netconf Application Process. More...
 
class  NetconfSimpleParser
 
class  ParserContext
 Parser context is a wrapper around flex/bison instances dedicated to Netconf-agent config file parser. More...
 
class  ServerConfigParser
 Parser for CfgServer. More...
 
class  slice
 Present a slice of the top of a stack. More...
 
class  stack
 A stack with random access from its top. More...
 
class  StdoutControlSocket
 Class for control socket communication over stdout. More...
 
class  UnixControlSocket
 Class for control socket communication over UNIX socket. More...
 
struct  variant
 A char[S] buffer to store and retrieve objects. More...
 

Typedefs

typedef boost::shared_ptr< CfgControlSocketCfgControlSocketPtr
 Defines a pointer for CfgControlSocket instances. More...
 
typedef boost::shared_ptr< CfgServerCfgServerPtr
 Defines a pointer for CfgServer instances. More...
 
typedef std::map< std::string, CfgServerPtrCfgServersMap
 Defines a map of CfgServers, keyed by the name. More...
 
typedef std::pair< std::string, CfgServerPtrCfgServersMapPair
 Defines a iterator pairing of name and CfgServer. More...
 
typedef boost::shared_ptr< CfgServersMapCfgServersMapPtr
 Defines a pointer to map of CfgServers. More...
 
typedef boost::shared_ptr< ControlSocketBaseControlSocketBasePtr
 Type definition for the pointer to the ControlSocketBase. More...
 
typedef boost::shared_ptr< HttpControlSocketHttpControlSocketPtr
 Type definition for the pointer to the HttpControlSocket. More...
 
typedef boost::shared_ptr< NetconfAgentNetconfAgentPtr
 Type definition for the pointer to the NetconfAgent. More...
 
typedef boost::shared_ptr< NetconfCfgMgrNetconfCfgMgrPtr
 Defines a shared pointer to NetconfCfgMgr. More...
 
typedef boost::shared_ptr< NetconfConfigNetconfConfigPtr
 Pointer to a configuration context. More...
 
typedef boost::shared_ptr< NetconfControllerNetconfControllerPtr
 
typedef boost::shared_ptr< NetconfProcessNetconfProcessPtr
 Defines a shared pointer to NetconfProcess. More...
 
typedef boost::shared_ptr< StdoutControlSocketStdoutControlSocketPtr
 Type definition for the pointer to the StdoutControlSocket. More...
 
typedef boost::shared_ptr< UnixControlSocketUnixControlSocketPtr
 Type definition for the pointer to the UnixControlSocket. More...
 

Functions

ControlSocketBasePtr createControlSocket (CfgControlSocketPtr ctrl_sock)
 Factory template for control sockets. More...
 
template<>
ControlSocketBasePtr createControlSocket< CfgControlSocket::Type::HTTP > (CfgControlSocketPtr ctrl_sock)
 Factory template specialization for http control sockets. More...
 
template<>
ControlSocketBasePtr createControlSocket< CfgControlSocket::Type::STDOUT > (CfgControlSocketPtr ctrl_sock)
 Factory template specialization for stdout control sockets. More...
 
template<>
ControlSocketBasePtr createControlSocket< CfgControlSocket::Type::UNIX > (CfgControlSocketPtr ctrl_sock)
 Factory template specialization for unix control sockets. More...
 
ostream & operator<< (std::ostream &os, const CfgServer &server)
 Dumps the contents of a CfgServer as text to a output stream. More...
 

Variables

isc::log::Logger netconf_logger (NETCONF_LOGGER_NAME)
 Base logger for the netconf agent. More...
 
const char * NETCONF_LOGGER_NAME = "netconf"
 Defines the name of the root level (default) logger. More...
 

Typedef Documentation

◆ CfgControlSocketPtr

Defines a pointer for CfgControlSocket instances.

Definition at line 144 of file netconf_config.h.

◆ CfgServerPtr

typedef boost::shared_ptr<CfgServer> isc::netconf::CfgServerPtr

Defines a pointer for CfgServer instances.

Definition at line 252 of file netconf_config.h.

◆ CfgServersMap

typedef std::map<std::string, CfgServerPtr> isc::netconf::CfgServersMap

Defines a map of CfgServers, keyed by the name.

Definition at line 255 of file netconf_config.h.

◆ CfgServersMapPair

typedef std::pair<std::string, CfgServerPtr> isc::netconf::CfgServersMapPair

Defines a iterator pairing of name and CfgServer.

Definition at line 258 of file netconf_config.h.

◆ CfgServersMapPtr

typedef boost::shared_ptr<CfgServersMap> isc::netconf::CfgServersMapPtr

Defines a pointer to map of CfgServers.

Definition at line 261 of file netconf_config.h.

◆ ControlSocketBasePtr

Type definition for the pointer to the ControlSocketBase.

Definition at line 107 of file control_socket.h.

◆ HttpControlSocketPtr

Type definition for the pointer to the HttpControlSocket.

Definition at line 77 of file http_control_socket.h.

◆ NetconfAgentPtr

typedef boost::shared_ptr<NetconfAgent> isc::netconf::NetconfAgentPtr

Type definition for the pointer to the NetconfAgent.

Definition at line 35 of file netconf.h.

◆ NetconfCfgMgrPtr

typedef boost::shared_ptr<NetconfCfgMgr> isc::netconf::NetconfCfgMgrPtr

Defines a shared pointer to NetconfCfgMgr.

Definition at line 174 of file netconf_cfg_mgr.h.

◆ NetconfConfigPtr

typedef boost::shared_ptr<NetconfConfig> isc::netconf::NetconfConfigPtr

Pointer to a configuration context.

Definition at line 23 of file netconf_cfg_mgr.h.

◆ NetconfControllerPtr

Definition at line 80 of file netconf_controller.h.

◆ NetconfProcessPtr

typedef boost::shared_ptr<NetconfProcess> isc::netconf::NetconfProcessPtr

Defines a shared pointer to NetconfProcess.

Definition at line 103 of file netconf_process.h.

◆ StdoutControlSocketPtr

Type definition for the pointer to the StdoutControlSocket.

Definition at line 78 of file stdout_control_socket.h.

◆ UnixControlSocketPtr

Type definition for the pointer to the UnixControlSocket.

Definition at line 77 of file unix_control_socket.h.

Function Documentation

◆ createControlSocket()

ControlSocketBasePtr isc::netconf::createControlSocket ( CfgControlSocketPtr  ctrl_sock)

Factory template for control sockets.

Factory function for control sockets.

Template Parameters
TYPEThe control socket type.
Parameters
ctrl_sockThe control socket configuration.
Returns
A pointer to a control socket communication object.
Exceptions
NotImplementedif no specialization was called.
Parameters
ctrl_sockThe control socket configuration.
Returns
A pointer to a control socket communication object.
Exceptions
BadValueif called with null or an unknown type.

Definition at line 23 of file control_socket.cc.

References isc_throw.

Referenced by isc::netconf::NetconfAgent::keaConfig(), isc::netconf::NetconfAgent::update(), isc::netconf::NetconfAgent::validate(), and isc::netconf::NetconfAgent::yangConfig().

◆ createControlSocket< CfgControlSocket::Type::HTTP >()

template<>
ControlSocketBasePtr isc::netconf::createControlSocket< CfgControlSocket::Type::HTTP > ( CfgControlSocketPtr  ctrl_sock)

Factory template specialization for http control sockets.

Parameters
ctrl_sockThe control socket configuration.
Returns
A pointer to a http control socket communication object.

Definition at line 28 of file http_control_socket.cc.

◆ createControlSocket< CfgControlSocket::Type::STDOUT >()

template<>
ControlSocketBasePtr isc::netconf::createControlSocket< CfgControlSocket::Type::STDOUT > ( CfgControlSocketPtr  ctrl_sock)

Factory template specialization for stdout control sockets.

Parameters
ctrl_sockThe control socket configuration.
Returns
A pointer to a stdout control socket communication object.

Definition at line 22 of file stdout_control_socket.cc.

◆ createControlSocket< CfgControlSocket::Type::UNIX >()

template<>
ControlSocketBasePtr isc::netconf::createControlSocket< CfgControlSocket::Type::UNIX > ( CfgControlSocketPtr  ctrl_sock)

Factory template specialization for unix control sockets.

Parameters
ctrl_sockThe control socket configuration.
Returns
A pointer to a unix control socket communication object.

Definition at line 28 of file unix_control_socket.cc.

◆ operator<<()

std::ostream & isc::netconf::operator<< ( std::ostream &  os,
const CfgServer server 
)

Dumps the contents of a CfgServer as text to a output stream.

Parameters
osThe output stream to which text should be sent.
serverThe CfgServer instance to dump.

Definition at line 131 of file netconf_config.cc.

References isc::netconf::CfgServer::toText().

+ Here is the call graph for this function:

Variable Documentation

◆ NETCONF_DBG_RESULTS

const int isc::netconf::NETCONF_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA

Records the results of the commands.

Using the example of tracing commands to a server, this will just record the summary results.

Definition at line 35 of file netconf_log.h.

◆ NETCONF_DBG_TRACE

const int isc::netconf::NETCONF_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC

Netconf agent logging levels.

Defines the levels used to output debug messages in the Netconf agent. Note that higher numbers equate to more verbose (and detailed) output.

Traces normal operations.

E.g. sending a command to a server etc.

Definition at line 29 of file netconf_log.h.

◆ NETCONF_DBG_TRACE_DETAIL_DATA

const int isc::netconf::NETCONF_DBG_TRACE_DETAIL_DATA
Initial value:

Additional information.

Record detailed tracing. This is generally reserved for tracing configurations from or to a server.

Definition at line 41 of file netconf_log.h.

Referenced by isc::netconf::NetconfAgent::keaConfig(), isc::netconf::NetconfAgent::logChanges(), isc::netconf::NetconfAgent::update(), isc::netconf::NetconfAgent::validate(), and isc::netconf::NetconfAgent::yangConfig().

◆ netconf_logger

◆ NETCONF_LOGGER_NAME

const char * isc::netconf::NETCONF_LOGGER_NAME = "netconf"

Defines the name of the root level (default) logger.

Definition at line 22 of file netconf_log.cc.

isc::log::DBGLVL_TRACE_DETAIL_DATA
const int DBGLVL_TRACE_DETAIL_DATA
Trace data associated with detailed operations.
Definition: log_dbglevels.h:74