|
Post by lenalin on Mar 3, 2023 9:21:20 GMT
Hi,
I have some questions about LLDP data present.
As my understanding, "LLDPReceive" means the data is being received on the link, so it focus on the "received data", i.e. LLDP neighbors. However, LLDP may receive multiple neighbors of LLDP data.
How can we show the multiple reveived LLDP data by the latest Port_v1_8_0 schema? It seems it only allow one reveived link to display.
Here is the example of "LLDPReceived" in resonse (As my understanding), you can see there is only one neighbor to be displayed:
"LLDPReceived" : { "ChassisId" : "mac xx:xx:xx:xx:xx:xx", "ChassisIdSubtype" : "MacAddr", "ManagementAddressIPv4" : "192.168.0.100", ...
}
Many thanks,
|
|
|
Post by mraineri on Mar 3, 2023 13:14:12 GMT
My understanding is LLDP is only between two devices directly connected together and any sort of aggregation of LLDP data is performed at a higher level, like with SNMP querying all of these devices to provide the data they've sent/received. In Redfish, we use the Port resource to represent each end of the wire where LLDP packets are initiated and terminated. So, I don't think showing multiple "LLDP receive" objects is correct here. Do you have a specific example in mind where a single port can receive multiple LLDP packets from different devices?
|
|
|
Post by lenalin on Mar 6, 2023 2:34:39 GMT
Hi mraineri , Here is the example, please correct me if I misunderstood. I tried to query LLDP in my BMC for its neighbors, and it found two neighbors were received by my BMC eth0. One is my own computer(Ubuntu), and the other one is my switch. In this case, as my understanding, both of the neighbors should be represent as "LLDPReceive" because the LLDP data was received by BMC interface. Am I right? Or any suggestion for # lldpcli show neighbors
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface: eth0, via: LLDP, RID: 4, Time: 3 days, 23:09:57
Chassis:
ChassisID: mac c8:9c:1d:xx:xx:xx
SysName: My Switch
SysDescr: Cisco ...
MgmtIP: 192.168.0.xxx
...
-------------------------------------------------------------------------------
Interface: eth0, via: LLDP, RID: 8, Time: 2 days, 17:35:46
Chassis:
ChassisID: mac b4:96:91:xx:xx:xx
SysName: My computer SysDescr: Ubuntu 18.04.5 LTS Linux 5.4.0-137-generic ...
MgmtIP: 192.168.0.xxx
...
Thank you for the reply.
|
|
|
Post by mraineri on Mar 6, 2023 15:10:36 GMT
To clarify, is your own computer the host system for that BMC, meaning you have an NCSI path shared with that computer going to the switch? Or, is your computer a physically different box on the other end of the switch from your BMC?
|
|
|
Post by lenalin on Mar 7, 2023 2:01:53 GMT
In this case, the switch has two connections : - BMC - My computer (individual machine, not the host system)
The host system didn't connect to the switch. BMC has its own ethernet connection to the switch. Hope this information is helpful to clarify!
Similarly, based on this case, if I add another BMC or computer to connect to the same switch, I will see more LLDP neighbors, which means the "LLDPReceive" should represent multiple LLDP data. How can we represent them by the Port_v1_8_0 schema?
|
|
|
Post by mraineri on Mar 7, 2023 18:09:49 GMT
You may need to look at your switch to see if it's IEEE 802.1D-2004 conformant. If your switch really is an Ethernet switch (and not an Ethernet hub), then it's not supposed to forward LLDP packets to other devices. Ethernet hubs are fairly atypical these days, which is why the LLDP objects are singular; we've seen that people using LLDP in practice will be using Ethernet switches (and not hubs). Are you able to look into the details of your switch to see if it really conforms to IEEE 802.1D-2004?
|
|
|
Post by lenalin on Mar 9, 2023 7:12:07 GMT
Thank you mraineri for your information. I checked my ethernet environment and found that both my BMC and my computer connect to a L2 switch, so it displayed two neighbors and received 2 LLDP data. After I replaced it with the L3 switch, then I only got one LLDP data which comes from the switch. So I guess the current "LLDPReceive" in Port schema only supports the singular LLDP object case, right? From my point of view, LLDP truly has the ability to receive multiple LLDP data from different neighbors. This is why I was confused after reading the schema. It will be better to clarify this rule or limitation in the description. Just a suggestion!
|
|
|
Post by mraineri on Mar 9, 2023 13:42:32 GMT
I'll need to dig deeper, but as far as I know L2 switches are not expected to forward LLDP packets to other ports. L2 switches are expected to filter out the reserved MAC address for LLDP (and other reserved MAC addresses) to not be forwarded out on other ports.
|
|
|
Post by mraineri on Mar 9, 2023 17:06:19 GMT
I did receive confirmation that L2 switches are expected to filter LLDP requests from going to other ports (all per IEEE 802.1D-2004). The switch in question needs to be looked at a bit more since LLDP as a protocol is designed to be point-to-point and not broadcast elsewhere. Maybe there's a firmware update that corrects this behavior?
|
|