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
Adam Osuchowski
Kea
Commits
1a7e6f8b
Commit
1a7e6f8b
authored
Sep 26, 2012
by
Marcin Siodelski
Browse files
[2187] Log exceptions from IfaceMgr::send and IfaceMgr::receiveX.
parent
79848f3d
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/bin/dhcp4/dhcp4_messages.mes
View file @
1a7e6f8b
...
...
@@ -42,12 +42,21 @@ server is about to open sockets on the specified port.
The IPv4 DHCP server has received a packet that it is unable to
interpret. The reason why the packet is invalid is included in the message.
% DHCP4_PACKET_RECEIVE_FAIL error on attempt to receive packet: %1
The IPv4 DHCP server tried to receive a packet but unexpected error
occured during this attempt. The reason for the error is included in
the message.
% DHCP4_PACKET_RECEIVED %1 (type %2) packet received on interface %3
A debug message noting that the server has received the specified type of
packet on the specified interface. Note that a packet marked as UNKNOWN
may well be a valid DHCP packet, just a type not expected by the server
(e.g. it will report a received OFFER packet as UNKNOWN).
% DHCPV4_PACKET_SEND_FAIL failed to send DHCPv4 packet: %1
This error is output if IPv6 DHCP server fails to send assembled DHCP
message to a client. The reason for the error is included in the message.
% DHCP4_PACK_FAIL failed to assemble response correctly
This error is output if the server failed to assemble the data to be
returned to the client into a valid packet. The cause is most likely
...
...
src/bin/dhcp4/dhcp4_srv.cc
View file @
1a7e6f8b
...
...
@@ -73,9 +73,15 @@ Dhcpv4Srv::run() {
int
timeout
=
1000
;
// client's message and server's response
Pkt4Ptr
query
=
IfaceMgr
::
instance
().
receive4
(
timeout
)
;
Pkt4Ptr
query
;
Pkt4Ptr
rsp
;
try
{
query
=
IfaceMgr
::
instance
().
receive4
(
timeout
);
}
catch
(
const
std
::
exception
&
e
)
{
LOG_ERROR
(
dhcp4_logger
,
DHCP4_PACKET_RECEIVE_FAIL
).
arg
(
e
.
what
());
}
if
(
query
)
{
try
{
query
->
unpack
();
...
...
@@ -141,7 +147,11 @@ Dhcpv4Srv::run() {
.
arg
(
rsp
->
getType
()).
arg
(
rsp
->
toText
());
if
(
rsp
->
pack
())
{
IfaceMgr
::
instance
().
send
(
rsp
);
try
{
IfaceMgr
::
instance
().
send
(
rsp
);
}
catch
(
const
std
::
exception
&
ex
)
{
LOG_ERROR
(
dhcp4_logger
,
DHCP4_PACKET_SEND_FAIL
).
arg
(
ex
.
what
());
}
}
else
{
LOG_ERROR
(
dhcp4_logger
,
DHCP4_PACK_FAIL
);
}
...
...
src/bin/dhcp6/dhcp6_messages.mes
View file @
1a7e6f8b
...
...
@@ -45,12 +45,21 @@ server is about to open sockets on the specified port.
% DHCP6_PACKET_PARSE_FAIL failed to parse incoming packet
The IPv6 DHCP server has received a packet that it is unable to interpret.
% DHCP6_PACKET_RECEIVE_FAIL error on attempt to receive packet: %1
The IPv6 DHCP server tried to receive a packet but unexpected error
occured during this attempt. The reason for the error is included in
the message.
% DHCP6_PACKET_RECEIVED %1 (type %2) packet received
A debug message noting that the server has received the specified type
of packet. Note that a packet marked as UNKNOWN may well be a valid
DHCP packet, just a type not expected by the server (e.g. it will report
a received OFFER packet as UNKNOWN).
% DHCPV6_PACKET_SEND_FAIL failed to send DHCPv6 packet: %1
This error is output if IPv6 DHCP server fails to send assembled DHCP
message to a client. The reason fo the error is included in the message.
% DHCP6_PACK_FAIL failed to assemble response correctly
This error is output if the server failed to assemble the data to be
returned to the client into a valid packet. The reason is most likely
...
...
src/bin/dhcp6/dhcp6_srv.cc
View file @
1a7e6f8b
...
...
@@ -84,9 +84,15 @@ bool Dhcpv6Srv::run() {
int
timeout
=
1000
;
// client's message and server's response
Pkt6Ptr
query
=
IfaceMgr
::
instance
().
receive6
(
timeout
)
;
Pkt6Ptr
query
;
Pkt6Ptr
rsp
;
try
{
query
=
IfaceMgr
::
instance
().
receive6
(
timeout
);
}
catch
(
const
std
::
exception
&
ex
)
{
LOG_ERROR
(
dhcp6_logger
,
DHCP6_PACKET_RECEIVE_FAIL
).
arg
(
e
.
what
());
}
if
(
query
)
{
if
(
!
query
->
unpack
())
{
LOG_DEBUG
(
dhcp6_logger
,
DBG_DHCP6_DETAIL
,
...
...
@@ -154,7 +160,11 @@ bool Dhcpv6Srv::run() {
.
arg
(
rsp
->
getType
()).
arg
(
rsp
->
toText
());
if
(
rsp
->
pack
())
{
IfaceMgr
::
instance
().
send
(
rsp
);
try
{
IfaceMgr
::
instance
().
send
(
rsp
);
}
catch
(
const
std
::
exception
&
ex
)
{
LOG_ERROR
(
dhcp6_logger
,
DHCP6_PACKET_SEND_FAIL
).
arg
(
ex
.
what
());
}
}
else
{
LOG_ERROR
(
dhcp6_logger
,
DHCP6_PACK_FAIL
);
}
...
...
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