Delete search term


Quick navigation

Main navigation

gPTP Software Stack

InES-gPTP2020 (IEEE 802.1AS-2020 Software Stack)

The protocol software is a portable implementation of the TSN standard IEEE 802.1AS-2020 for Ethernet networks (full-duplex, point-to-point links - clause 11 of the standard). It has been successfully used on various operating systems and also runs on a Nios II bare-metal in a while(1) loop. The stack supports multiple parallel PTP instances for different PTP domains, synchronization tree creation using external port configuration, which is sometimes known as pre-engineered sync tree (PEST) and the well-known best timeTransmitter clock algorithm (BTCA – formerly BMCA).

We use the software in applied R&D projects with industry partners, but it can also be licensed as source code. We monitor ongoing developments in IEEE for functional extensions and plan to add new functionality as the standards mature.


Programming Language and Design

The programming language of the gPTP software is ANSI-C / C-99. The design of the gPTP stack is object-oriented, although C is not an object-oriented programming language.

Portability to different target systems

The gPTP software consists of a system-independent protocol engine and an OS abstraction layer. The Protocol Engine is completely system independent; the OS Abstraction Layer must be adapted to the HW/SW environment. Due to the clean structuring of the OS Abstraction Layer, the software is quickly and easily ported to different systems.

Application Programming Interface (API)

The API is the interface to the user application. It provides functions for configuration as well as monitoring of the stack.

Command Line Interface (CLI)

Developers configure and monitor PTP at runtime using the command line interface. For example, the state machine can be monitored continuously, the current values of the internal DataSets can be displayed, and parameters can be changed. The command line interface uses the same get() and set() functions that can be used to connect to the network management (YANG/MIB).


In addition to use in joint research projects (interesting, practice-relevant research topics and requests for collaboration are always welcome), we offer InES-gPTP2020 as a source code license:

The license includes:

Future extensions of IEEE 802.1AS

The IEEE is currently (end of 2023) working on several projects to support requirements for various TSN profiles: Hot standby redundancy, improvements in synchronization accuracy for long line structures, or disabling certain functions that are mandatory in AS-2020 are examples of this. We are following these discussions at first hand and plan to implement relevant functionality as soon as it is adopted by the IEEE.