Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sebastian Schrader
Kea
Commits
4126296c
Commit
4126296c
authored
Mar 09, 2017
by
Tomek Mrugalski
🛰
Browse files
[experiments/get-config] Experimental implementation
parent
bdf3bae8
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/bin/dhcp4/ctrl_dhcp4_srv.cc
View file @
4126296c
...
...
@@ -66,6 +66,14 @@ ControlledDhcpv4Srv::commandConfigReloadHandler(const string&,
return
(
commandSetConfigHandler
(
"set-config"
,
args
));
}
ConstElementPtr
ControlledDhcpv4Srv
::
commandGetConfigHandler
(
const
string
&
,
ConstElementPtr
/*args*/
)
{
ConstElementPtr
config
=
CfgMgr
::
instance
().
getCurrentCfg
()
->
toElement
();
return
(
createAnswer
(
0
,
config
));
}
ConstElementPtr
ControlledDhcpv4Srv
::
commandSetConfigHandler
(
const
string
&
,
ConstElementPtr
args
)
{
...
...
@@ -181,6 +189,9 @@ ControlledDhcpv4Srv::processCommand(const string& command,
}
else
if
(
command
==
"set-config"
)
{
return
(
srv
->
commandSetConfigHandler
(
command
,
args
));
}
else
if
(
command
==
"get-config"
)
{
return
(
srv
->
commandGetConfigHandler
(
command
,
args
));
}
else
if
(
command
==
"leases-reclaim"
)
{
return
(
srv
->
commandLeasesReclaimHandler
(
command
,
args
));
}
...
...
@@ -323,6 +334,9 @@ ControlledDhcpv4Srv::ControlledDhcpv4Srv(uint16_t port /*= DHCP4_SERVER_PORT*/)
CommandMgr
::
instance
().
registerCommand
(
"set-config"
,
boost
::
bind
(
&
ControlledDhcpv4Srv
::
commandSetConfigHandler
,
this
,
_1
,
_2
));
CommandMgr
::
instance
().
registerCommand
(
"get-config"
,
boost
::
bind
(
&
ControlledDhcpv4Srv
::
commandGetConfigHandler
,
this
,
_1
,
_2
));
CommandMgr
::
instance
().
registerCommand
(
"leases-reclaim"
,
boost
::
bind
(
&
ControlledDhcpv4Srv
::
commandLeasesReclaimHandler
,
this
,
_1
,
_2
));
...
...
@@ -364,6 +378,7 @@ ControlledDhcpv4Srv::~ControlledDhcpv4Srv() {
CommandMgr
::
instance
().
closeCommandSocket
();
// Deregister any registered commands
CommandMgr
::
instance
().
deregisterCommand
(
"get-config"
);
CommandMgr
::
instance
().
deregisterCommand
(
"shutdown"
);
CommandMgr
::
instance
().
deregisterCommand
(
"libreload"
);
CommandMgr
::
instance
().
deregisterCommand
(
"set-config"
);
...
...
src/bin/dhcp4/ctrl_dhcp4_srv.h
View file @
4126296c
...
...
@@ -144,6 +144,10 @@ private:
commandConfigReloadHandler
(
const
std
::
string
&
command
,
isc
::
data
::
ConstElementPtr
args
);
isc
::
data
::
ConstElementPtr
commandGetConfigHandler
(
const
std
::
string
&
command
,
isc
::
data
::
ConstElementPtr
args
);
/// @brief handler for processing 'set-config' command
///
/// This handler processes set-config command, which processes
...
...
src/bin/dhcp6/ctrl_dhcp6_srv.cc
View file @
4126296c
...
...
@@ -71,6 +71,14 @@ ControlledDhcpv6Srv::commandConfigReloadHandler(const string&, ConstElementPtr a
return
(
commandSetConfigHandler
(
"set-config"
,
args
));
}
ConstElementPtr
ControlledDhcpv6Srv
::
commandGetConfigHandler
(
const
string
&
,
ConstElementPtr
/*args*/
)
{
ConstElementPtr
config
=
CfgMgr
::
instance
().
getCurrentCfg
()
->
toElement
();
return
(
createAnswer
(
0
,
config
));
}
ConstElementPtr
ControlledDhcpv6Srv
::
commandSetConfigHandler
(
const
string
&
,
ConstElementPtr
args
)
{
...
...
@@ -189,6 +197,9 @@ ControlledDhcpv6Srv::processCommand(const std::string& command,
}
else
if
(
command
==
"set-config"
)
{
return
(
srv
->
commandSetConfigHandler
(
command
,
args
));
}
else
if
(
command
==
"get-config"
)
{
return
(
srv
->
commandGetConfigHandler
(
command
,
args
));
}
else
if
(
command
==
"leases-reclaim"
)
{
return
(
srv
->
commandLeasesReclaimHandler
(
command
,
args
));
}
...
...
@@ -352,6 +363,9 @@ ControlledDhcpv6Srv::ControlledDhcpv6Srv(uint16_t port)
CommandMgr
::
instance
().
registerCommand
(
"set-config"
,
boost
::
bind
(
&
ControlledDhcpv6Srv
::
commandSetConfigHandler
,
this
,
_1
,
_2
));
CommandMgr
::
instance
().
registerCommand
(
"get-config"
,
boost
::
bind
(
&
ControlledDhcpv6Srv
::
commandGetConfigHandler
,
this
,
_1
,
_2
));
CommandMgr
::
instance
().
registerCommand
(
"leases-reclaim"
,
boost
::
bind
(
&
ControlledDhcpv6Srv
::
commandLeasesReclaimHandler
,
this
,
_1
,
_2
));
...
...
@@ -393,6 +407,7 @@ ControlledDhcpv6Srv::~ControlledDhcpv6Srv() {
CommandMgr
::
instance
().
closeCommandSocket
();
// Deregister any registered commands
CommandMgr
::
instance
().
deregisterCommand
(
"get-config"
);
CommandMgr
::
instance
().
deregisterCommand
(
"shutdown"
);
CommandMgr
::
instance
().
deregisterCommand
(
"libreload"
);
CommandMgr
::
instance
().
deregisterCommand
(
"set-config"
);
...
...
src/bin/dhcp6/ctrl_dhcp6_srv.h
View file @
4126296c
...
...
@@ -144,6 +144,10 @@ private:
commandConfigReloadHandler
(
const
std
::
string
&
command
,
isc
::
data
::
ConstElementPtr
args
);
isc
::
data
::
ConstElementPtr
commandGetConfigHandler
(
const
std
::
string
&
command
,
isc
::
data
::
ConstElementPtr
args
);
/// @brief handler for processing 'set-config' command
///
/// This handler processes set-config command, which processes
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment