> -----Original Message-----
> From: vincent.cheng...@renesas.com <vincent.cheng...@renesas.com>
> Sent: Sunday, March 13, 2022 10:01 PM
> To: linuxptp-devel@lists.sourceforge.net
> Subject: [Linuxptp-devel] [PATCH v2 3/4] port: unicast client - do not add
> master
> to foreign master table if not in the unicast master table.
>
> From: Vincent Cheng <vincent.cheng...@renesas.com>
>
> Signed-off-by: Vincent Cheng <vincent.cheng...@renesas.com>
Looks like some whitespace got changed on accident. Otherwise this patch looks
good to me.
Reviewed-by: Jacob Keller <jacob.e.kel...@intel.com>
> ---
> port.c | 28 +++++++++++++++++++++++++++-
> 1 file changed, 27 insertions(+), 1 deletion(-)
>
> diff --git a/port.c b/port.c
> index f2b666c..0169161 100644
> --- a/port.c
> +++ b/port.c
> @@ -167,6 +167,27 @@ static int msg_source_equal(struct ptp_message *m1,
> struct foreign_clock *fc)
> return 0 == memcmp(id1, id2, sizeof(*id1));
> }
>
> +static int port_unicast_message_valid(struct port *p, struct ptp_message *m)
> +{
> + struct unicast_master_address master;
> +
> + if (!unicast_client_unicast_master_table_received(p, m)) {
> + memset(&master, 0, sizeof(master));
> + master.address = m->address;
> + master.portIdentity = m->header.sourcePortIdentity;
> +
> + pr_warning("%s: new foreign master %s not in unicast master
> table",
> + p->log_name, pid2str(&m-
> >header.sourcePortIdentity));
> +
> + if (unicast_client_tx_cancel(p, &master)) {
> + pr_warning("%s: cancel unicast transmission to %s
> failed",
> + p->log_name, pid2str(&m-
> >header.sourcePortIdentity));
> + }
> + return 0;
> + }
> + return 1;
> +}
> +
> int source_pid_eq(struct ptp_message *m1, struct ptp_message *m2)
> {
> return pid_eq(&m1->header.sourcePortIdentity,
> @@ -351,8 +372,13 @@ static int add_foreign_master(struct port *p, struct
> ptp_message *m)
> }
> }
> if (!fc) {
> + if (unicast_client_enabled(p)) {
> + if (!port_unicast_message_valid(p, m)) {
> + return 0;
> + }
> + }
> pr_notice("%s: new foreign master %s", p->log_name,
> - pid2str(&m->header.sourcePortIdentity));
> + pid2str(&m->header.sourcePortIdentity));
What's going on here? some whitespace fixup?
>
> fc = malloc(sizeof(*fc));
> if (!fc) {
> --
> 2.34.1
>
>
>
> _______________________________________________
> 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