10 Aug

Deleting a subinterface that has IPv6 EIGRP running on it and crashing IOS XE

In some cases router running IOS XE might crash or produce traceback if we try to delete logical interface (like ie. port-channel) or subinterface that runs IPv6 EIGRP. This can occur mostly on XNE or older releaseses, has been fixed in new ones. Cisco have internal bug CSCtd63242 describing this problem (might be released into public).

For testing purposes I prepared following configuration

interface Port-channel1
 no ip address
 no negotiation auto
!
interface Port-channel1.282
 encapsulation dot1Q 282
 ip address 10.0.0.1 255.255.255.240
 ipv6 address 2A01:3D0:1:212::1/64
 ipv6 enable
 ipv6 eigrp 150
!

Let’s try to remove configuration

test-rtr(config)#no int port-ch 1
test-rtr(config)#

Exception to IOS Thread:
Frame pointer 2C64F498, PC = 116D5838

ASR1000-EXT-SIGNAL: U_SIGSEGV(11), Process = EIGRP-IPv6
-Traceback= 1#da7989e8973511c6ffbd1828e9ed3784  :10000000+16D5838 systime:B4E7000+19D0 :10000000+16D5A94 :10000000+629B9C :10000000+641A28 :10000000+3F1F108 :10000000+3F1F870 :10000000+3F200E4 

Fastpath Thread backtrace: 
-Traceback= 1#da7989e8973511c6ffbd1828e9ed3784  c:B20A000+D8678 c:B20A000+D8658 iosd_unix:B38C000+1247C pthread:AFB8000+56EC 

Auxiliary Thread backtrace: 
-Traceback= 1#da7989e8973511c6ffbd1828e9ed3784  pthread:AFB8000+B168 pthread:AFB8000+B148 c:B20A000+EDEB4 iosd_unix:B38C000+1BEE4 pthread:AFB8000+56EC 

PC  = 0x116D5838  LR  = 0x116D5A94  MSR = 0x0002D000
CTR = 0x0B4E89C0  XER = 0x00000000
R0  = 0x116D5A94  R1  = 0x2C64F498  R2  = 0x2C0619D0  R3  = 0x0D0D0D0D
R4  = 0x2C64F4C8  R5  = 0x00000004  R6  = 0x10629B98  R7  = 0x00000000
R8  = 0x03BC53F5  R9  = 0x00000000  R10 = 0x00000001  R11 = 0x00000000
R12 = 0x03BC53F4  R13 = 0x15B09550  R14 = 0x13F1FDB4  R15 = 0x00000000
R16 = 0x00000000  R17 = 0x00000000  R18 = 0x00000000  R19 = 0x00000000
R20 = 0x00000000  R21 = 0x13F20000  R22 = 0x2C64F5E8  R23 = 0x15240000
R24 = 0x153E0000  R25 = 0x15E90000  R26 = 0x2C647BE0  R27 = 0x00000000
R28 = 0x2C64F4C8  R29 = 0x10629B98  R30 = 0x00000004  R31 = 0x0D0D0D0D

Writing crashinfo to bootflash:crashinfo_RP_00_00_20110801-230510-UTC
Buffered messages:

000060: *Aug  1 06:34:36.421 UTC: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
000061: *Aug  1 06:35:15.252 UTC: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel1, changed state to down
000062: *Aug  1 06:36:33.701 UTC: %SYS-5-CONFIG_I: Configured from console by console
000063: *Aug  1 06:36:53.770 UTC: %SYS-5-CONFIG_I: Configured from console by console
000064: *Aug  1 06:37:26.149 UTC: %SYS-5-CONFIG_I: Configured from console by console
000065: *Aug  1 06:37:27.859 UTC: %LINK-3-UPDOWN: Interface GigabitEthernet0/0/0, changed state to up
000066: *Aug  1 06:37:28.859 UTC: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to up
000067: *Aug  1 06:37:27.932 UTC: %LINK-3-UPDOWN: SIP0/0: Interface GigabitEthernet0/0/0, changed state to up
000068: *Aug  1 06:48:50.464 UTC: %SYS-5-CONFIG_I: Configured from console by console
000069: *Aug  1 06:51:37.651 UTC: %SYS-5-CONFIG_I: Configured from console by console
000070: *Aug  1 07:06:52.608 UTC: %SYS-6-EXEC_EXPIRE_TIMER: (tty 0 (0.0.0.0)) exec-timeout timer expired for user 
000071: *Aug  1 22:49:29.616 UTC: %SYS-5-CONFIG_I: Configured from console by console
000072: *Aug  1 23:03:52.064 UTC: %LINK-5-CHANGED: Interface GigabitEthernet0/0/0, changed state to administratively down
000073: *Aug  1 23:03:53.064 UTC: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to down
000074: *Aug  1 23:04:02.488 UTC: %LINK-3-UPDOWN: Interface GigabitEthernet0/0/0, changed state to up
000075: *Aug  1 23:04:03.488 UTC: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to up
000076: *Aug  1 23:04:02.530 UTC: %LINK-3-UPDOWN: SIP0/0: Interface GigabitEthernet0/0/0, changed state to up
000077: *Aug  1 23:04:08.230 UTC: %SYS-5-CONFIG_I: Configured from console by console
Queued messages:Aug  1 23:06:41.536 R0/0: %PMAN-3-PROCHOLDDOWN: The process ppc_linux_iosd-image has been helddown (rc 139) 
Aug  1 23:06:41.742 R0/0: %PMAN-0-PROCFAILCRIT: A critical process ppc_linux_iosd_image has failed (rc 139) 
Aug  1 23:06:41.914 R0/0: %PMAN-3-RELOAD_RP_SB_NOT_READY: Reloading: Fault on Active RP bay but Standby RP bay is not ready 
Aug  1 23:06:48.762 R0/0: %PMAN-5-EXITACTION: Process manager is exiting: critical process fault, ppc_linux_iosd_image, rp_

What’s interested

There are two things we can do except recommended upgrade:
1) Remove EIGRP configuration from the subinterface with a before deleting the subinterface
2) Activate software redundancy (additional license is required) so software crash would cause only switchover to redundant IOS process.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.