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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <MW4PR11MB5911A7A18F6CF163CB582D6ABAF12@MW4PR11MB5911.namprd11.prod.outlook.com>
Date: Fri, 7 Feb 2025 22:34:20 +0000
From: "Singh, Krishneil K" <krishneil.k.singh@...el.com>
To: "Olech, Milena" <milena.olech@...el.com>,
	"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Nguyen, Anthony L"
	<anthony.l.nguyen@...el.com>, "Kitszel, Przemyslaw"
	<przemyslaw.kitszel@...el.com>, "Olech, Milena" <milena.olech@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH v5 iwl-next 00/10] idpf: add initial PTP
 support


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of
> Milena Olech
> Sent: Friday, January 17, 2025 4:41 AM
> To: intel-wired-lan@...ts.osuosl.org
> Cc: netdev@...r.kernel.org; Nguyen, Anthony L
> <anthony.l.nguyen@...el.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@...el.com>; Olech, Milena <milena.olech@...el.com>
> Subject: [Intel-wired-lan] [PATCH v5 iwl-next 00/10] idpf: add initial PTP
> support
> 
> This patch series introduces support for Precision Time Protocol (PTP) to
> Intel(R) Infrastructure Data Path Function (IDPF) driver. PTP feature is
> supported when the PTP capability is negotiated with the Control
> Plane (CP). IDPF creates a PTP clock and sets a set of supported
> functions.
> 
> During the PTP initialization, IDPF requests a set of PTP capabilities
> and receives a writeback from the CP with the set of supported options.
> These options are:
> - get time of the PTP clock
> - get cross timestamp
> - set the time of the PTP clock
> - adjust the PTP clock
> - Tx timestamping
> 
> Each feature is considered to have direct access, where the operations
> on PCIe BAR registers are allowed, or the mailbox access, where the
> virtchnl messages are used to perform any PTP action. Mailbox access
> means that PTP requests are sent to the CP through dedicated secondary
> mailbox and the CP reads/writes/modifies desired resource - PTP Clock
> or Tx timestamp registers.
> 
> Tx timestamp capabilities are negotiated only for vports that have
> UPLINK_VPORT flag set by the CP. Capabilities provide information about
> the number of available Tx timestamp latches, their indexes and size of
> the Tx timestamp value. IDPF requests Tx timestamp by setting the
> TSYN bit and the requested timestamp index in the context descriptor for
> the PTP packets. When the completion tag for that packet is received,
> IDPF schedules a worker to read the Tx timestamp value.
> 
> Current implementation of the IDPF driver does not allow to get stable
> Tx timestamping, when more than 1 request per 1 second is sent to the
> driver. Debug is in progress, however PTP feature seems to be affected by
> the IDPF transmit flow, as the Tx timestamping relies on the completion
> tag.
> 
> v4 -> v5: fix spin unlock when Tx timestamp index is requested
> v3 -> v4: change timestamp filters dependent on Tx timestamp cap,
> rewrite function that extends Tx timestamp value, minor fixes
> v2 -> v3: fix minor issues, revert idpf_for_each_vport changes,
> extend idpf_ptp_set_rx_tstamp, split tstamp statistics
> v1 -> v2: add stats for timestamping, use ndo_hwtamp_get/set,
> fix minor spelling issues
> 
> Milena Olech (10):
>   idpf: add initial PTP support
>   virtchnl: add PTP virtchnl definitions
>   idpf: move virtchnl structures to the header file
>   idpf: negotiate PTP capabilities and get PTP clock
>   idpf: add mailbox access to read PTP clock time
>   idpf: add PTP clock configuration
>   idpf: add Tx timestamp capabilities negotiation
>   idpf: add Tx timestamp flows
>   idpf: add support for Rx timestamping
>   idpf: change the method for mailbox workqueue allocation
> 
>  drivers/net/ethernet/intel/idpf/Kconfig       |   1 +
>  drivers/net/ethernet/intel/idpf/Makefile      |   3 +
>  drivers/net/ethernet/intel/idpf/idpf.h        |  34 +
>  .../ethernet/intel/idpf/idpf_controlq_api.h   |   3 +
>  drivers/net/ethernet/intel/idpf/idpf_dev.c    |  14 +
>  .../net/ethernet/intel/idpf/idpf_ethtool.c    |  70 +-
>  .../ethernet/intel/idpf/idpf_lan_pf_regs.h    |   4 +
>  .../net/ethernet/intel/idpf/idpf_lan_txrx.h   |  13 +-
>  drivers/net/ethernet/intel/idpf/idpf_lib.c    |  47 +
>  drivers/net/ethernet/intel/idpf/idpf_main.c   |   9 +-
>  drivers/net/ethernet/intel/idpf/idpf_ptp.c    | 983 ++++++++++++++++++
>  drivers/net/ethernet/intel/idpf/idpf_ptp.h    | 351 +++++++
>  drivers/net/ethernet/intel/idpf/idpf_txrx.c   | 169 ++-
>  drivers/net/ethernet/intel/idpf/idpf_txrx.h   |  18 +-
>  .../net/ethernet/intel/idpf/idpf_virtchnl.c   | 160 ++-
>  .../net/ethernet/intel/idpf/idpf_virtchnl.h   |  84 ++
>  .../ethernet/intel/idpf/idpf_virtchnl_ptp.c   | 677 ++++++++++++
>  drivers/net/ethernet/intel/idpf/virtchnl2.h   | 314 +++++-
>  18 files changed, 2852 insertions(+), 102 deletions(-)
>  create mode 100644 drivers/net/ethernet/intel/idpf/idpf_ptp.c
>  create mode 100644 drivers/net/ethernet/intel/idpf/idpf_ptp.h
>  create mode 100644 drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
> 
> 
> base-commit: e1e8afea623cb80941623188a8190d3ca80a6e08
> --
> 2.31.1

On testing on this [series|patch], the following issue was observed, PTP hardware receive filter modes does not report all the supported modes from hardware.
 
Time stamping parameters for ethX:
Capabilities:
        hardware-transmit
        software-transmit
        hardware-receive
        software-receive
        software-system-clock
        hardware-raw-clock
PTP Hardware Clock: 2
Hardware Transmit Timestamp Modes:
        off
        on
Hardware Receive Filter Modes: none

Thank You 
Krishneil Singh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ