lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 22 May 2021 23:46:15 +0300
From:   Claudiu Manoil <claudiu.manoil@...il.com>
To:     Yangbo Lu <yangbo.lu@....com>, netdev@...r.kernel.org
Cc:     "David S . Miller" <davem@...emloft.net>,
        Richard Cochran <richardcochran@...il.com>,
        Claudiu Manoil <claudiu.manoil@....com>,
        Jakub Kicinski <kuba@...nel.org>
Subject: Re: [net-next, v2, 7/7] enetc: support PTP domain timestamp
 conversion

hi Yangbo,

On 21.05.2021 07:36, Yangbo Lu wrote:
> Support timestamp conversion to specified PTP domain in PTP packet.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@....com>
> ---
> Changes for v2:
> 	- Fixed build waring.
> 	- Updated copyright.
> ---
>   drivers/net/ethernet/freescale/enetc/enetc.c | 39 ++++++++++++++++++--
>   1 file changed, 35 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c b/drivers/net/ethernet/freescale/enetc/enetc.c
> index 3ca93adb9662..cd0429c73999 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
> @@ -1,5 +1,5 @@
>   // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> -/* Copyright 2017-2019 NXP */
> +/* Copyright 2017-2021 NXP */
>   
>   #include "enetc.h"
>   #include <linux/bpf_trace.h>
> @@ -7,6 +7,7 @@
>   #include <linux/udp.h>
>   #include <linux/vmalloc.h>
>   #include <linux/ptp_classify.h>
> +#include <linux/ptp_clock_kernel.h>
>   #include <net/pkt_sched.h>
>   
>   static int enetc_num_stack_tx_queues(struct enetc_ndev_priv *priv)
> @@ -472,13 +473,36 @@ static void enetc_get_tx_tstamp(struct enetc_hw *hw, union enetc_tx_bd *txbd,
>   	*tstamp = (u64)hi << 32 | tstamp_lo;
>   }
>   
> -static void enetc_tstamp_tx(struct sk_buff *skb, u64 tstamp)
> +static int enetc_ptp_parse_domain(struct sk_buff *skb, u8 *domain)
> +{
> +	unsigned int ptp_class;
> +	struct ptp_header *hdr;
> +
> +	ptp_class = ptp_classify_raw(skb);
> +	if (ptp_class == PTP_CLASS_NONE)
> +		return -EINVAL;
> +
> +	hdr = ptp_parse_header(skb, ptp_class);
> +	if (!hdr)
> +		return -EINVAL;
> +
> +	*domain = hdr->domain_number;
> +	return 0;
> +}
> +

Why is this function defined inside the enetc driver? I don't see 
anything enetc specific to it, but it looks like another generic ptp 
procedure, similar to ptp_parse_header() or ptp_clock_domain_tstamp().

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ