clock: Don't forward management requests to UDS port.

The UDS port is not expected to be used by PTP clocks and forwarding of
management messages to the port can be limited to responses.

This prevents ptp4l from printing error messages when a management
request is received from a non-UDS port and the last client which used
the UDS port is no longer listening.

Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
master
Miroslav Lichvar 2017-12-11 14:21:25 +01:00 committed by Richard Cochran
parent dacf9dcd24
commit 303b08cbf5
1 changed files with 11 additions and 0 deletions

11
clock.c
View File

@ -1243,6 +1243,17 @@ static int clock_do_forward_mgmt(struct clock *c,
{
if (in == out || !forwarding(c, out))
return 0;
/* Don't forward any requests to the UDS port. */
if (out == c->uds_port) {
switch (management_action(msg)) {
case GET:
case SET:
case COMMAND:
return 0;
}
}
if (!*pre_sent) {
/* delay calling msg_pre_send until
* actually forwarding */