ptp4u

command
v0.0.0-...-a34aaee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

README

ptp4u

Scalable PTPv2.1 two-step unicast server implementation

Run

Normally default arguments are good for most of the cases. However, there is a lot of room for cusomisation:

/usr/local/bin/ptp4u -iface eth1 -workers 100 -minsubinterval 1us -monitoringport 1234

This will run ptp4u on eth1 with 100 workers and allowing 1us subscriptions. Instance can be monitored on port 1234

Monitoring

By default ptp4u runs http server serving json monitoring data. Ex:

$ curl localhost:8888 | jq
{
  "rx.delay_req": 0,
  "rx.signaling.announce": 0,
  "rx.signaling.delay_resp": 0,
  "rx.signaling.sync": 0,
  "subscriptions.announce": 1,
  "subscriptions.sync": 1,
  "tx.announce": 1,
  "tx.delay_resp": 0,
  "tx.follow_up": 1,
  "tx.signaling.announce": 0,
  "tx.signaling.delay_resp": 0,
  "tx.signaling.sync": 0,
  "tx.sync": 1,
  "utcoffset": 37,
  "worker.0.txtsattempts": 1
}

This returns manu usefull metrics such as number of active subscriptions, tx/rx stats etc.

Performace

We were able to generate and consistently support over 1M clients with syncronization frequency of 1Hz.

We used a follwing setup:

  • HPE DL380 G10 single CPU system.
  • Arista 7010 network switch with 2 VLANs.
  • Calnex Sentinel to monitor the precision over the PTP compared to the GPS source.
  • Spirent N4U to generate test clients and verify timing correctness.

Here one can see 1000513 clients registered on ptp4u side, where:

  • 512 are constantly verified for the timing violations.
  • 1 is a Calnex Sentinel to verify precision effect from the load. The vertical line represents the beginning of the test.
  • 1000000 generated using traffic generator feature. image Spirent N4U showing 512 monitoring clients are working as expected: image

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package stats implements statistics collection and reporting.
Package stats implements statistics collection and reporting.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL