]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Show software version in bgp summary
authorDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 25 Jul 2024 12:07:57 +0000 (15:07 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 25 Jul 2024 12:07:57 +0000 (15:07 +0300)
E.g.:

```
$ vtysh -c 'show bgp summary json' | jq '.ipv4Unicast.peers'
{
  "127.0.0.1": {
    "hostname": "donatas.net",
    "softwareVersion": "GoBGP/3.26.0",
    "remoteAs": 65001,
    "localAs": 65001,
    "version": 4,
    "msgRcvd": 12,
    "msgSent": 16,
    "tableVersion": 0,
    "outq": 0,
    "inq": 0,
    "peerUptime": "00:00:10",
    "peerUptimeMsec": 10000,
    "peerUptimeEstablishedEpoch": 1721908563,
    "pfxRcd": 0,
    "pfxSnt": 0,
    "state": "Established",
    "peerState": "OK",
    "connectionsEstablished": 1,
    "connectionsDropped": 0,
    "idType": "ipv4"
  },
  "127.0.0.3": {
    "hostname": "putin-xujlo",
    "domainname": "donatas.net",
    "softwareVersion": "ExaBGP/5.0.0-20240725+main-a56c70e84a",
    "remoteAs": 65003,
    "localAs": 65001,
    "version": 4,
    "msgRcvd": 3,
    "msgSent": 7,
    "tableVersion": 0,
    "outq": 0,
    "inq": 0,
    "peerUptime": "00:00:13",
    "peerUptimeMsec": 13000,
    "peerUptimeEstablishedEpoch": 1721908560,
    "pfxRcd": 0,
    "pfxSnt": 0,
    "state": "Established",
    "peerState": "OK",
    "connectionsEstablished": 1,
    "connectionsDropped": 0,
    "idType": "ipv4"
  }
}
```

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

index bce820237792d5e95361af47b66b82b8560ef0bc..2c02abd0d8fd8e7a17aba44a3f62369f609d47c5 100644 (file)
@@ -12329,6 +12329,12 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
                                        json_object_string_add(json_peer, "domainname",
                                                               peer->domainname);
 
+                               json_object_string_add(json_peer,
+                                                      "softwareVersion",
+                                                      peer->soft_version
+                                                              ? peer->soft_version
+                                                              : "n/a");
+
                                asn_asn2json(json_peer, "remoteAs", peer->as,
                                             bgp->asnotation);
                                asn_asn2json(json_peer, "localAs",