diff options
Diffstat (limited to 'eigrpd/eigrp_hello.c')
| -rw-r--r-- | eigrpd/eigrp_hello.c | 15 | 
1 files changed, 9 insertions, 6 deletions
diff --git a/eigrpd/eigrp_hello.c b/eigrpd/eigrp_hello.c index 051836d7e8..624c355eb4 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);      }  | 
