FRR creates an invalid format of the hello ISIS packet when interface MTU is between 1501 and 1535.
The lab:
Cisco Router <---> VyOS directly connected.
VyOS configuration
Configuration:
set interfaces ethernet eth1 address '192.168.100.55/24' set interfaces ethernet eth1 mtu '1508' set protocols isis interface eth1 set protocols isis net '49.0001.0000.0000.0005.00'
Cisco configuration:
interface GigabitEthernet0/0 mtu 1508 ip address 192.168.100.110 255.255.255.0 ip router isis duplex auto speed auto media-type rj45 router isis net 49.0001.0000.0000.0004.00
ISIS neighbors status:
VyOS:
vyos@vyos:~$ show isis neighbor Area VyOS: System Id Interface L State Holdtime SNPA Router eth1 1 Initializing 21 000c.2989.2dd6 Router eth1 2 Initializing 20 000c.2989.2dd6
Cisco:
Router#show isis neighbors System Id Type Interface IP Address State Holdtime Circuit Id
Troubleshooting:
On VyOS side:
vyos# debug isis adj-packets IS-IS Adjacency related packets debugging is on vyos# terminal monitor 2023-11-30 12:52:37.760 [DEBG] isisd: [SKACH-0THYP] ISIS-Adj (VyOS): Sending L2 LAN IIH on eth1, length 1505 2023-11-30 12:52:38.326 [DEBG] isisd: [SKACH-0THYP] ISIS-Adj (VyOS): Sending L1 LAN IIH on eth1, length 1505 2023-11-30 12:52:40.538 [DEBG] isisd: [SKACH-0THYP] ISIS-Adj (VyOS): Sending L2 LAN IIH on eth1, length 1505 2023-11-30 12:52:40.927 [DEBG] isisd: [H3GFN-BXSRF] ISIS-Adj (VyOS): Rcvd L2 LAN IIH on eth1, cirType L1L2, cirID 3 2023-11-30 12:52:40.927 [DEBG] isisd: [SCM84-DFK6R] ISIS-Adj (VyOS): Rcvd L2 LAN IIH from 000c.2989.2dd6 on eth1, cirType L1L2, cirID 3, length 1505 2023-11-30 12:52:41.085 [DEBG] isisd: [SKACH-0THYP] ISIS-Adj (VyOS): Sending L1 LAN IIH on eth1, length 1505 2023-11-30 12:52:41.954 [DEBG] isisd: [H3GFN-BXSRF] ISIS-Adj (VyOS): Rcvd L1 LAN IIH on eth1, cirType L1L2, cirID 3 2023-11-30 12:52:41.954 [DEBG] isisd: [SCM84-DFK6R] ISIS-Adj (VyOS): Rcvd L1 LAN IIH from 000c.2989.2dd6 on eth1, cirType L1L2, cirID 3, length 1505 2023-11-30 12:52:43.472 [DEBG] isisd: [SKACH-0THYP] ISIS-Adj (VyOS): Sending L2 LAN IIH on eth1, length 1505
On Cisco side:
Router#debug isis adj-packets IS-IS Adjacency related packets debugging is on for router process null Router# *Nov 30 14:55:10.319: ISIS-Adj: Sending L2 LAN IIH on GigabitEthernet0/0, length 1505 *Nov 30 14:55:12.197: ISIS-Adj: Sending L1 LAN IIH on GigabitEthernet0/0, length 1505
Tcpdump:
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes 12:57:03.607981 00:0c:29:9f:b5:c5 (oui Unknown) > 01:80:c2:00:00:15 (oui Unknown), ethertype Unknown (0x05e4), length 1522: 0x0000: fefe 0383 1b01 0010 0100 0003 0000 0000 ................ 0x0010: 0005 001e 05e1 4000 0000 0000 0000 8102 ......@......... 0x0020: cc8e 0104 0349 0001 0606 000c 2989 2dd6 .....I......).-. 0x0030: 8404 c0a8 6437 e810 fe80 0000 0000 0000 ....d7.......... 0x0040: 020c 29ff fe9f b5c5 08ff 0000 0000 0000 ..)............. 0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0100: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0110: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0120: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0130: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0140: 0000 0000 0000 0000 0008 ff00 0000 0000 ................ 0x0150: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0170: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0180: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0190: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0200: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0210: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0220: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0230: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0240: 0000 0000 0000 0000 0000 08ff 0000 0000 ................ 0x0250: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0260: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0270: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0280: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0290: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x02a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x02b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x02c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x02d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x02e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x02f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0300: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0310: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0320: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0330: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0340: 0000 0000 0000 0000 0000 0008 ff00 0000 ................ 0x0350: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0360: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0370: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0380: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0390: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x03a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x03b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x03c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x03d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x03e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x03f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0400: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0410: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0420: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0430: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0440: 0000 0000 0000 0000 0000 0000 08ff 0000 ................ 0x0450: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0460: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0470: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0480: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0490: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x04a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x04b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x04c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x04d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x04e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x04f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0500: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0510: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0520: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0530: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0540: 0000 0000 0000 0000 0000 0000 0008 9500 ................ 0x0550: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0560: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0570: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0580: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0590: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x05a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x05b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x05c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x05d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x05e0: 0000 0000 .... 12:57:04.991872 IS-IS, L2 Lan IIH, src-id 0000.0000.0004, lan-id 0000.0000.0004.01, prio 64, length 1505
Cisco does not understand this packet.
If we set mtu 1500 or 1536, everything works.
But if we create the lab VyOS<-->VyOS, routers will understand this packet as hello and adjacency will created.
I have created a lab - clear Debian with current FRR (9.2) from master brunch <---> Cisco and the issue has repeated.