]> git.proxmox.com Git - mirror_frr.git/commitdiff
Merge pull request #12447 from karlquan/master
authorRuss White <russ@riw.us>
Tue, 13 Dec 2022 13:54:13 +0000 (08:54 -0500)
committerGitHub <noreply@github.com>
Tue, 13 Dec 2022 13:54:13 +0000 (08:54 -0500)
BGP neighbor JSON output always displays hostname, nexthop and related keys

1  2 
bgpd/bgp_vty.c

diff --combined bgpd/bgp_vty.c
index 7b9400118b762e060926bf0656c7dae703a94845,7575ceb292a6ae5331f1ea406329359e328fbf3b..e51977f0f096b6884b011f769ca567ead438e13f
@@@ -1960,6 -1960,13 +1960,6 @@@ DEFUN (bgp_confederation_peers
  
        for (i = idx_asn; i < argc; i++) {
                as = strtoul(argv[i]->arg, NULL, 10);
 -
 -              if (bgp->as == as) {
 -                      vty_out(vty,
 -                              "%% Local member-AS not allowed in confed peer list\n");
 -                      continue;
 -              }
 -
                bgp_confederation_peers_add(bgp, as);
        }
        return CMD_SUCCESS;
@@@ -4678,7 -4685,7 +4678,7 @@@ static int peer_conf_interface_get(stru
                        ret = peer_remote_as(bgp, NULL, conf_if, &as, as_type);
        } else {
                peer = peer_create(NULL, conf_if, bgp, bgp->as, as, as_type,
 -                                 NULL);
 +                                 NULL, true);
  
                if (!peer) {
                        vty_out(vty, "%% BGP failed to create peer\n");
@@@ -13003,9 -13010,8 +13003,8 @@@ static void bgp_show_peer(struct vty *v
  
        if (p->hostname) {
                if (use_json) {
-                       if (p->hostname)
-                               json_object_string_add(json_neigh, "hostname",
-                                                      p->hostname);
+                       json_object_string_add(json_neigh, "hostname",
+                                              p->hostname);
  
                        if (p->domainname)
                                json_object_string_add(json_neigh, "domainname",
                        else
                                vty_out(vty, "Hostname: %s\n", p->hostname);
                }
+       } else {
+               if (use_json)
+                       json_object_string_add(json_neigh, "hostname",
+                                              "Unknown");
        }
  
        /* Peer-group */
                                p->shared_network ? "shared network"
                                                  : "non shared network");
                }
+       } else {
+               if (use_json) {
+                       json_object_string_add(json_neigh, "nexthop",
+                                              "Unknown");
+                       json_object_string_add(json_neigh, "nexthopGlobal",
+                                              "Unknown");
+                       json_object_string_add(json_neigh, "nexthopLocal",
+                                              "Unknown");
+                       json_object_string_add(json_neigh, "bgpConnection",
+                                              "Unknown");
+               }
        }
  
        /* Timer information. */