We plan to use an OS2 device. We are currently designing a GrandMaster PTPv2 in an FPGA and have a few technical questions to help us correctly define the scope of the FPGA design.
Transport mapping
Do you use/support Annex C (UDP/IPv4), Annex D (UDP/IPv6), or Annex E (Ethertype 0x88F7)? Is it selectable, and what’s the factory default?
Delay mechanism
2) Do you require End-to-End (Delay_Req/Delay_Resp) or Peer-to-Peer (Pdelay_*)?
Two-step acceptance
3) Will the device sync correctly to a two-step master (Sync + Follow_Up)?
PTP version & profile
4) Which IEEE 1588 version (2008 vs 2019/v2.1) and profile (Default vs 802.1AS/gPTP)? What domainNumber do you use by default?
Role/BMCA behavior
5) Can the device be forced to Slave (ignore BMCA) when our FPGA is grandmaster?
Multicast/unicast use
6) Do you expect multicast only, or do you require unicast negotiation (Signaling TLVs)?
Message rates
7) Supported/recommended ranges for logSyncInterval, logAnnounceInterval, logDelayReqInterval.
L2/L3 framing details
8) If Annex C/D: which multicast group(s) (e.g., 224.0.1.129), required TTL, and any IGMP expectations?
9) If Annex E: acceptable destination MAC(s) (All-PTP 01-1B-19-00-00-00; Pdelay 01-80-C2-00-00-0E; unicast allowed?).
Thanks for reaching out to the Ouster Community.
Please see the answers to your questions below.
If you need more hands-on support feel free to reach out to ouster.com/tech-support.
Annex E (Ethertype 0x88F7) is the factory default and is not selectable
It depends on the profile (aka config) you have selected on the sensor. Ouster sensors have verbatim configs from LinuxPTP
default: E2E
gPTP: P2P
automotive-slave: P2P
Yes in all profiles it will correctly sync to a two-step master. However, each profile starts with a different assumption on two-step. Ref: LinuxPTP Configs
default: assume_two_step 0 (two step not assumed, but will still sync if master it using two-step)