summaryrefslogtreecommitdiffstats
path: root/eigrpd/eigrp_hello.c
diff options
context:
space:
mode:
Diffstat (limited to 'eigrpd/eigrp_hello.c')
-rw-r--r--eigrpd/eigrp_hello.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/eigrpd/eigrp_hello.c b/eigrpd/eigrp_hello.c
index 051836d7e..624c355eb 100644
--- a/eigrpd/eigrp_hello.c
+++ b/eigrpd/eigrp_hello.c
@@ -252,7 +252,8 @@ eigrp_peer_termination_decode (struct eigrp_neighbor *nbr,
if(my_ip == received_ip)
{
zlog_info ("Neighbor %s (%s) is down: Peer Termination received",
- inet_ntoa (nbr->src),ifindex2ifname (nbr->ei->ifp->ifindex, VRF_DEFAULT));
+ inet_ntoa (nbr->src),
+ ifindex2ifname (nbr->ei->ifp->ifindex, VRF_DEFAULT));
/* set neighbor to DOWN */
nbr->state = EIGRP_NEIGHBOR_DOWN;
/* delete neighbor */
@@ -364,14 +365,15 @@ eigrp_hello_receive (struct eigrp *eigrp, struct ip *iph, struct eigrp_header *e
case EIGRP_TLV_SW_VERSION:
eigrp_sw_version_decode(nbr, tlv_header);
break;
- case EIGRP_TLV_NEXT_MCAST_SEQ:
- break;
+ case EIGRP_TLV_NEXT_MCAST_SEQ:
+ break;
case EIGRP_TLV_PEER_TERMINATION:
eigrp_peer_termination_decode(nbr, tlv_header);
+ return;
break;
case EIGRP_TLV_PEER_MTRLIST:
- case EIGRP_TLV_PEER_TIDLIST:
- break;
+ case EIGRP_TLV_PEER_TIDLIST:
+ break;
default:
break;
}
@@ -388,7 +390,8 @@ eigrp_hello_receive (struct eigrp *eigrp, struct ip *iph, struct eigrp_header *e
{
/* increment statistics. */
ei->hello_in++;
- eigrp_nbr_state_update(nbr);
+ if (nbr)
+ eigrp_nbr_state_update(nbr);
}