diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 664c4b40bb..d3c2991204 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -1605,7 +1605,7 @@ bgp_update_receive (struct peer *peer, bgp_size_t size) afi = AFI_IP; safi = SAFI_UNICAST; } - else if (attr.flag == BGP_ATTR_MP_UNREACH_NLRI + else if (attr.flag & ATTR_FLAG_BIT (BGP_ATTR_MP_UNREACH_NLRI) && nlris[NLRI_MP_WITHDRAW].length == 0 && bgp_afi_safi_valid_indices (nlris[NLRI_MP_WITHDRAW].afi, &nlris[NLRI_MP_WITHDRAW].safi))