mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-21 21:16:48 +00:00
bgpd: Strip neighbors's description to 20 chars in show bgp summary
Also make sure we do not show descriptions with whitespace characters, just take the first splitted by whitespace. ``` root@exit1-debian-9:~/frr# vtysh -c 'show run' | grep description neighbor 192.168.0.2 description 12346789012345678901234567890 root@exit1-debian-9:~/frr# vtysh -c 'show ip bgp summary' | grep 192.168.0.2 192.168.0.2 4 65030 0 0 0 0 0 never Idle (Admin) 0 1234678901234567890 ``` ``` root@exit1-debian-9:~/frr# vtysh -c 'show run' | grep description neighbor 192.168.0.2 description one two root@exit1-debian-9:~/frr# vtysh -c 'show ip bgp summary' | grep 192.168.0.2 192.168.0.2 4 65030 0 0 0 0 0 never Idle (Admin) 0 one ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
This commit is contained in:
parent
91653aefd4
commit
cb75bb3173
@ -10499,6 +10499,25 @@ static void bgp_show_failed_summary(struct vty *vty, struct bgp *bgp,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the peer's description includes whitespaces
|
||||||
|
* then return the first occurrence. Also strip description
|
||||||
|
* to the given size if needed.
|
||||||
|
*/
|
||||||
|
static char *bgp_peer_description_stripped(char *desc, uint32_t size)
|
||||||
|
{
|
||||||
|
static char stripped[BUFSIZ];
|
||||||
|
char *pnt;
|
||||||
|
uint32_t len = size > strlen(desc) ? strlen(desc) : size;
|
||||||
|
|
||||||
|
pnt = strchr(desc, ' ');
|
||||||
|
if (pnt)
|
||||||
|
len = size > (uint32_t)(pnt - desc) ? (uint32_t)(pnt - desc)
|
||||||
|
: size;
|
||||||
|
|
||||||
|
strlcpy(stripped, desc, len + 1);
|
||||||
|
|
||||||
|
return stripped;
|
||||||
|
}
|
||||||
|
|
||||||
/* Show BGP peer's summary information. */
|
/* Show BGP peer's summary information. */
|
||||||
static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
|
static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
|
||||||
@ -11075,7 +11094,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
|
|||||||
vty_out(vty, " %8u", 0);
|
vty_out(vty, " %8u", 0);
|
||||||
}
|
}
|
||||||
if (peer->desc)
|
if (peer->desc)
|
||||||
vty_out(vty, " %s", peer->desc);
|
vty_out(vty, " %s",
|
||||||
|
bgp_peer_description_stripped(
|
||||||
|
peer->desc, 20));
|
||||||
else
|
else
|
||||||
vty_out(vty, " N/A");
|
vty_out(vty, " N/A");
|
||||||
vty_out(vty, "\n");
|
vty_out(vty, "\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user