Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
P
PPSi
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 39
    • Issues 39
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • PPSi
  • Wiki
  • Home

Home

Last edited by Maciej Lipinski Oct 27, 2022
Page history

PPSi: PTP Ported to Silicon

Overview

This project is concerned with writing a portable PTP daemon, to be used in White Rabbit and possibly other projects. The code base should be able to build a standard PTP and an extended one, running either under an operating system or as a freestanding application on bare metal. At compile time, it can be decided about the target architecture and the "standard protocol"/"white rabbit extensions" implementation.

PPSi has been developed within the White Rabbit project.

The latest version of PPSi documentation is available at PPSi Manual October 2022.

White Rabbit Switch with PPSi has been tested against compatibility with IEEE1588 and White Rabbit protocol using ATTEST framework available from Veryx Technologies. More information is available at the White Rabbit Compliance Tests project page. The test results of the current and past WR switch firmware releases are available on WR switch release compliance tests website.


Contacts

  • Maciej Lipinski - CERN

Documentation

  • "PPSi - A Free Software PTP Implementation", ISPCS2014, Austin, USA (25 September 2014):
    • article (In IEEExplorer )
    • presentation
    • updates with respect to the article/presentation
  • PPSi Manual October 2022
  • PPSi Manual July 2014, ppsi-v2014.07 (pdf, from Files tab) (deprecated)
  • ptp-proposal (September 2011) (deprecated)
  • Frequently Asked Questions

Projects using PPSi

  • White Rabbit Switch
  • White Rabbit PTP Core

Journal - Status of the project

07/07/2021

Updated version of PPSi included in the release v6.0.1 of WR Switch firmware

12/06/2020

Updated version of PPSi included in the release v6.0 of WR Switch firmware

19/12/2017

Updated version of PPSi included in the release v4.2 of WRPC

25/08/2017

Updated version of PPSi included in the release v5.0.1 of WR Switch firmware

07/07/2017

Updated version of PPSi included in the release v4.1 of WRPC

15/03/2017

Updated version of PPSi included in the release v4.0 of WRPC

16/12/2016

Updated version of PPSi included in the release v5.0 of WR Switch firmware

16/12/2015

Updated version of PPSi included in the release v3.0 of WRPC

28/08/2015

Updated version of PPSi included in the release v4.2 of WR Switch firmware

04/10/2014

Updated version of PPSi included in the release v4.1 of WR Switch firmware

08/08/2014

Updated version of PPSi included in the release v4.0 of WR Switch firmware

03/08/2014

We released version 2014.07 of PPSi, that includes all the work up and included July 2014. This includes
a much better servo for non-wr slave operation and the new arch-sim, a PTP simulator (actually, the one that
helped making a better servo).

This is the last versioned release. Further releases od PPSI are part of WRPC or WR Switch firmware releases.

04/10/2013

Report from unofficial interoperability test of PPSi working on WR switches and SPECs published. See https://www.ohwr.org/project/fmc-vme-carrier/wikis/News#the-layout-work-started-week-15

26/7/2013

Code for arch-wrs (Seven Solution switch) is completed. The single link has been tested and more durability tests and memory leak checks are ongoing. Still to be tested the bmc algorithm. SPEC version of ppsi is stable and has been heavily tested once again.

17/5/2013

PPSi code running on SPEC has been successfully tested as the slave of a Hirschmann ptp switch. The next ppsi release will be capable of synchronizing as a generic (non-wr) ptp slave too.

15/1/2013

Release v.13.01 is out. See https://www.ohwr.org/project/fmc-adc-100m14b4cha/wikis/News#24-03-2010-pcb-layout-review-held

05/09/2012

PPSi first official release is out! See https://www.ohwr.org/project/fmc-adc-100m14b4cha/wikis/News#19-03-2010-pcb-layout-done-review-planned

31/8/2012

Current status of PPSi with white rabbit extension, on spec architecture, is quite stable; an official release, widely tested on a spec-to-spec link, will be communicated in the next days. You can, if you want, get the latest git commit (e69d3cde) and use it (please read README and HOWTO.EASY in the repository, for more information). Note: there is a known bug when ppsi master interacts with ptp-noposix slave, so please use ppsi-to-ppsi in this case.

29/3/2012

Since "pptp" is already "point to point tunneling protocol", we renamed pptp to ppsi, which is unused at this
time in the software world. Files have been renamed, but the code base is the same.

21/3/2012

Though the journal has not been updated for a long time, the project indeed evolved in the meantime. The current source code has been tested on GNU linux environment and thoroughly implements ptp protocol, both on UDP and on RAW socket transport. The current status will be presented in the Sixth White Rabbit Workshop, Darmstadt (Germany), 22-23 March 2012.

22/1/2012

Implementation of ptpd-2.1.0 clone for arch-gnu-linux completed. Actually it must be debugged. It can handle transport both on UDP and on IEEE 802.3 (raw sockets): this is an enhancement with respect to ptpd-2.1.0.

21/1/2012

Diagnostic messages

19/1/2012

Servo functions implemented and used everywhere

17/1/2012

Begin implementation of timestamp low-level functions and fixed handling of received packet timestamps

16/1/2012

Message sending functions now implemented and used.

10/1/2012

Some more code review issues pushed on master branch. Comments, enhanced readability, authors & license, etc...

9/1/2012

Code review by Alessandro Rubini, previously in rubi-120103 branch, now accepted and committed in master. Many code-style fixes (white spaces, renaming of functions, etc...), and compile fixes for arch-spec and arch-bare-linux.

30/12/2011

Up to now, I focused on ptp algorithm and protocol itself. I started from the state machine of ptpd-2.1.0 and reworked it following the ptp-proposal. In ptp-proposal, each state has its function for handling it, whereas in ptpd the state machine was spread over the various function handling the incoming messages. I also tried to rewrite in a more readable way the whole src, using, when possible, the standard "c_style_notation" instead of CamelCase. Actually, the IEEE-1588-2008 specification defines many data structures using the CamelCase notation: for those ones, no changes have been made; for the remaining source, the C style notation is used.

Next steps:

  1. Complete standard protocol handling
  2. Address all architecture-specific issues
  3. Implement white rabbit extension (from ptp-noposix project)

Clone repository
  • Documents
  • Home
  • News
  • Updates with respect to ispcs2014 article
  • Faq
  • Documents
    • Project attachments
    • Report from the ppsi inter operability test
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.