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
833f3485
Commit
833f3485
authored
Mar 13, 2015
by
Marcin Siodelski
Browse files
[3688] Address comments from the second code review.
parent
19fe872f
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/bin/dhcp4/dhcp4_srv.cc
View file @
833f3485
...
...
@@ -90,10 +90,14 @@ Dhcpv4Exchange::Dhcpv4Exchange(const AllocEnginePtr& alloc_engine,
:
alloc_engine_
(
alloc_engine
),
query_
(
query
),
resp_
(),
context_
(
new
AllocEngine
::
ClientContext4
())
{
if
(
!
alloc_engine_
||
!
query_
)
{
isc_throw
(
BadValue
,
"alloc_engine and query values must not"
" be NULL when creating an instance of the"
" Dhcpv4Exchange"
);
if
(
!
alloc_engine_
)
{
isc_throw
(
BadValue
,
"alloc_engine value must not be NULL"
" when creating an instance of the Dhcpv4Exchange"
);
}
if
(
!
query_
)
{
isc_throw
(
BadValue
,
"query value must not be NULL when"
" creating an instance of the Dhcpv4Exchange"
);
}
// Create response message.
...
...
@@ -125,6 +129,7 @@ Dhcpv4Exchange::initResponse() {
default:
;
}
// Only create a response if one is required.
if
(
resp_type
>
0
)
{
resp_
.
reset
(
new
Pkt4
(
resp_type
,
getQuery
()
->
getTransid
()));
copyDefaultFields
();
...
...
@@ -136,7 +141,8 @@ Dhcpv4Exchange::copyDefaultFields() {
resp_
->
setIface
(
query_
->
getIface
());
resp_
->
setIndex
(
query_
->
getIndex
());
resp_
->
setSiaddr
(
IOAddress
::
IPV4_ZERO_ADDRESS
());
// explicitly set this to 0
// explicitly set this to 0
resp_
->
setSiaddr
(
IOAddress
::
IPV4_ZERO_ADDRESS
());
// ciaddr is always 0, except for the Renew/Rebind state when it may
// be set to the ciaddr sent by the client.
resp_
->
setCiaddr
(
IOAddress
::
IPV4_ZERO_ADDRESS
());
...
...
@@ -652,11 +658,6 @@ Dhcpv4Srv::computeDhcid(const Lease4Ptr& lease) {
}
void
Dhcpv4Srv
::
appendDefaultOptions
(
Dhcpv4Exchange
&
ex
)
{
// no-op at this time
}
void
Dhcpv4Srv
::
appendServerID
(
Dhcpv4Exchange
&
ex
)
{
// The source address for the outbound message should have been set already.
...
...
@@ -664,8 +665,9 @@ Dhcpv4Srv::appendServerID(Dhcpv4Exchange& ex) {
// available from the client.
/// @todo: perhaps we should consider some more sophisticated server id
/// generation, but for the current use cases, it should be ok.
ex
.
getResponse
()
->
addOption
(
OptionPtr
(
new
Option4AddrLst
(
DHO_DHCP_SERVER_IDENTIFIER
,
ex
.
getResponse
()
->
getLocalAddr
())));
OptionPtr
opt_srvid
(
new
Option4AddrLst
(
DHO_DHCP_SERVER_IDENTIFIER
,
ex
.
getResponse
()
->
getLocalAddr
()));
ex
.
getResponse
()
->
addOption
(
opt_srvid
);
}
void
...
...
@@ -1460,8 +1462,6 @@ Dhcpv4Srv::processDiscover(Pkt4Ptr& discover) {
Dhcpv4Exchange
ex
(
alloc_engine_
,
discover
,
selectSubnet
(
discover
));
appendDefaultOptions
(
ex
);
// If DHCPDISCOVER message contains the FQDN or Hostname option, server
// may respond to the client with the appropriate FQDN or Hostname
// option to indicate that whether it will take responsibility for
...
...
@@ -1513,8 +1513,6 @@ Dhcpv4Srv::processRequest(Pkt4Ptr& request) {
Dhcpv4Exchange
ex
(
alloc_engine_
,
request
,
selectSubnet
(
request
));
appendDefaultOptions
(
ex
);
// If DHCPREQUEST message contains the FQDN or Hostname option, server
// should respond to the client with the appropriate FQDN or Hostname
// option to indicate if it takes responsibility for the DNS updates.
...
...
src/bin/dhcp4/dhcp4_srv.h
View file @
833f3485
...
...
@@ -579,14 +579,6 @@ protected:
/// @param reply server's response (ACK or NAK)
void
renewLease
(
const
Pkt4Ptr
&
renew
,
Pkt4Ptr
&
reply
);
/// @brief Appends default options to a message.
///
/// This method is currently no-op.
///
/// @param ex The exchange holding both the client's message and the
/// server's response.
void
appendDefaultOptions
(
Dhcpv4Exchange
&
ex
);
/// @brief Adds server identifier option to the server's response.
///
/// This method adds a server identifier to the DHCPv4 message. It expects
...
...
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