]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Show in JSON if the advertised path is multipath
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 6 Dec 2022 16:27:40 +0000 (18:27 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 6 Dec 2022 19:39:14 +0000 (21:39 +0200)
```
  "advertisedRoutes":{
    "10.0.0.1\/32":{
      "addrPrefix":"10.0.0.1",
      "prefixLen":32,
      "network":"10.0.0.1\/32",
      "nextHop":"0.0.0.0",
      "weight":0,
      "path":"65001",
      "bgpOriginCode":"?",
      "appliedStatusSymbols":{
        "*":true,
        ">":true,
        "=":true
      }
    }
  },
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_route.c

index 4ade647cd08582a2b0e21b0a0b67c151eb528536..8436074eaf1faad38900ffdb7f84bbfd162e52d0 100644 (file)
@@ -9729,8 +9729,13 @@ void route_vty_out_tmp(struct vty *vty, struct bgp_dest *dest,
                }
        }
        if (use_json) {
+               struct bgp_path_info *bpi = bgp_dest_get_bgp_path_info(dest);
+
                json_object_boolean_true_add(json_status, "*");
                json_object_boolean_true_add(json_status, ">");
+
+               if (bpi && CHECK_FLAG(bpi->flags, BGP_PATH_MULTIPATH))
+                       json_object_boolean_true_add(json_status, "=");
                json_object_object_add(json_net, "appliedStatusSymbols",
                                       json_status);
                json_object_object_addf(json_ar, json_net, "%pFX", p);