From 87c82131083cfdd24e1b3c0f223ab02d4e25b56e Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Thu, 26 Mar 2020 16:06:34 +0200 Subject: [PATCH] bgpd: Show that prefix is malformed if aggregated by 0 Show if this malformed under `show [ip] bgp `: ``` eva# sh ip bgp 103.79.124.0/22 BGP routing table entry for 103.79.124.0/22 Paths: (1 available, best #1, table default) Advertised to non peer-group peers: 192.168.201.136 64539 15096 6939 7545 7545 136001, (aggregated by 0(malformed) 0.0.0.0) 192.168.201.136 from 192.168.201.136 (192.168.201.136) Origin IGP, valid, external, best (First path received) Last update: Thu Mar 26 10:02:07 2020 ``` Signed-off-by: Donatas Abraitis --- bgpd/bgp_route.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 842d305f80..e6dbc7d9d1 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -8713,10 +8713,22 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp, json_object_string_add( json_path, "aggregatorId", inet_ntoa(attr->aggregator_addr)); + if (attr->aggregator_as == BGP_AS_ZERO) + json_object_boolean_true_add( + json_path, "aggregatorAsMalformed"); + else + json_object_boolean_false_add( + json_path, "aggregatorAsMalformed"); } else { - vty_out(vty, ", (aggregated by %u %s)", - attr->aggregator_as, - inet_ntoa(attr->aggregator_addr)); + if (attr->aggregator_as == BGP_AS_ZERO) + vty_out(vty, + ", (aggregated by %u(malformed) %s)", + attr->aggregator_as, + inet_ntoa(attr->aggregator_addr)); + else + vty_out(vty, ", (aggregated by %u %s)", + attr->aggregator_as, + inet_ntoa(attr->aggregator_addr)); } } -- 2.39.5