Re: [Linuxptp-devel] [PATCH v3 4/5] port: Don't renew raw transport.

2021-06-01 Thread Keller, Jacob E



> -Original Message-
> From: Miroslav Lichvar 
> Sent: Monday, May 31, 2021 2:08 AM
> To: linuxptp-devel@lists.sourceforge.net
> Subject: [Linuxptp-devel] [PATCH v3 4/5] port: Don't renew raw transport.
> 
> Renewing of the transport on announce/sync timeout is needed in the
> client-only mode to avoid getting stuck with a broken multicast socket
> when the link goes down.
> 
> This shouldn't be necessary with the raw transport. Closing and binding
> of raw sockets can apparently be so slow that it triggers a false
> positive in the clock check.
> 
> Reported-by: Amar Subramanyam 
> Signed-off-by: Miroslav Lichvar 
> ---

Makes sense.

Reviewed-by: Jacob Keller 

>  port.c | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/port.c b/port.c
> index fb420fb..6bf0684 100644
> --- a/port.c
> +++ b/port.c
> @@ -1806,6 +1806,12 @@ static int port_renew_transport(struct port *p)
>   if (!port_is_enabled(p)) {
>   return 0;
>   }
> +
> + /* Closing and binding of raw sockets is too slow and unnecessary */
> + if (transport_type(p->trp) == TRANS_IEEE_802_3) {
> + return 0;
> + }
> +
>   transport_close(p->trp, >fda);
>   port_clear_fda(p, FD_FIRST_TIMER);
>   res = transport_open(p->trp, p->iface, >fda, p->timestamping);
> --
> 2.26.3
> 
> 
> 
> ___
> Linuxptp-devel mailing list
> Linuxptp-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxptp-devel


___
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel


[Linuxptp-devel] [PATCH v3 4/5] port: Don't renew raw transport.

2021-05-31 Thread Miroslav Lichvar
Renewing of the transport on announce/sync timeout is needed in the
client-only mode to avoid getting stuck with a broken multicast socket
when the link goes down.

This shouldn't be necessary with the raw transport. Closing and binding
of raw sockets can apparently be so slow that it triggers a false
positive in the clock check.

Reported-by: Amar Subramanyam 
Signed-off-by: Miroslav Lichvar 
---
 port.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/port.c b/port.c
index fb420fb..6bf0684 100644
--- a/port.c
+++ b/port.c
@@ -1806,6 +1806,12 @@ static int port_renew_transport(struct port *p)
if (!port_is_enabled(p)) {
return 0;
}
+
+   /* Closing and binding of raw sockets is too slow and unnecessary */
+   if (transport_type(p->trp) == TRANS_IEEE_802_3) {
+   return 0;
+   }
+
transport_close(p->trp, >fda);
port_clear_fda(p, FD_FIRST_TIMER);
res = transport_open(p->trp, p->iface, >fda, p->timestamping);
-- 
2.26.3



___
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel