Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,8 @@ ip -details -json link show

A bond or bridge yields one row per member, with the master's ifIndex first. A
VLAN yields one row with the VLAN's ifIndex first and its base interface second.
Every interface also yields the two zero-index boundary rows RFC 2863 requires.
An interface has a zero higher sub-layer row only if no interface runs over it.
It has a zero lower sub-layer row only if it runs over no other interface.

## Prior art worth reading before writing the session loop

Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ runs over that bond (9), so its row is `10.9`.

Emit only direct relationships. A VLAN on a bond adds a `(VLAN, bond)` row.
It does not add VLAN-to-member rows. Include zero-index rows for each
missing side of the emitted stack. A plain interface has both `(0, index)`
missing side of the emitted stack. A standalone interface has both `(0, index)`
and `(index, 0)`. Consumers wanting only real relationships filter those rows.
Counts of non-zero relationships exclude boundary rows. Tests assert the two sets separately.

Expand Down Expand Up @@ -330,4 +330,5 @@ ip -details -json link show

A bond or bridge yields one row per member, with the master's ifIndex first. A
VLAN yields one row with the VLAN's ifIndex first and its base interface second.
Every interface also yields the two zero-index boundary rows RFC 2863 requires.
An interface has a zero higher sub-layer row only if no interface runs over it.
It has a zero lower sub-layer row only if it runs over no other interface.