bgp: Order neighbor information in show run

When displaying the output of a 'show run',
display the neighbor information in an ordered
manner.

Ticket: CM-10184
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2016-03-31 12:41:58 -04:00
parent f813b13b71
commit 0aaa34db89

View File

@ -685,6 +685,26 @@ peer_af_delete (struct peer *peer, afi_t afi, safi_t safi)
int
peer_cmp (struct peer *p1, struct peer *p2)
{
if (p1->group && !p2->group)
return -1;
if (!p1->group && p2->group)
return 1;
if (p1->group == p2->group)
{
if (p1->conf_if && !p2->conf_if)
return -1;
if (!p1->conf_if && p2->conf_if)
return 1;
if (p1->conf_if && p2->conf_if)
return if_cmp_name_func (p1->conf_if, p2->conf_if);
}
else
return strcmp (p1->group->name, p2->group->name);
return sockunion_cmp (&p1->su, &p2->su);
}
@ -2550,7 +2570,11 @@ peer_group_bind (struct bgp *bgp, union sockunion *su, struct peer *peer,
}
else
{
struct listnode *pn;
pn = listnode_lookup (bgp->peer, peer);
list_delete_node (bgp->peer, pn);
peer->group = group;
listnode_add_sort (bgp->peer, peer);
peer = peer_lock (peer); /* group->peer list reference */
listnode_add (group->peer, peer);