}
/* Existing peer's AS number change. */
- if ((peer->as != *as) || (peer->as_type != as_type))
+ if (((peer->as_type == AS_SPECIFIED) && peer->as != *as) ||
+ (peer->as_type != as_type))
peer_as_change (peer, *as, as_type);
}
else
for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
{
- if ((peer->as != *as) || (peer->as_type != as_type))
+ if (((peer->as_type == AS_SPECIFIED) && peer->as != *as) ||
+ (peer->as_type != as_type))
peer_as_change (peer, *as, as_type);
}