-
Notifications
You must be signed in to change notification settings - Fork 351
Description
Request:
Include in /op/lldp.yml an LLDPNeighborDetailView table making the <get-lldp-neighbors-detail-information> call to ensure <lldp-remote-port-id> available on varied JunOS hardware platforms.
PROBLEM Description:
EX Platform does not return <lldp-remote-port-id>. Inconsistent RPC returns between hardware for the RPC call <get-lldp-neighbors-information>. MX does not return and does not have a <get-lldp-neighbors-detail-information> call.
This issue is being specifically opened for the EX as required/expected data is available in <get-lldp-neighbor-detail-information>.
EXPECTED Behavior
/op/lldp.yml to return <lldp-remote-port-id> and <lldp-remote-system-id> from a <get-lldp-neighbors-information> call.
ACTUAL Behavior
For EX platforms the RPC:
user@host1> show lldp neighbors | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/20.2R0/junos">
<rpc>
<get-lldp-neighbors-information>
</get-lldp-neighbors-information>
</rpc>
<cli>
<banner>{master:0}</banner>
</cli>
</rpc-reply>
Does not return <lldp-remote-port-id>:
user@host1> show lldp neighbors | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/20.2R0/junos">
<lldp-neighbors-information junos:style="brief">
<lldp-neighbor-information>
<lldp-local-port-id>ge-0/0/27</lldp-local-port-id>
<lldp-local-parent-interface-name>-</lldp-local-parent-interface-name>
<lldp-remote-chassis-id-subtype>Mac address</lldp-remote-chassis-id-subtype>
<lldp-remote-chassis-id>bb:cc:dd:ee:ff:aa</lldp-remote-chassis-id>
<lldp-remote-port-description>eth0</lldp-remote-port-description>
<lldp-remote-system-name>host3</lldp-remote-system-name>
</lldp-neighbor-information>
...
MX platform the RPC:
user@host2> show lldp neighbors | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos">
<rpc>
<get-lldp-neighbors-information>
</get-lldp-neighbors-information>
</rpc>
<cli>
<banner></banner>
</cli>
</rpc-reply>
Does not return <lldp-remote-system-name>:
user@host2> show lldp neighbors | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.2R3/junos">
<lldp-neighbors-information junos:style="brief">
<lldp-neighbor-information>
<lldp-local-port-id>xe-0/1/5</lldp-local-port-id>
<lldp-local-parent-interface-name>ae0</lldp-local-parent-interface-name>
<lldp-remote-chassis-id-subtype>Mac address</lldp-remote-chassis-id-subtype>
<lldp-remote-chassis-id>aa:bb:cc:dd:ee:ff</lldp-remote-chassis-id>
<lldp-remote-port-id-subtype>Interface name</lldp-remote-port-id-subtype>
<lldp-remote-port-id>TenGigabitEthernet 0/28</lldp-remote-port-id>
</lldp-neighbor-information>
...
ADDITIONAL INFO:
Discovered this using the [junipernetworks.junos] collection for ansible to populate cable terminations in netbox. remote_port_id returns null/None when using the following play on EX platforms and returns null/None for remote_sysname on MX platforms using the [juniper_junos_table] module:
- name: Get LLDP neighbors using table/views
juniper_junos_table:
table: "LLDPNeighborTable"
file: "lldp.yml"
register: lldp_results
There is an inconsistency between EX and MX platforms. MX does not include [show lldp neighbors detail]. Interestingly, <lldp-remote-system-name> is missing from the MX rpc return. Tested on multiple JunOS versions [15.x to JTAC 20.x-Ry on both platforms].
Similar / related to #645 but this lack of information was mentioned in #474 (comment)