This document explains why a Cisco IOS® router can experience a not on common subnet error message when the router is configured with Enhanced Interior Gateway Routing Protocol (EIGRP).
EIGRP uses multicast hello packets in order to communicate to other EIGRP neighbors. If EIGRP receives a hello packet that is sourced from an IP address on a subnet that is not configured on the EIGRP receiving interface, EIGRP generates this error message:
timestamp: IP-EIGRP: Neighbor neighbor_IP_address not on common subnet for interface
This document requires a basic understanding of IP routing protocols and EIGRP routing protocol in general. In order to learn more about IP routing protocols and EIGRP, refer to these documents:
The information in this document is based on Cisco IOS Software Release 12.2(10b) on Cisco 2500 series routers.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
In this section, you are presented with the information to configure the features described in this document.
Note: Use the Command Lookup Tool (registered customers only) to find more information on the commands used in this document.
Cisco recommends that you configure all routers on a network segment with primary IP addresses on the same subnet. This example shows a common EIGRP configuration:
This document uses these configurations:
R1 |
---|
hostname R1 ! interface Ethernet0 ip address 10.1.1.1 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end |
R2 |
---|
hostname R2 ! interface Ethernet0 ip address 10.1.1.2 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end |
Use this section to confirm that your configuration works properly.
The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the OIT to view an analysis of show command output.
Issue the show ip eigrp neighbor command in order to verify that both routers see each other.
R1#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.1.1.2 Et0 12 00:00:16 0 3000 0 23
R2#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.1.1.1 Et0 14 00:01:19 12 200 0 11
Use this section to troubleshoot your configuration.
If everything is configured properly, you see an EIGRP neighbor relationship form. Change the configuration of R2. Place the R2 Ethernet0 interface in a different subnet.
R2#configure terminal R2(config)#interface ethernet0 R2(config-if)#ip address 10.1.2.2 255.255.255.0 R2(config-if)#end
Look at the R2 configuration now:
hostname R2 ! interface Ethernet0 ip address 10.1.2.2 255.255.255.0 ! router eigrp 1 network 10.0.0.0 ! end
Now you begin to receive error messages at the reception of an EIGRP hello packet. In this case, the messages occur approximately every 15 seconds, on both R1 and R2:
R1 3w0d: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 01:05:01: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:05:15: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:05:30: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:05:44: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.)
R2 3w0d: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 00:48:40: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.) 00:48:54: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.) 00:49:08: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.) 00:49:22: IP-EIGRP: Neighbor 10.1.1.1 not on common subnet for Ethernet0 (10.1.)
Despite the error messages, EIGRP works correctly with all other R1 or R2 neighbors. The updated show ip eigrp neighbor command output shows that the error message indicates a serious problem between R1 and R2. The routers are no longer neighbors and no longer exchange routing information.
R1 R1#show ip eigrp neighbor IP-EIGRP neighbors for process 1
R2 R2#show ip eigrp neighbor IP-EIGRP neighbors for process 1
You can also see this problem in networks that use secondary IP addresses, if the networks are not properly configured. Add a secondary address to R2:
R2 R2#configure terminal R2(config)#interface ethernet0 R2(config-if)#ip address 10.1.1.2 255.255.255.0 secondary R2(config-if)#end
The R2 configuration now looks like this:
hostname R2 ! interface Ethernet0 ip address 10.1.2.2 255.255.255.0 ip address 10.1.1.2 255.255.255.0 secondary ! router eigrp 1 network 10.0.0.0 ! end
Because R2 now recognizes 10.1.1.0/24 as a valid subnet for interface Ethernet0, you no longer see the not on common subnet error message on R2. R2 shows R1 as an EIGRP neighbor, and R2 receives and accepts R1 hello packets.
Router2#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 0 10.1.1.1 Et0 12 00:00:35 1 5000 1 0
However, R1 does not show R2 as a neighbor, and R1 does not accept routing updates from R2. This means that R2 continually resets its neighbor adjacency with R1. On R1, you continue to see the not on common subnet error message, and you do not see R2 listed in the EIGRP neighbor table.
R1#show ip eigrp neighbor IP-EIGRP neighbors for process 01:20:54: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:21:08: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:21:22: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.) 01:21:36: IP-EIGRP: Neighbor 10.1.2.2 not on common subnet for Ethernet0 (10.1.)
This happens because EIGRP updates always use the primary IP address of the outgoing interface as the source address. Change the primary address on R1 to match the R2 primary subnet, which is 10.1.2.1/24 in this example.
You can configure some networks with two separate subnets on the same physical segment. In this case, EIGRP routers on one subnet may not be able to communicate with EIGRP routers on the other subnet. If you run Cisco IOS Software Release 11.3, 12.0, or later, you can disable the not on common subnet error messages with use of the no eigrp log-neighbor-warnings command.
Note: Cisco does not generally recommend use of the no eigrp log-neighbor-warnings command. The command disables the not on common subnet error messages on all interfaces that the EIGRP process uses. Use the command with discretion.
Configure the no eigrp log-neighbor-warnings command in the EIGRP router configuration mode.
Router#configure terminal Router(config)#router eigrp 1 Router(config-router)#no eigrp log-neighbor-warnings
EIGRP uses multicast hello packets in order to communicate to other EIGRP neighbors. EIGRP generates the not on common subnet error message when it receives an EIGRP hello packet sourced from an IP address on a subnet that is not configured on its receiving interface.
These are the general cause for this error message:
Misconfiguration of the interfaces or switch ports or cabling problem.
Mismatch of primary/secondary IP addresses on the neighbor interface.
A switch/hub is leaking multicast packets to other ports.
If using a LAN switch, the vlans may have joined routers together.
Another router uses EIGRP advertising on the same subnet/vlan as this router and is misconfigured with an incorrect AS number.
In order to troubleshoot this issue, check these items:
Verify that the cable is connected correctly.
Double-check the interface configuration for misconfigured IP addresses on the local and neighboring routers.
Verify that the primary address of the interface is in the same subnet as the primary address of the neighbor router.
If the EIGRP neighbor connection is joined via a LAN hub, use separate hubs in order to break up the broadcast domain for each logical LAN segment, or configure no eigrp log-neighbor-warnings to eliminate the errors.
If there is a switch involved, check the switch configuration to make sure different LAN segments are not configured to be in the same VLAN that share the same broadcast domain.
Revision | Publish Date | Comments |
---|---|---|
1.0 |
27-Mar-2006 |
Initial Release |