Skip to content

should chassis_id and port_id match and what is published over LLDP? #220

@quintilation

Description

@quintilation

Hi NMOS people.

I have a question about the implementation of LLDP under is-04.

I am trying to discover the network topology of some switches and NMOS nodes.
I have switch credentials so I can fetch LLDP and ARP tables from my switches, and I can collect the node
data from the NMOS registry.

LLDP is bidirectional so I could discover devices from switch data or vice verca.
is-06 would provide me with exactly what I need, unfortunately for me, it has been depreciated.
However NMOS devices do offer ChassisID and PortID data in the interfaces section of their node data
which should be sufficient.

I have been trying to use this, matching node's chassis_id and port_id with LLDP info from the switches.
Unfortunately it seems, in many NMOS client implementations, the ChassisID and PortID reported to the NMOS API
differs from what is reported to the switch.

In my testing I have found many devices report the interface alias name (e.g. eth0) as the portID,
and a MAC address as the ChassisID (though it is not clear which MAC address this is).

Historicially the convention appears to be: devices publish the MAC address of their first management interface as their
ChassisID, and the MAC address of the interface in question for their PortID. Switches seem to obey the same convention
for chassisIDs but send the interface alias (ifAlias) for their portID (e.g. Ethernet/17).

This may be the source of the confusion.

In my use-case I do not mind what data is sent over LLDP, what is important to me, is the ChassisID and PortID
together form a globally unique ID, and values reported to LLDP and the NMOS Rest APIs match precisely.

Looking at the Test spec: JT-NM TR-1001-1:2020, section 10.2.3 "Link-Layer Discovery Protocol (LLDP)

"Media Nodes shall implement IEEE 802.1AB “LLDP” protocol on each Media Network connection in order
to identify themselves to the Media Network switches. Where possible, the LLDP information transmitted
on the interfaces of a device should include the MAC address of the transmitting port."

"Media Nodes shall report their interface information as required under AMWA IS-04 NMOS Node API. In
particular, the “port_id” field of each interface object in the node resource must contain the MAC address
of the related interface."

In this document "shall" implies a mandatory requirement, but "should" does not, so the first paragraph allows
implementors to ignore LLDP on media interfaces.

The first paragraph uses the word SHOULD rather than SHALL so the implementor not include the MAC
address of the transmitting port at all.

The second paragraph refers to is-04 but the only reference I have found to LLDP in is-04 is in the JSON schema:

"Port ID of the interface, as signalled in LLDP or via ARP responses from this node. Must be a MAC address"

My concern is the word OR implies that devices would be compliant if the data send over LLDP does not
match the port_id, provided the port_id matches ARP responses.

The variation in what is reported over LLDP is probably because the NMOS-TESTING tool does not check this data,
However checking would need switch credentials, SNMP support, correlating LLDP and Interfaces MIBs etc,
another world of pain.

Perhaps a better approach would be to clarify the relationship between LLDP info that should be published by devices
and what should be is available via the is-04 api?

So, the crux of the matter.

Can I reasonabley complain to the manufacturers of equipment that claims to be JTNM tested,
but which do not report the same ChassisID and PortID to LLDP as to the NMOS REST API?

Thanks for any Help,

-Steve

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions