return 1;
}
+ /* Do not activate a peer for both SAFI_UNICAST and SAFI_LABELED_UNICAST */
+ if ((safi == SAFI_UNICAST && peer->afc[afi][SAFI_LABELED_UNICAST]) ||
+ (safi == SAFI_LABELED_UNICAST && peer->afc[afi][SAFI_UNICAST]))
+ return BGP_ERR_PEER_SAFI_CONFLICT;
+
/* Nothing to do if we've already activated this peer */
if (peer->afc[afi][safi])
return 0;
* peer-group as well */
if (CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
{
+
+ /* Do not activate a peer for both SAFI_UNICAST and SAFI_LABELED_UNICAST */
+ if ((safi == SAFI_UNICAST && peer->afc[afi][SAFI_LABELED_UNICAST]) ||
+ (safi == SAFI_LABELED_UNICAST && peer->afc[afi][SAFI_UNICAST]))
+ return BGP_ERR_PEER_SAFI_CONFLICT;
+
peer->afc[afi][safi] = 1;
group = peer->group;