• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Roger Perkin

Network Automation Architect

  • Network Automation
    • Network Automation Courses
    • What is NetDevOps?
    • Workflow Orchestration
    • Ansible Automation Platform
    • Ansible Workshop
    • What is Network Automation?
    • Network Automation Tools
    • ContainerLab
    • Ansible Training
      • What is Ansible?
      • Ansible Tutorial for Beginners
      • Ansible Network Automation
      • Ansible Inventory Example
    • Python Network Automation
      • Nornir
      • Python Network Automation Course
      • Python for Network Engineers
      • Python VENV / Virtual Environment Tutorial
      • Python Tutorial for Beginners
      • pyATS
    • Network Source of Truth
      • NetBox
      • Infrahub
    • NetDevops
    • DevOps Tutorial
      • Git Training
      • Terraform Training
      • Linux Training
      • Kubernetes Training
      • Devops Training Course
      • Azure Devops Training
    • Terraform
    • GIT
      • Git Commands
      • What is GitHub?
    • Docker Training
    • Confluence
    • Microsoft Azure
  • Cisco
    • ISE
    • SD WAN Training
    • Password Recovery
    • Software-Upgrade-Guides
    • BGP
    • Data Center
    • WIRELESS
  • CCIE
  • Blog
  • About
    • My Red Special Guitar
  • Contact

CCIE Troubleshooting OSPF Hello Mismatch

Home » OSPF Tutorials

Whilst reading the RFC for OSPFv2 – RFC 2328 I noticed an interesting sentence in section 10.5 about Receiving Hello Packets.

The generic input processing of OSPF packets will have checked the validity of the IP header and the OSPF packet header. Next, the values of the Network Mask, Hello Interval, and Router Dead Interval fields in the received Hello packet must
be checked against the values configured for the receiving interface. Any mismatch causes processing to stop and the packet to be dropped.

However, there is one exception to the above rule: on point-to-point networks and on virtual links, the Network Mask in the received Hello Packet should be ignored.

This could be a nice little trouble ticket, to demonstrate I have a very simple 2 router setup both router addressed and enabled for OPSF however R1 cannot ping the loopback address of R2, we will go through some basic troubleshooting to isolate the issue which will demonstrate the statement in the RFC

ccie troubleshooting ospf
Troubleshooting OSPF Hello Mismatch

 

First we are going to prove that R1 cannot ping R2’s Loopback 2.2.2.2

 

[stextbox id=”download” color=”00cc00″]
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
…..
Success rate is 0 percent (0/5)
R1#

[/stextbox]

Ok so the problem does exist R1’s loopback cannot ping R2’s loopback. Do we have unicast connectivity between the routers?

[stextbox id=”download” color=”00cc00″]
R1#ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
R1#
[/stextbox]

Yes we can so the routers can see each other. The next step is to see if the route exists for 2.2.2.2 in R1’s routing table

[stextbox id=”download” color=”00cc00″]
R1#sh ip route 2.2.2.2
% Network not in table
R1#
[/stextbox]

No it doesn’t so lets just check out OSPF – do we have an ospf neighbor? and while we are at it lets check out if the interfaces are enabled for OSPF

[stextbox id=”download” color=”00cc00″]
R1#sh ip ospf neigh
R1#sh ip ospf interface brief
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          1     0               1.1.1.1/32         1     LOOP  0/0
Fa0/0        1     0               10.0.0.1/25        10    DR    0/0
R1#
R2#sh ip ospf neighbor
R2#sh ip ospf int brief
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          1     0               2.2.2.2/32         1     LOOP  0/0
Fa0/0        1     0               10.0.0.2/24        10    DR    0/0
R2#
[/stextbox]

The more observant of you will have already spotted the problem? Lets do a debug to see if it shows itself.

[stextbox id=”download” color=”00cc00″]
R1#debug ip ospf hello
OSPF hello events debugging is on
R1#
*Mar  1 07:32:33.838: OSPF: Rcv hello from 2.2.2.2 area 0 from FastEthernet0/0 10.0.0.2
*Mar  1 07:32:33.842: OSPF: Mismatched hello parameters from 10.0.0.2
*Mar  1 07:32:33.842: OSPF: Dead R 40 C 40, Hello R 10 C 10  Mask R 255.255.255.0 C 255.255.255.128
R1#
[/stextbox]

Here you see Mask Received /24 Mask Configured /25 so R2 has a /25 mask whilst R1 has a /24 mask = mismatch

The interfaces have different masks and one of the requirements for an OSPF hello as stated in the RFC above is that the network mask must match, however there is one exception to this and on a point-to-point link or a virtual-link the network mask should be ignored..

So let’s change the ospf network type to point to point and see what happens

[stextbox id=”download” color=”00cc00″]
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int f0/0
R1(config-if)#ip ospf network point-to-point
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int f0/0
R2(config-if)#ip ospf network point-to-point
R2(config-if)#
*Mar  1 06:33:44.542: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
[/stextbox]

As you can see the OSPF neighbor comes up as the network mask is being ignored in the hello

So can R1’s loopback ping R2’s loopback?

[stextbox id=”download” color=”00cc00″]
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/10/32 ms
R1#
[/stextbox]

Yes! An interesting problem – very simple but if asked to fix this problem without changing any interface settings this is how to do it.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Category: OSPF TutorialsTag: CCIE, ccie blog, ospf, troubleshooting
ansible course for network engineers
Get Access to my Ansible Course NOW
Previous Post:CCIE Rack Rental
Next Post:CCIE Routing and Switching Certification Guide 4th Edition

Sidebar

Hi I'm Roger Perkin,
Based in the UK working as a Network Automation Architect, CCIE #50038
About Roger | Twitter | Linkedin

python course for network engineers

Topics

Network Automation
Ansible
Python for Network Automation
CCIE
Cisco ISE
F5 Certification
BGP
OSPF
Network Automation Conferences
auvik promo banner
Pluralsight Trial

Git for Network Engineers

Ansible vs Nornir

Start learning today with my Network Automation Courses

Master Ansible, Python, Git, Nornir, Jenkins and more..


Buy me a coffeeBuy me a coffee

ansible network automation course

Have you seen my YouTube Channel?

YouTube Subscribe

Let’s get started

Take a look at my premium courses on Ansible, Nornir & Git or buy them all with the Network Automation Bundle!

Network Automation Courses

Navigation

Python VENV Tutorial
Python for Network Engineers

Network Automation
Network Automation Courses
Network Discovery Tools
Network Automation Conferences
Ansible Training
What is Ansible?
Devops Tutorial
Network Source of Truth
DevOps Glossary
Network Monitoring Software

Contact

Contact

Get in touch with me here

[email protected]

  • Twitter
  • LinkedIn
  • YouTube
Buy me a coffeeBuy me a coffee

Copyright © 2025 · Roger Perkin · All Rights Reserved · Privacy Policy – Terms