]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
show__ospf.yang: Deleting any key leads to Missing key, not deleting any key leads...
authorKaterina Kubecova <katerina.kubecova@nic.cz>
Mon, 4 Dec 2023 08:37:26 +0000 (09:37 +0100)
committerKaterina Kubecova <katerina.kubecova@nic.cz>
Mon, 4 Dec 2023 08:37:26 +0000 (09:37 +0100)
proto/ospf/ospf_for_cbor.c
yang/show_ospf.yang [new file with mode: 0644]

index d779a5251733295efa25dfeb1a41da482cbce047..46590ce4a27cf2b4ee771241421abcfa790b5b49 100644 (file)
@@ -87,9 +87,9 @@ show_lsa_router_cbor(struct cbor_writer *w, struct ospf_proto *p, struct top_has
       else
       {
         cbor_open_block_with_length(w, 3);
-          cbor_string_int(w, "network", rtl.id);
-          cbor_string_int(w, "nif", rtl.nif);
-          cbor_string_int(w, "metric", rtl.metric);
+        cbor_string_int(w, "network", rtl.id);
+        cbor_string_int(w, "nif", rtl.nif);
+        cbor_string_int(w, "metric", rtl.metric);
       }
     }
   }
diff --git a/yang/show_ospf.yang b/yang/show_ospf.yang
new file mode 100644 (file)
index 0000000..68c256e
--- /dev/null
@@ -0,0 +1,227 @@
+module show_ospf {
+
+  namespace ".";
+  
+  prefix "show_ospf";
+
+  description "cli show ospf topology format";
+  
+  grouping distance {
+    leaf distance {
+      type union {
+        type string;
+        type int32;
+      }
+    }
+  }
+
+  grouping metric {
+    leaf metric {
+      type int32;
+    }
+  }
+
+  grouping router {
+    leaf router {
+      type int32;
+    }
+  }
+
+  grouping lsa_router {
+    container lsa_router {
+      uses router;
+      uses distance;
+
+      list vlink {
+        key "vlink";
+        leaf vlink {
+          type int32;
+        }
+        leaf metric {
+          type int32;
+        }
+      }
+
+      list router_metric {
+        key "router";
+        uses router;
+        uses metric;
+      }
+
+      list network {
+        key "network";
+        leaf network {
+          type int32;
+        }
+        choice len_nif {
+          case len {
+            leaf len {
+              type int32;
+            }
+          }
+          case nif {
+            leaf nif {
+              type int32;
+            }
+          }
+        }
+        leaf metric {
+          mandatory false;
+          type int32;
+        }
+        list stubnet {
+          key "stubnet";
+          leaf stubnet {
+            type int32;
+          }
+          leaf len {
+            type int32;
+          }
+          uses metric;
+        }
+      }
+    }
+  }
+
+  grouping lsa_network {
+    container lsa_network {
+      choice ospf {
+        case ospf2 {
+          container ospf2 {
+            leaf network {
+              type int32;
+            }
+            leaf optx {
+              type int32;
+            }
+            leaf dr {
+              type int32;
+            }
+          }
+        }
+        case ospf {
+          container ospf {
+            leaf network {
+              type int32;
+            }
+            leaf lsa_id {
+              type int32;
+            }
+          }
+        }
+      }
+      uses distance;
+      list routers {
+        key "router";
+        uses router;
+      }
+    } 
+  }
+
+  grouping lsa_sum_net {
+    container lsa_sum_net {
+      leaf net {
+        type string;
+      }
+      uses metric;
+    }
+  }
+
+  grouping lsa_sum_rt {
+    container lsa_sum_rt {
+      uses router;
+      uses metric;
+    }
+  }
+
+  grouping lsa_external {
+    container lsa_external {
+      leaf via {
+        type string;
+      }
+      leaf tag {
+        type int32;
+      }
+      leaf lsa_type {
+        type string;
+      }
+      leaf rt_net {
+        type string;
+      }
+      leaf lsa_type {
+        type int32;
+      }
+      uses metric;
+    }
+  }
+
+  grouping lsa_prefix {
+    container lsa_prefix {
+      list prefixes {
+        leaf stubnet {
+          type string;
+        }
+        uses metric;
+      }
+    }
+  }
+
+  container ospf {
+    leaf error {
+      mandatory false;
+      type string;
+    }
+    list areas {
+      leaf area {
+        type int32;
+      }
+      choice lsa_type {
+        case rt {
+          uses lsa_router;
+        }
+        case net {
+          uses lsa_network;
+        }
+        case sum_net {
+          uses lsa_sum_net;
+        }
+        case sum_rt {
+          uses lsa_sum_rt;
+        }
+        case ext_nssa {
+          uses lsa_external;
+        }
+        case prefix {
+          uses lsa_prefix;
+        }
+      }
+    }
+    list asbrs {
+      container asbr {
+        leaf other_ABSRs {
+          type none;
+        }
+        uses router;
+        uses lsa_external;
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+