-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dell : LLDP messages in S6100 should be same as S6000 #116
Comments
Chitra, make sure that both the S600 and S6100 boxes have a valid /etc/lldp.conf file within LLDP docker (/etc/lldp.conf). I have noticed that SONiC’s LLDP daemon makes use of ‘portIdMacAddr’ type as the default value to advertise in the absence of a proper config file. If the affected box doesn’t have a proper config file, execute this within your LLDP container and let us know if you see an error there: sonic-cfggen -d -t /usr/share/sonic/templates/lldpd.conf.j2 |
After Executing the command in lldp container and restarting lldp service, it worked fine. I didn't see any errors. LLDP packet snip: root@sonic-s6100-01:~# tcpdump -i Ethernet0 ether proto 0x88cc -vv |
sonic-net/sonic-buildimage#1069 |
@chitra-raghavan could you help verify if this issue is fixed? then we could close this one. |
LLDP passes in latest label 369. |
There is a difference in lldp messages coming from S6000 and S6100.
Both devices should be replying with similar message type.
S6100 : Show lldp neighbors in ARISTA vms fails
In S6100 setup in ARISTA vms , neighbor port id is shown as sonic device mac address
Where as in S6000 setup , show lldp neighbor in ARISTA shows the sonic device port address.
S6100 vm output
ARISTA01T2#show lldp neighbors
Last table change time : 0:20:27 ago
Number of table inserts : 24
Number of table deletes : 23
Number of table drops : 0
Number of table age-outs : 8
Port Neighbor Device ID Neighbor Port ID TTL
Et1 sonic-s6100-01 4c76.25f4.7081 120
ARISTA01T2#
S6000 Vm output
ARISTA01T2#show lldp neighbors
Last table change time : 6:24:34 ago
Number of table inserts : 12
Number of table deletes : 11
mNumber of table drops : 0
Number of table age-outs : 1
Port Neighbor Device ID Neighbor Port ID TTL
Et1 sonic-s6000-02 fortyGigE0/0 120
ARISTA01T2#
Debug :
Upon debugging lldp packets in s6000 , the interface id is mentioned in Port ID TLV (2) , where as in S6100 , it is mentioned as mac address with (oui Unknown)
S6000 LLDP packet snip :
08:52:11.618909 LLDP, length 237
Chassis ID TLV (1), length 7
Subtype MAC address (4): 90:b1:1c:f4:9a:62 (oui Unknown)
Port ID TLV (2), length 13
Subtype Local (7): fortyGigE0/0
Time to Live TLV (3), length 2: TTL 120s
System Name TLV (5), length 14: sonic-s6000-02
System Description TLV (6), length 99
Debian GNU/Linux 8 (jessie) Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2015-12-19) x86_64
S6100 LLDP packet snip :
08:59:50.649027 LLDP, length 220
Chassis ID TLV (1), length 7
Subtype MAC address (4): 4c:76:25:f4:70:81 (oui Unknown)
Port ID TLV (2), length 7
Subtype MAC address (3): 4c:76:25:f4:70:81 (oui Unknown)
Time to Live TLV (3), length 2: TTL 120s
System Name TLV (5), length 14: sonic-s6100-01
System Description TLV (6), length 99
Debian GNU/Linux 8 (jessie) Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2015-12-19) x86_64·
RFC
Both implementation is fine as per RFC2922.
Looks like 6100 is sending mac address as Port ID string instead of port alias.
There is difference on the subtype.
Port ID
The Port ID is a mandatory TLV which identifies the port component of the
endpoint identifier associated with the transmitting LLDP agent. If the
specified port is an IEEE 802.3 Repeater port, then this TLV is optional.
0123
01234567890123456789012345678901
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x2 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Port ID Type | Port ID String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[ Figure 6 – Port ID TLV Format ]
Paul Congdon – IEEE 802.1 Page 6 3/7/2002 – St Louis Plenary
The Port ID fields are defined as follows:
Port ID Type
This field identifies the format and source of the port identifier
string. It is an enumerator defined by the PtopoPortIdType object
from RFC2922
Port ID String
The binary string containing the actual port identifier for the port
which this LLDP PDU was transmitted. The source and format of this
field is defined by PtopoPortId from RFC2922.
Port ID String
The binary string containing the actual port identifier for the port
which this LLDP PDU was transmitted. The source and format of this
field is defined by PtopoPortId from RFC2922.
PtopoPortId ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC describes the format of a port identifier string.
Objects of this type are always used with an associated
PtopoPortIdType object, which identifies the format of the
particular PtopoPortId object instance.
IMAGE VERSION :
root@sonic-s6100-01:~# show ver
SONiC Software Version: SONiC.HEAD.361-f7cdca4
Distribution: Debian 8.9
Kernel: 3.16.0-4-amd64
Build commit: f7cdca4
Build date: Mon Oct 16 13:14:32 UTC 2017
Built by: johnar@jenkins-worker-3
The text was updated successfully, but these errors were encountered: