my shitty notes I've asked AI to clean up and reorder so that they are readable

It is just work in progress so I don't really car
This commit is contained in:
2026-09-07 00:27:05 +02:00
parent 1857de378c
commit a148392e70
6 changed files with 1210 additions and 0 deletions

238
NEXUS.md Normal file
View File

@@ -0,0 +1,238 @@
# 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/<clientPort>
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=<RPi5 clock identity>
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`.