# Cisco Nexus C93180LC-EX PTP Boundary Clock NYATER is the second boundary clock in the PTP chain. ```text RPi5 GM │ ▼ WOLF-HUNTER BC │ │ │ two QSFP+ │ ▼ ▼ Eth1/5 Eth1/6 NYATER C93180LC-EX BC │ ├─ PTP client-facing ports └─ PTP client-facing ports ``` With the current design: ```text RPi5 stepsRemoved 0 WOLF-HUNTER stepsRemoved 1 NYATER stepsRemoved 2 Linux client stepsRemoved 3 ``` The current Nexus configuration is stored in `NYATER.ios` in the root of the PTP directory. ## 1. Base configuration `NYATER.ios` contains: ```text feature ptp ptp device-type boundary-clock ptp domain 0 ptp source 10.255.254.255 interface Ethernet1/5 ptp interface Ethernet1/6 ptp ``` `10.255.254.255` is the address selected as the Nexus PTP source address. In this setup it is the `lo0` address; using the loopback gives PTP packets originated by NYATER a stable source address independent of which physical upstream path is selected. Before applying the PTP config, verify that the address really exists on NYATER: ```text show ip interface brief | include 10.255.254.255 show running-config interface loopback0 ``` ## 2. Apply the base PTP configuration Enter configuration mode and apply the contents of `NYATER.ios`, or paste the equivalent configuration manually: ```text configure terminal feature ptp ptp device-type boundary-clock ptp domain 0 ptp source 10.255.254.255 interface Ethernet1/5 ptp interface Ethernet1/6 ptp end copy running-config startup-config ``` `Ethernet1/5` and `Ethernet1/6` are the two links from WOLF-HUNTER's Mellanox ports. ## 3. Expected upstream behavior When both WOLF-HUNTER links are healthy, NYATER should select one as the active upstream PTP port and leave the other as the redundant path. Expected output: ```text show ptp brief PTP port status ----------------------------------- Port State --------------------- ------------ Eth1/5 Slave Eth1/6 Passive ``` The exact choice may be reversed; `Eth1/6 Slave` and `Eth1/5 Passive` is equally valid. The important points are: ```text - one WOLF-facing port is Slave - the other WOLF-facing port is Passive - PTP Clock state is Locked - grandmaster identity is still the RPi5 - steps removed is 2 - domain is 0 - UTC offset received in Announce packets is 37 ``` ## 4. Add a downstream PTP client For a normal Linux server connected directly to a physical Nexus port, enable PTP on that port: ```text configure terminal interface Ethernet1/ ptp end copy running-config startup-config ``` For example: ```text interface Ethernet1/10 ptp ``` No separate per-client PTP source address is required. The existing global: ```text ptp source 10.255.254.255 ``` continues to be used by NYATER. Once the downstream Linux client is active and the Nexus is locked upstream, that client-facing port should normally appear as `Master`. Example: ```text show ptp brief Eth1/5 Slave Eth1/6 Passive Eth1/10 Master ``` Repeat only the interface-level `ptp` command for every additional direct downstream client port. ## 5. Verification commands The most useful operational commands are: ```text show ptp clock show ptp brief show ptp packet ``` Your healthy output should resemble: ```text PTP Device Type : boundary-clock PTP Source IP Address : 10.255.254.255 Clock Domain : 0 PTP Clock state : Locked Steps removed : 2 ``` `show ptp packet` is useful for confirming that Announce packets still carry the RPi5 grandmaster identity and the expected UTC offset: ```text gm_id= utc_offset=37 ``` It also exposes Sync, Follow_Up, Delay_Req and Delay_Resp traffic and is useful when investigating offset or path-delay behavior. ## 6. Current known-good state A known-good state observed on NYATER had: ```text PTP Device Type : boundary-clock PTP Source IP Address : 10.255.254.255 Clock Domain : 0 PTP Clock state : Locked Steps removed : 2 Eth1/5 : Slave Eth1/6 : Passive gm_id : 88a29efffe826ce6 utc_offset : 37 ``` Use that as a topology sanity check. The active/passive physical ports may swap, but the grandmaster identity should not change merely because the redundant path changes. ## 7. What the `ptp source` address does The `ptp source 10.255.254.255` setting selects the source IP address used by PTP/UDP packets originated by NYATER. It does **not** mean the Nexus gets its time from `lo0`. The actual timing reference is still selected by PTP/BMCA through the WOLF-HUNTER-facing ports: ```text RPi5 -> WOLF-HUNTER -> NYATER ``` ## 8. Troubleshooting If NYATER is not locked: ```text show ptp clock show ptp brief show ptp packet show interface Ethernet1/5 show interface Ethernet1/6 ``` Check that: ```text - `feature ptp` is enabled - domain is 0 everywhere - both WOLF-facing ports have `ptp` - one upstream port receives Announce/Sync packets - the received gm_id is the RPi5 identity - WOLF-HUNTER itself is synchronized upstream ``` If a downstream client is not synchronizing, first confirm its Nexus port has the interface-level `ptp` command and appears as `Master` in `show ptp brief`.