Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Adam Osuchowski
Kea
Commits
64546f4f
Commit
64546f4f
authored
Dec 12, 2011
by
Tomek Mrugalski
🛰
Browse files
[992] Changes after review.
parent
d8cd199a
Changes
5
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
64546f4f
3XX. [func] tomek
dhcp4: Dummy DHCPv4 component implemented. Currently it does
nothing useful, except providing skeleton implementation that can
be expanded in the future.
(Trac #992, git TBD)
328. [func] jelte
b10-auth now passes IXFR requests on to b10-xfrout, and no longer
responds to them with NOTIMPL.
...
...
src/bin/dhcp4/dhcp4_srv.cc
View file @
64546f4f
...
...
@@ -34,7 +34,7 @@ Dhcpv4Srv::Dhcpv4Srv(uint16_t port) {
setServerID
();
shutdown
=
false
;
shutdown
_
=
false
;
}
Dhcpv4Srv
::~
Dhcpv4Srv
()
{
...
...
@@ -43,7 +43,7 @@ Dhcpv4Srv::~Dhcpv4Srv() {
bool
Dhcpv4Srv
::
run
()
{
while
(
!
shutdown
)
{
while
(
!
shutdown
_
)
{
boost
::
shared_ptr
<
Pkt4
>
query
;
// client's message
boost
::
shared_ptr
<
Pkt4
>
rsp
;
// server's response
...
...
@@ -127,28 +127,28 @@ Dhcpv4Srv::setServerID() {
}
boost
::
shared_ptr
<
Pkt4
>
Dhcpv4Srv
::
processDiscover
(
boost
::
shared_ptr
<
Pkt4
>
discover
)
{
Dhcpv4Srv
::
processDiscover
(
boost
::
shared_ptr
<
Pkt4
>
&
discover
)
{
/// TODO: Currently implemented echo mode. Implement this for real
return
(
discover
);
}
boost
::
shared_ptr
<
Pkt4
>
Dhcpv4Srv
::
processRequest
(
boost
::
shared_ptr
<
Pkt4
>
request
)
{
Dhcpv4Srv
::
processRequest
(
boost
::
shared_ptr
<
Pkt4
>
&
request
)
{
/// TODO: Currently implemented echo mode. Implement this for real
return
(
request
);
}
void
Dhcpv4Srv
::
processRelease
(
boost
::
shared_ptr
<
Pkt4
>
release
)
{
void
Dhcpv4Srv
::
processRelease
(
boost
::
shared_ptr
<
Pkt4
>
&
release
)
{
/// TODO: Implement this.
cout
<<
"Received RELEASE on "
<<
release
->
getIface
()
<<
" interface."
<<
endl
;
}
void
Dhcpv4Srv
::
processDecline
(
boost
::
shared_ptr
<
Pkt4
>
decline
)
{
void
Dhcpv4Srv
::
processDecline
(
boost
::
shared_ptr
<
Pkt4
>
&
decline
)
{
/// TODO: Implement this.
cout
<<
"Received DECLINE on "
<<
decline
->
getIface
()
<<
" interface."
<<
endl
;
}
boost
::
shared_ptr
<
Pkt4
>
Dhcpv4Srv
::
processInform
(
boost
::
shared_ptr
<
Pkt4
>
inform
)
{
boost
::
shared_ptr
<
Pkt4
>
Dhcpv4Srv
::
processInform
(
boost
::
shared_ptr
<
Pkt4
>
&
inform
)
{
/// TODO: Currently implemented echo mode. Implement this for real
return
(
inform
);
}
src/bin/dhcp4/dhcp4_srv.h
View file @
64546f4f
...
...
@@ -35,13 +35,17 @@ namespace dhcp {
/// appropriate responses.
class
Dhcpv4Srv
:
public
boost
::
noncopyable
{
public:
public:
/// @brief Default constructor.
///
/// Instantiates necessary services, required to run DHCPv6 server.
/// In particular, creates IfaceMgr that will be responsible for
/// network interaction. Will instantiate lease manager, and load
/// old or create new DUID.
/// old or create new DUID. It is possible to specify alternate
/// port on which DHCPv4 server will listen on. That is mostly useful
/// for testing purposes.
///
/// @param port specifies port number to listen on
Dhcpv4Srv
(
uint16_t
port
=
DHCP4_SERVER_PORT
);
/// @brief Destructor. Used during DHCPv6 service shutdown.
...
...
@@ -68,13 +72,13 @@ protected:
///
/// @return OFFER message or NULL
boost
::
shared_ptr
<
Pkt4
>
processDiscover
(
boost
::
shared_ptr
<
Pkt4
>
discover
);
processDiscover
(
boost
::
shared_ptr
<
Pkt4
>
&
discover
);
/// @brief Processes incoming REQUEST and returns REPLY response.
///
/// Processes incoming REQUEST message and verifies that its sender
/// should be served. In particular, verifies that requested lease
/// is valid, not expired, not reserved, not used by other client and
/// is valid, not expired, not reserved, not used by other client and
/// that requesting client is allowed to use it.
///
/// Returns ACK message, NACK message, or NULL
...
...
@@ -82,7 +86,7 @@ protected:
/// @param request a message received from client
///
/// @return ACK or NACK message
boost
::
shared_ptr
<
Pkt4
>
processRequest
(
boost
::
shared_ptr
<
Pkt4
>
request
);
boost
::
shared_ptr
<
Pkt4
>
processRequest
(
boost
::
shared_ptr
<
Pkt4
>
&
request
);
/// @brief Stub function that will handle incoming RELEASE messages.
///
...
...
@@ -90,17 +94,17 @@ protected:
/// this function does not return anything.
///
/// @param release message received from client
void
processRelease
(
boost
::
shared_ptr
<
Pkt4
>
release
);
void
processRelease
(
boost
::
shared_ptr
<
Pkt4
>
&
release
);
/// @brief Stub function that will handle incoming DHCPDECLINE messages.
///
/// @param decline message received from client
void
processDecline
(
boost
::
shared_ptr
<
Pkt4
>
decline
);
void
processDecline
(
boost
::
shared_ptr
<
Pkt4
>
&
decline
);
/// @brief Stub function that will handle incoming INFORM messages.
///
/// @param infRequest message received from client
boost
::
shared_ptr
<
Pkt4
>
processInform
(
boost
::
shared_ptr
<
Pkt4
>
inform
);
boost
::
shared_ptr
<
Pkt4
>
processInform
(
boost
::
shared_ptr
<
Pkt4
>
&
inform
);
/// @brief Returns server-intentifier option
///
...
...
@@ -124,7 +128,7 @@ protected:
/// indicates if shutdown is in progress. Setting it to true will
/// initiate server shutdown procedure.
volatile
bool
shutdown
;
volatile
bool
shutdown
_
;
};
};
// namespace isc::dhcp
...
...
src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
View file @
64546f4f
...
...
@@ -30,7 +30,7 @@ using namespace isc::dhcp;
namespace
{
class
NakedDhcpv4Srv
:
public
Dhcpv4Srv
{
// "naked"
Interface Manag
er, exposes internal fields
// "naked"
DHCPv4 serv
er, exposes internal fields
public:
NakedDhcpv4Srv
()
{
}
...
...
@@ -69,11 +69,7 @@ TEST_F(Dhcpv4SrvTest, basic) {
srv
=
new
Dhcpv4Srv
();
});
if
(
srv
)
{
ASSERT_NO_THROW
({
delete
srv
;
});
}
delete
srv
;
}
TEST_F
(
Dhcpv4SrvTest
,
processDiscover
)
{
...
...
@@ -91,7 +87,6 @@ TEST_F(Dhcpv4SrvTest, processDiscover) {
// TODO: Implement more reasonable tests before starting
// work on processSomething() method.
delete
srv
;
}
...
...
@@ -110,7 +105,6 @@ TEST_F(Dhcpv4SrvTest, processRequest) {
// TODO: Implement more reasonable tests before starting
// work on processSomething() method.
delete
srv
;
}
...
...
@@ -142,7 +136,6 @@ TEST_F(Dhcpv4SrvTest, processDecline) {
// TODO: Implement more reasonable tests before starting
// work on processSomething() method.
delete
srv
;
}
...
...
src/bin/dhcp4/tests/dhcp4_unittests.cc
View file @
64546f4f
...
...
@@ -24,5 +24,5 @@ main(int argc, char* argv[]) {
int
result
=
RUN_ALL_TESTS
();
return
result
;
return
(
result
)
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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