]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospfd: fix 'show ip ospf interface json'
authorQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 2 Jun 2017 19:10:03 +0000 (19:10 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Sun, 4 Jun 2017 18:50:12 +0000 (18:50 +0000)
json obj not recreated for each interface

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
ospfd/ospf_vty.c

index 49840a34b4ef37c4687e8f3039f6831fe36982d7..0eb3aa6a8ae64705e273820e80774739d2db3ea5 100644 (file)
@@ -3536,7 +3536,6 @@ show_ip_ospf_interface_common (struct vty *vty, struct ospf *ospf, int argc,
   if (use_json)
     {
       json = json_object_new_object();
-      json_interface_sub = json_object_new_object();
     }
 
   if (ospf->instance)
@@ -3555,7 +3554,11 @@ show_ip_ospf_interface_common (struct vty *vty, struct ospf *ospf, int argc,
         {
           if (ospf_oi_count(ifp))
             {
+              if (use_json)
+                json_interface_sub = json_object_new_object();
+
               show_ip_ospf_interface_sub (vty, ospf, ifp, json_interface_sub, use_json);
+
              if (use_json)
                json_object_object_add (json, ifp->name, json_interface_sub);
             }
@@ -3573,7 +3576,11 @@ show_ip_ospf_interface_common (struct vty *vty, struct ospf *ospf, int argc,
         }
       else
         {
+          if (use_json)
+            json_interface_sub = json_object_new_object();
+
           show_ip_ospf_interface_sub (vty, ospf, ifp, json_interface_sub, use_json);
+
           if (use_json)
             json_object_object_add(json, ifp->name, json_interface_sub);
         }