There are several things to be satisfied before OSPF can establish its full adjacency. These are Area-ID, Stub-Flags, Interface-Type, Timers, Authentication, and MTU. These attributes must match to the other peering.
Let’s say that you have a scenario to create Q-in-Q which requires you to alter the default MTU to 1504 using system mtu 1504. The verification also shows that your system MTU is indeed 1504.
SWITCH-3560#sh system mtu System MTU size is 1504 bytes System Jumbo MTU size is 1504 bytes Routing MTU size is 1500 bytes
Suddenly, your OSPF adjacency went down, re-initialized, and then stuck in EXSTART/EXCHANGE. In this state, both sides will try to exchange the DBD packets. This problem can occurs when the MTU attribute between peers doesn’t match. (Also, you can check for Unicast traffic – if any, ACL, or even NAT)
Well, isn’t that you have your switches MTU’s adjusted to 1504 using command system mtu 1504? Yes, the SYSTEM MTU is 1504, which was configured for Q-in-Q.
OSPF, however, uses ROUTING MTU instead of SYSTEM MTU. Therefore, to change the ROUTING MTU we need to use command system mtu routing 1504.
Another way to fix this issue is to disable the MTU checking during adjacency process. You can use ip ospf mtu-ignore. This can be handy if you don’t have the option to change the MTU value.
SWITCH-3560#sh system mtu
System MTU size is 1504 bytes
System Jumbo MTU size is 1504 bytes
Routing MTU size is 1500 bytes
SWITCH-3560#
*Mar 1 00:03:16.050: OSPF: Rcv DBD from 10.4.4.4 on Port-channel14 seq 0x1995 opt 0x52 flag 0x2 len 52 mtu 1504 state EXSTART
*Mar 1 00:03:16.050: OSPF: Nbr 10.4.4.4 has larger interface MTU
*Mar 1 00:03:20.974: OSPF: Send hello to 224.0.0.5 area 0 on Port-channel14 from 163.17.0.1
*Mar 1 00:03:21.058: OSPF: Send DBD to 10.4.4.4 on Port-channel14 seq 0x1995 opt 0x52 flag 0x7 len 32
*Mar 1 00:03:21.058: OSPF: Retransmitting DBD to 10.4.4.4 on Port-channel14 [20]
*Mar 1 00:03:21.058: OSPF: Rcv DBD from 10.4.4.4 on Port-channel14 seq 0x1995 opt 0x52 flag 0x2 len 52 mtu 1504 state EXSTART
*Mar 1 00:03:21.058: OSPF: Nbr 10.4.4.4 has larger interface MTU
*Mar 1 00:03:21.460: OSPF: Rcv hello from 10.4.4.4 area 0 from Port-channel14 163.17.0.4l
SWITCH-3560#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH-3560(config)#system mtu ?
<1500-1998> MTU size in bytes
jumbo Set Jumbo MTU value for GigabitEthernet or TenGigabitEthernet
interfaces
routing Set the Routing MTU for the system
SWITCH-3560(config)#system mtu routing 1504
*Mar 1 00:03:46.492: %SYS-5-CONFIG_I: Configured from console by console
*Mar 1 00:03:51.106: %OSPF-5-ADJCHG: Process 1, Nbr 10.4.4.4 on Port-channel14 from EXSTART to DOWN, Neighbor Down: Too many SWITCH-3560(config)#int port 14
SWITCH-3560(config-if)#shut
SWITCH-3560(config-if)#no shut
SWITCH-3560(config-if)#
*Mar 1 00:04:02.162: %OSPF-5-ADJCHG: Process 1, Nbr 10.4.4.4 on Port-channel14 from DOWN to DOWN, Neighbor Down: Interface down or detached
*Mar 1 00:04:03.135: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel14, changed state to down
SWITCH-3560(config-if)#
SWITCH-3560(config-if)#
*Mar 1 00:04:04.133: %LINK-3-UPDOWN: Interface Port-channel14, changed state to down
SWITCH-3560(config-if)#
*Mar 1 00:04:05.106: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/20, changed state to down
*Mar 1 00:04:05.123: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/21, changed state to down
SWITCH-3560(config-if)#
*Mar 1 00:04:06.574: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/21, changed state to up
*Mar 1 00:04:06.650: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/20, changed state to up
SWITCH-3560(config-if)#^Z
SWITCH-3560#
*Mar 1 00:04:07.572: %LINK-3-UPDOWN: Interface Port-channel14, changed state to up
SWITCH-3560#sh ip os
*Mar 1 00:04:08.369: %SYS-5-CONFIG_I: Configured from console by console
*Mar 1 00:04:08.588: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel14, changed state to up
*Mar 1 00:04:17.563: OSPF: Rcv hello from 10.4.4.4 area 0 from Port-channel14 163.17.0.4
*Mar 1 00:04:17.563: OSPF: 2 Way Communication to 10.4.4.4 on Port-channel14, state 2WAY
*Mar 1 00:04:17.563: OSPF: End of hello processing
*Mar 1 00:04:17.572: OSPF: Send hello to 224.0.0.5 area 0 on Port-channel14 from 163.17.0.1
*Mar 1 00:04:17.572: OSPF: will poll [count 10] interface status for Port-channel14
*Mar 1 00:04:27.563: OSPF: Rcv hello from 10.4.4.4 area 0 from Port-channel14 163.17.0.4
*Mar 1 00:04:27.563: OSPF: End of hello processing
*Mar 1 00:04:27.579: OSPF: Send hello to 224.0.0.5 area 0 on Port-channel14 from 163.17.0.1
*Mar 1 00:04:27.579: OSPF: will poll [count 9] interface status for Port-channel14
*Mar 1 00:04:37.562: OSPF: Rcv hello from 10.4.4.4 area 0 from Port-channel14 163.17.0.4
*Mar 1 00:04:37.562: OSPF: End of hello processing
*Mar 1 00:04:37.579: OSPF: Send hello to 224.0.0.5 area 0 on Port-channel14 from 163.17.0.1
*Mar 1 00:04:37.579: OSPF: will poll [count 8] interface status for Port-channel14
*Mar 1 00:04:47.569: OSPF: Rcv hello from 10.4.4.4 area 0 from Port-channel14 163.17.0.4
*Mar 1 00:04:47.569: OSPF: Backup seen Event before WAIT timer on Port-channel14
*Mar 1 00:04:47.569: OSPF: DR/BDR election on Port-channel14
*Mar 1 00:04:47.569: OSPF: Elect BDR 0.0.0.0
*Mar 1 00:04:47.569: OSPF: Elect DR 10.4.4.4
*Mar 1 00:04:47.569: DR: 10.4.4.4 (Id) BDR: none
*Mar 1 00:04:47.569: OSPF: Send DBD to 10.4.4.4 on Port-channel14 seq 0x12F3 opt 0x52 flag 0x7 len 32
*Mar 1 00:04:47.569: OSPF: End of hello processing
*Mar 1 00:04:47.569: OSPF: Rcv DBD from 10.4.4.4 on Port-channel14 seq 0x1041 opt 0x52 flag 0x7 len 32 mtu 1504 state EXSTART
*Mar 1 00:04:47.569: OSPF: First DBD and we are not SLAVE
*Mar 1 00:04:47.569: OSPF: Rcv DBD from 10.4.4.4 on Port-channel14 seq 0x12F3 opt 0x52 flag 0x2 len 92 mtu 1504 state EXSTART
*Mar 1 00:04:47.569: OSPF: NBR Negotiation Done. We are the MASTER
*Mar 1 00:04:47.569: OSPF: Send DBD to 10.4.4.4 on Port-channel14 seq 0x12F4 opt 0x52 flag 0x3 len 52
*Mar 1 00:04:47.578: OSPF: Rcv DBD from 10.4.4.4 on Port-channel14 seq 0x12F4 opt 0x52 flag 0x0 len 32 mtu 1504 state EXCHANGE
*Mar 1 00:04:47.578: OSPF: Send DBD to 10.4.4.4 on Port-channel14 seq 0x12F5 opt 0x52 flag 0x1 len 32
*Mar 1 00:04:47.578: OSPF: Send LS REQ to 10.4.4.4 length 36 LSA count 3
*Mar 1 00:04:47.578: OSPF: Rcv LS REQ from 10.4.4.4 on Port-channel14 length 36 LSA count 1
*Mar 1 00:04:47.578: OSPF: Send UPD to 163.17.0.4 on Port-channel14 length 40 LSA count 1
*Mar 1 00:04:47.578: OSPF: Rcv DBD from 10.4.4.4 on Port-channel14 seq 0x12F5 opt 0x52 flag 0x0 len 32 mtu 1504 state EXCHANGE
*Mar 1 00:04:47.578: OSPF: Exchange Done with 10.4.4.4 on Port-channel14
*Mar 1 00:04:47.578: OSPF: Rcv LS UPD from 10.4.4.4 on Port-channel14 length 156 LSA count 3
*Mar 1 00:04:47.578: OSPF: Synchronized with 10.4.4.4 on Port-channel14, state FULL
*Mar 1 00:04:47.578: %OSPF-5-ADJCHG: Process 1, Nbr 10.4.4.4 on Port-channel14 from LOADING to FULL, Loading Done
SWITCH-3560#sh system mtu
System MTU size is 1504 bytes
System Jumbo MTU size is 1504 bytes
Routing MTU size is 1504 bytes