From 9a9f0b893ea125f6aa664f633c91a4576759fbca Mon Sep 17 00:00:00 2001 From: Olivier Dugeon Date: Mon, 20 Feb 2023 19:18:00 +0100 Subject: [PATCH 1/6] lib: Update Edge Key in link_state The original uin64_t for the edge key in link state is not always appropriate with IPv6 addresses. In some cases, 2 different edge with 2 different IPv6 addresses could conduct to the same key. The resulting TED is wrong in this case. This patch replace the uint64_t edge key by a dedicated structure. The resulting key of the edge is: - the local IPv4 address of the corresponding link - the local IPv6 address if no IPv4 address is configured on the link - the local + remote link ID for unnumbered address Signed-off-by: Olivier Dugeon --- lib/link_state.c | 115 +++++++++++++++++++++++++++++++---------------- lib/link_state.h | 30 +++++++++++-- 2 files changed, 102 insertions(+), 43 deletions(-) diff --git a/lib/link_state.c b/lib/link_state.c index 589c0ae704..aa4f275462 100644 --- a/lib/link_state.c +++ b/lib/link_state.c @@ -673,9 +673,9 @@ static void ls_edge_connect_to(struct ls_ted *ted, struct ls_edge *edge) } } -static uint64_t get_edge_key(struct ls_attributes *attr, bool dst) +static struct ls_edge_key get_edge_key(struct ls_attributes *attr, bool dst) { - uint64_t key = 0; + struct ls_edge_key key = {.family = AF_UNSPEC}; struct ls_standard *std; if (!attr) @@ -684,30 +684,37 @@ static uint64_t get_edge_key(struct ls_attributes *attr, bool dst) std = &attr->standard; if (dst) { - /* Key is the IPv4 remote address */ - if (CHECK_FLAG(attr->flags, LS_ATTR_NEIGH_ADDR)) - key = ((uint64_t)ntohl(std->remote.s_addr)) - & 0xffffffff; - /* or the 64 bits LSB of IPv6 remote address */ - else if (CHECK_FLAG(attr->flags, LS_ATTR_NEIGH_ADDR6)) - key = ((uint64_t)ntohl(std->remote6.s6_addr32[2]) << 32 - | (uint64_t)ntohl(std->remote6.s6_addr32[3])); - /* of remote identifier if no IP addresses are defined */ - else if (CHECK_FLAG(attr->flags, LS_ATTR_NEIGH_ID)) - key = (((uint64_t)std->remote_id) & 0xffffffff) - | ((uint64_t)std->local_id << 32); + if (CHECK_FLAG(attr->flags, LS_ATTR_NEIGH_ADDR)) { + /* Key is the IPv4 remote address */ + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &std->remote); + } else if (CHECK_FLAG(attr->flags, LS_ATTR_NEIGH_ADDR6)) { + /* or the IPv6 remote address */ + key.family = AF_INET6; + IPV6_ADDR_COPY(&key.k.addr6, &std->remote6); + } else if (CHECK_FLAG(attr->flags, LS_ATTR_NEIGH_ID)) { + /* or Remote identifier if IP addr. are not defined */ + key.family = AF_LOCAL; + key.k.link_id = + (((uint64_t)std->remote_id) & 0xffffffff) | + ((uint64_t)std->local_id << 32); + } } else { - /* Key is the IPv4 local address */ - if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR)) - key = ((uint64_t)ntohl(std->local.s_addr)) & 0xffffffff; - /* or the 64 bits LSB of IPv6 local address */ - else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR6)) - key = ((uint64_t)ntohl(std->local6.s6_addr32[2]) << 32 - | (uint64_t)ntohl(std->local6.s6_addr32[3])); - /* of local identifier if no IP addresses are defined */ - else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ID)) - key = (((uint64_t)std->local_id) & 0xffffffff) - | ((uint64_t)std->remote_id << 32); + if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR)) { + /* Key is the IPv4 local address */ + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &std->local); + } else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR6)) { + /* or the 64 bits LSB of IPv6 local address */ + key.family = AF_INET6; + IPV6_ADDR_COPY(&key.k.addr6, &std->local6); + } else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ID)) { + /* or Remote identifier if IP addr. are not defined */ + key.family = AF_LOCAL; + key.k.link_id = + (((uint64_t)std->local_id) & 0xffffffff) | + ((uint64_t)std->remote_id << 32); + } } return key; @@ -717,13 +724,13 @@ struct ls_edge *ls_edge_add(struct ls_ted *ted, struct ls_attributes *attributes) { struct ls_edge *new; - uint64_t key = 0; + struct ls_edge_key key; if (attributes == NULL) return NULL; key = get_edge_key(attributes, false); - if (key == 0) + if (key.family == AF_UNSPEC) return NULL; /* Create Edge and add it to the TED */ @@ -741,11 +748,12 @@ struct ls_edge *ls_edge_add(struct ls_ted *ted, return new; } -struct ls_edge *ls_find_edge_by_key(struct ls_ted *ted, const uint64_t key) +struct ls_edge *ls_find_edge_by_key(struct ls_ted *ted, + const struct ls_edge_key key) { struct ls_edge edge = {}; - if (key == 0) + if (key.family == AF_UNSPEC) return NULL; edge.key = key; @@ -761,7 +769,7 @@ struct ls_edge *ls_find_edge_by_source(struct ls_ted *ted, return NULL; edge.key = get_edge_key(attributes, false); - if (edge.key == 0) + if (edge.key.family == AF_UNSPEC) return NULL; return edges_find(&ted->edges, &edge); @@ -776,7 +784,7 @@ struct ls_edge *ls_find_edge_by_destination(struct ls_ted *ted, return NULL; edge.key = get_edge_key(attributes, true); - if (edge.key == 0) + if (edge.key.family == AF_UNSPEC) return NULL; return edges_find(&ted->edges, &edge); @@ -814,7 +822,7 @@ int ls_edge_same(struct ls_edge *e1, struct ls_edge *e2) if (!e1 && !e2) return 1; - if (e1->key != e2->key) + if (edge_cmp(e1, e2) != 0) return 0; if (e1->attributes == e2->attributes) @@ -2177,6 +2185,34 @@ void ls_show_vertices(struct ls_ted *ted, struct vty *vty, } } +static const char *edge_key_to_text(struct ls_edge_key key) +{ +#define FORMAT_BUF_COUNT 4 + static char buf_ring[FORMAT_BUF_COUNT][INET6_BUFSIZ]; + static size_t cur_buf = 0; + char *rv; + + rv = buf_ring[cur_buf]; + cur_buf = (cur_buf + 1) % FORMAT_BUF_COUNT; + + switch (key.family) { + case AF_INET: + snprintfrr(rv, INET6_BUFSIZ, "%pI4", &key.k.addr); + break; + case AF_INET6: + snprintfrr(rv, INET6_BUFSIZ, "%pI6", &key.k.addr6); + break; + case AF_LOCAL: + snprintfrr(rv, INET6_BUFSIZ, "%" PRIu64, key.k.link_id); + break; + default: + snprintfrr(rv, INET6_BUFSIZ, "(Unknown)"); + break; + } + + return rv; +} + static void ls_show_edge_vty(struct ls_edge *edge, struct vty *vty, bool verbose) { @@ -2189,7 +2225,7 @@ static void ls_show_edge_vty(struct ls_edge *edge, struct vty *vty, attr = edge->attributes; sbuf_init(&sbuf, NULL, 0); - sbuf_push(&sbuf, 2, "Edge (%" PRIu64 "): ", edge->key); + sbuf_push(&sbuf, 2, "Edge (%s): ", edge_key_to_text(edge->key)); if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR)) sbuf_push(&sbuf, 0, "%pI4", &attr->standard.local); else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR6)) @@ -2348,7 +2384,7 @@ static void ls_show_edge_json(struct ls_edge *edge, struct json_object *json) attr = edge->attributes; - json_object_int_add(json, "edge-id", edge->key); + json_object_string_add(json, "edge-id", edge_key_to_text(edge->key)); json_object_string_add(json, "status", status2txt[edge->status]); json_object_string_add(json, "origin", origin2txt[attr->adv.origin]); ls_node_id_to_text(attr->adv, buf, INET6_BUFSIZ); @@ -2726,8 +2762,8 @@ void ls_dump_ted(struct ls_ted *ted) for (ALL_LIST_ELEMENTS_RO(vertex->incoming_edges, lst_node, vertex_edge)) { zlog_debug( - " inc edge key:%" PRIu64 " attr key:%pI4 loc:(%pI4) rmt:(%pI4)", - vertex_edge->key, + " inc edge key:%s attr key:%pI4 loc:(%pI4) rmt:(%pI4)", + edge_key_to_text(vertex_edge->key), &vertex_edge->attributes->adv.id.ip.addr, &vertex_edge->attributes->standard.local, &vertex_edge->attributes->standard.remote); @@ -2735,15 +2771,16 @@ void ls_dump_ted(struct ls_ted *ted) for (ALL_LIST_ELEMENTS_RO(vertex->outgoing_edges, lst_node, vertex_edge)) { zlog_debug( - " out edge key:%" PRIu64 " attr key:%pI4 loc:(%pI4) rmt:(%pI4)", - vertex_edge->key, + " out edge key:%s attr key:%pI4 loc:(%pI4) rmt:(%pI4)", + edge_key_to_text(vertex_edge->key), &vertex_edge->attributes->adv.id.ip.addr, &vertex_edge->attributes->standard.local, &vertex_edge->attributes->standard.remote); } } frr_each (edges, &ted->edges, edge) { - zlog_debug(" Ted edge key:%" PRIu64 "src:%pI4 dst:%pI4", edge->key, + zlog_debug(" Ted edge key:%s src:%pI4 dst:%pI4", + edge_key_to_text(edge->key), edge->source ? &edge->source->node->router_id : &inaddr_any, edge->destination diff --git a/lib/link_state.h b/lib/link_state.h index e6a6388ba4..e4b97a34ed 100644 --- a/lib/link_state.h +++ b/lib/link_state.h @@ -382,13 +382,23 @@ struct ls_vertex { struct list *prefixes; /* List of advertised prefix */ }; +/* Link State Edge Key structure */ +struct ls_edge_key { + uint8_t family; + union { + struct in_addr addr; + struct in6_addr addr6; + uint64_t link_id; + } k; +}; + /* Link State Edge structure */ PREDECL_RBTREE_UNIQ(edges); struct ls_edge { enum ls_type type; /* Link State Type */ enum ls_status status; /* Status of the Edge in the TED */ struct edges_item entry; /* Entry in RB tree */ - uint64_t key; /* Unique Key identifier */ + struct ls_edge_key key; /* Unique Key identifier */ struct ls_attributes *attributes; /* Link State attributes */ struct ls_vertex *source; /* Pointer to the source Vertex */ struct ls_vertex *destination; /* Pointer to the destination Vertex */ @@ -416,13 +426,25 @@ DECLARE_RBTREE_UNIQ(vertices, struct ls_vertex, entry, vertex_cmp); macro_inline int edge_cmp(const struct ls_edge *edge1, const struct ls_edge *edge2) { - return numcmp(edge1->key, edge2->key); + if (edge1->key.family != edge2->key.family) + return numcmp(edge1->key.family, edge2->key.family); + + switch (edge1->key.family) { + case AF_INET: + return memcmp(&edge1->key.k.addr, &edge2->key.k.addr, 4); + case AF_INET6: + return memcmp(&edge1->key.k.addr6, &edge2->key.k.addr6, 16); + case AF_LOCAL: + return numcmp(edge1->key.k.link_id, edge2->key.k.link_id); + default: + return 0; + } } DECLARE_RBTREE_UNIQ(edges, struct ls_edge, entry, edge_cmp); /* * Prefix comparison are done to the host part so, 10.0.0.1/24 - * and 10.0.0.2/24 are considered come different + * and 10.0.0.2/24 are considered different */ macro_inline int subnet_cmp(const struct ls_subnet *a, const struct ls_subnet *b) @@ -619,7 +641,7 @@ extern void ls_edge_del_all(struct ls_ted *ted, struct ls_edge *edge); * @return Edge if found, NULL otherwise */ extern struct ls_edge *ls_find_edge_by_key(struct ls_ted *ted, - const uint64_t key); + const struct ls_edge_key key); /** * Find Edge in the Link State Data Base by the source (local IPv4 or IPv6 From dad17a219585872d90e7a319a4dd53a537815c34 Mon Sep 17 00:00:00 2001 From: Olivier Dugeon Date: Wed, 1 Mar 2023 11:48:56 +0100 Subject: [PATCH 2/6] ospfd: Update TE to new Link State Edge key Following the modification of the edge key in link state database this patch updates the ospf_te.c file to replace the old uint64_t edge key by the new ls_edge_key structure. For ospf, only IPv4 address is take into account. Signed-off-by: Olivier Dugeon --- ospfd/ospf_te.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/ospfd/ospf_te.c b/ospfd/ospf_te.c index dc9dd34303..28f6ab0f85 100644 --- a/ospfd/ospf_te.c +++ b/ospfd/ospf_te.c @@ -1667,12 +1667,13 @@ static struct ls_vertex *get_vertex(struct ls_ted *ted, struct ospf_lsa *lsa) static struct ls_edge *get_edge(struct ls_ted *ted, struct ls_node_id adv, struct in_addr link_id) { - uint64_t key; + struct ls_edge_key key; struct ls_edge *edge; struct ls_attributes *attr; /* Search Edge that corresponds to the Link ID */ - key = ((uint64_t)ntohl(link_id.s_addr)) & 0xffffffff; + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &link_id); edge = ls_find_edge_by_key(ted, key); /* Create new one if not exist */ @@ -2352,7 +2353,7 @@ static int ospf_te_delete_te(struct ls_ted *ted, struct ospf_lsa *lsa) struct ls_attributes *attr; struct tlv_header *tlvh; struct in_addr addr; - uint64_t key = 0; + struct ls_edge_key key = {.family = AF_UNSPEC}; uint16_t len, sum; uint8_t lsa_id; @@ -2368,12 +2369,13 @@ static int ospf_te_delete_te(struct ls_ted *ted, struct ospf_lsa *lsa) for (tlvh = TLV_DATA(tlvh); sum < len; tlvh = TLV_HDR_NEXT(tlvh)) { if (ntohs(tlvh->type) == TE_LINK_SUBTLV_LCLIF_IPADDR) { memcpy(&addr, TLV_DATA(tlvh), TE_LINK_SUBTLV_DEF_SIZE); - key = ((uint64_t)ntohl(addr.s_addr)) & 0xffffffff; + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &addr); break; } sum += TLV_SIZE(tlvh); } - if (key == 0) + if (key.family == AF_UNSPEC) return 0; /* Search Edge that corresponds to the Link ID */ @@ -2864,11 +2866,12 @@ static int ospf_te_delete_ext_link(struct ls_ted *ted, struct ospf_lsa *lsa) struct ls_edge *edge; struct ls_attributes *atr; struct ext_tlv_link *ext; - uint64_t key; + struct ls_edge_key key; /* Search for corresponding Edge from Link State Data Base */ ext = (struct ext_tlv_link *)TLV_HDR_TOP(lsa->data); - key = ((uint64_t)ntohl(ext->link_data.s_addr)) & 0xffffffff; + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &ext->link_data); edge = ls_find_edge_by_key(ted, key); /* Check if there is a corresponding Edge */ @@ -4321,6 +4324,7 @@ DEFUN (show_ip_ospf_mpls_te_db, struct ls_edge *edge; struct ls_subnet *subnet; uint64_t key; + struct ls_edge_key ekey; bool verbose = false; bool uj = use_json(argc, argv); json_object *json = NULL; @@ -4374,8 +4378,9 @@ DEFUN (show_ip_ospf_mpls_te_db, return CMD_WARNING_CONFIG_FAILED; } /* Get the Edge from the Link State Database */ - key = ((uint64_t)ntohl(ip_addr.s_addr)) & 0xffffffff; - edge = ls_find_edge_by_key(OspfMplsTE.ted, key); + ekey.family = AF_INET; + IPV4_ADDR_COPY(&ekey.k.addr, &ip_addr); + edge = ls_find_edge_by_key(OspfMplsTE.ted, ekey); if (!edge) { vty_out(vty, "No edge found for ID %pI4\n", &ip_addr); From 7564fcb8f9e532721ff11af2c639d9c33d8a19ad Mon Sep 17 00:00:00 2001 From: Olivier Dugeon Date: Wed, 1 Mar 2023 12:24:46 +0100 Subject: [PATCH 3/6] isisd: Update TE to new Link State Edge key Following the modification of the edge key in link state database this patch updates the isis_te.c file to replace the old uint64_t edge key by the new ls_edge_key structure. Signed-off-by: Olivier Dugeon --- isisd/isis_te.c | 70 ++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/isisd/isis_te.c b/isisd/isis_te.c index c0b5f35f47..71f1825629 100644 --- a/isisd/isis_te.c +++ b/isisd/isis_te.c @@ -657,7 +657,7 @@ static struct ls_edge *get_edge(struct ls_ted *ted, struct ls_attributes *attr) { struct ls_edge *edge; struct ls_standard *std; - uint64_t key = 0; + struct ls_edge_key key; /* Check parameters */ if (!ted || !attr) @@ -666,19 +666,22 @@ static struct ls_edge *get_edge(struct ls_ted *ted, struct ls_attributes *attr) std = &attr->standard; /* Compute keys in function of local address (IPv4/v6) or identifier */ - if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR)) - key = ((uint64_t)ntohl(std->local.s_addr)) & 0xffffffff; - else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR6)) - key = ((uint64_t)ntohl(std->local6.s6_addr32[2]) << 32 - | (uint64_t)ntohl(std->local6.s6_addr32[3])); - else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ID)) - key = ((uint64_t)std->remote_id << 32) - | (((uint64_t)std->local_id) & 0xffffffff); - else - key = 0; + if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR)) { + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &std->local); + } else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ADDR6)) { + key.family = AF_INET6; + IPV6_ADDR_COPY(&key.k.addr6, &std->local6); + } else if (CHECK_FLAG(attr->flags, LS_ATTR_LOCAL_ID)) { + key.family = AF_LOCAL; + key.k.link_id = (((uint64_t)std->local_id) & 0xffffffff) | + ((uint64_t)std->remote_id << 32); + } else { + key.family = AF_UNSPEC; + } /* Stop here if we don't got a valid key */ - if (key == 0) + if (key.family == AF_UNSPEC) return NULL; /* Get corresponding Edge by key from Link State Data Base */ @@ -697,18 +700,17 @@ static struct ls_edge *get_edge(struct ls_ted *ted, struct ls_attributes *attr) } if (CHECK_FLAG(edge->attributes->flags, LS_ATTR_LOCAL_ADDR)) - te_debug(" |- %s Edge (%" PRIu64 - ") from Extended Reach. %pI4", - edge->status == NEW ? "Create" : "Found", edge->key, - &attr->standard.local); + te_debug(" |- %s Edge (%pI4) from Extended Reach. %pI4", + edge->status == NEW ? "Create" : "Found", + &edge->key.k.addr, &attr->standard.local); else if (CHECK_FLAG(edge->attributes->flags, LS_ATTR_LOCAL_ADDR6)) - te_debug(" |- %s Edge (%" PRIu64 - ") from Extended Reach. %pI6", - edge->status == NEW ? "Create" : "Found", edge->key, - &attr->standard.local6); + te_debug(" |- %s Edge (%pI6) from Extended Reach. %pI6", + edge->status == NEW ? "Create" : "Found", + &edge->key.k.addr6, &attr->standard.local6); else te_debug(" |- %s Edge (%" PRIu64 ")", - edge->status == NEW ? "Create" : "Found", edge->key); + edge->status == NEW ? "Create" : "Found", + edge->key.k.link_id); return edge; } @@ -950,8 +952,21 @@ static int lsp_to_edge_cb(const uint8_t *id, uint32_t metric, bool old_metric, } /* Try to update remote Link from remote address or reachability ID */ - te_debug(" |- Link Edge (%" PRIu64 ") to destination vertex (%s)", - edge->key, print_sys_hostname(id)); + if (edge->key.family == AF_INET) + te_debug(" |- Link Edge (%pI4) to destination vertex (%s)", + &edge->key.k.addr, print_sys_hostname(id)); + else if (edge->key.family == AF_INET6) + te_debug(" |- Link Edge (%pI6) to destination vertex (%s)", + &edge->key.k.addr6, print_sys_hostname(id)); + else if (edge->key.family == AF_LOCAL) + te_debug(" |- Link Edge (%" PRIu64 + ") to destination vertex (%s)", + edge->key.k.link_id, print_sys_hostname(id)); + else + te_debug( + " |- Link Edge (Unknown) to destination vertex (%s)", + print_sys_hostname(id)); + dst = ls_find_edge_by_destination(args->ted, edge->attributes); if (dst) { /* Attach remote link if not set */ @@ -1741,7 +1756,7 @@ static int show_ted(struct vty *vty, struct cmd_token *argv[], int argc, struct ls_vertex *vertex; struct ls_edge *edge; struct ls_subnet *subnet; - uint64_t key; + struct ls_edge_key key; bool detail = false; bool uj = use_json(argc, argv); json_object *json = NULL; @@ -1795,7 +1810,8 @@ static int show_ted(struct vty *vty, struct cmd_token *argv[], int argc, return CMD_WARNING_CONFIG_FAILED; } /* Get the Edge from the Link State Database */ - key = ((uint64_t)ntohl(ip_addr.s_addr)) & 0xffffffff; + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &ip_addr); edge = ls_find_edge_by_key(ted, key); if (!edge) { vty_out(vty, "No edge found for ID %pI4\n", @@ -1810,8 +1826,8 @@ static int show_ted(struct vty *vty, struct cmd_token *argv[], int argc, return CMD_WARNING_CONFIG_FAILED; } /* Get the Edge from the Link State Database */ - key = (uint64_t)ntohl(ip6_addr.s6_addr32[3]) - | ((uint64_t)ntohl(ip6_addr.s6_addr32[2]) << 32); + key.family = AF_INET6; + IPV6_ADDR_COPY(&key.k.addr6, &ip6_addr); edge = ls_find_edge_by_key(ted, key); if (!edge) { vty_out(vty, "No edge found for ID %pI6\n", From 7f2742b657134ed631c01fc918755320fa52c393 Mon Sep 17 00:00:00 2001 From: Olivier Dugeon Date: Wed, 1 Mar 2023 14:09:45 +0100 Subject: [PATCH 4/6] pathd: Update TE to new Link State Edge key Following the modification of the edge key in link state database this patch updates the path_ted.c file to replace the old uint64_t edge key by the new ls_edge_key structure when searching for an edge. Signed-off-by: Olivier Dugeon --- pathd/path_ted.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pathd/path_ted.c b/pathd/path_ted.c index d8ddd8cdc8..86ce6d5a5f 100644 --- a/pathd/path_ted.c +++ b/pathd/path_ted.c @@ -206,7 +206,7 @@ uint32_t path_ted_query_type_f(struct ipaddr *local, struct ipaddr *remote) { uint32_t sid = MPLS_LABEL_NONE; struct ls_edge *edge; - uint64_t key; + struct ls_edge_key key; if (!path_ted_is_initialized()) return MPLS_LABEL_NONE; @@ -218,7 +218,8 @@ uint32_t path_ted_query_type_f(struct ipaddr *local, struct ipaddr *remote) case IPADDR_V4: /* We have local and remote ip */ /* so check all attributes in ted */ - key = ((uint64_t)ntohl(local->ip._v4_addr.s_addr)) & 0xffffffff; + key.family = AF_INET; + IPV4_ADDR_COPY(&key.k.addr, &local->ip._v4_addr); edge = ls_find_edge_by_key(ted_state_g.ted, key); if (edge) { if (edge->attributes->standard.remote.s_addr @@ -232,8 +233,8 @@ uint32_t path_ted_query_type_f(struct ipaddr *local, struct ipaddr *remote) } break; case IPADDR_V6: - key = (uint64_t)ntohl(local->ip._v6_addr.s6_addr32[2]) << 32 | - (uint64_t)ntohl(local->ip._v6_addr.s6_addr32[3]); + key.family = AF_INET6; + IPV6_ADDR_COPY(&key.k.addr6, &local->ip._v6_addr); edge = ls_find_edge_by_key(ted_state_g.ted, key); if (edge) { if ((0 == memcmp(&edge->attributes->standard.remote6, From f2dcaf355542883f776de7dd235f22287ff926c7 Mon Sep 17 00:00:00 2001 From: Olivier Dugeon Date: Wed, 1 Mar 2023 19:00:28 +0100 Subject: [PATCH 5/6] sharpd: Update TE to new Link State Edge key Following the modification of the edge key in link state database this patch updates the sharp_vty.c file to replace the old uint64_t edge key by the new ls_edge_key structure when searching for an edge. Signed-off-by: Olivier Dugeon --- sharpd/sharp_vty.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sharpd/sharp_vty.c b/sharpd/sharp_vty.c index 77b562d6a6..5e70c57443 100644 --- a/sharpd/sharp_vty.c +++ b/sharpd/sharp_vty.c @@ -985,6 +985,7 @@ DEFUN (show_sharp_ted, struct ls_edge *edge; struct ls_subnet *subnet; uint64_t key; + struct ls_edge_key ekey; bool verbose = false; bool uj = use_json(argc, argv); json_object *json = NULL; @@ -1035,8 +1036,9 @@ DEFUN (show_sharp_ted, return CMD_WARNING_CONFIG_FAILED; } /* Get the Edge from the Link State Database */ - key = ((uint64_t)ip_addr.s_addr) & 0xffffffff; - edge = ls_find_edge_by_key(sg.ted, key); + ekey.family = AF_INET; + IPV4_ADDR_COPY(&ekey.k.addr, &ip_addr); + edge = ls_find_edge_by_key(sg.ted, ekey); if (!edge) { vty_out(vty, "No edge found for ID %pI4\n", &ip_addr); From c62067c1a60e70c259aa4fb576f6acd106f5c612 Mon Sep 17 00:00:00 2001 From: Olivier Dugeon Date: Thu, 2 Mar 2023 13:59:00 +0100 Subject: [PATCH 6/6] tests: Update TE topotests to follow new Edge Key Following replacement of Edge Key type (uint64_t by new structure), this patch updates the various TE topotests to the new Edge Key references. Signed-off-by: Olivier Dugeon --- .../cspf_topo1/reference/sharp-ted.json | 28 ++++++++-------- .../isis_te_topo1/reference/ted_step1.json | 28 ++++++++-------- .../isis_te_topo1/reference/ted_step10.json | 32 +++++++++---------- .../isis_te_topo1/reference/ted_step2.json | 20 ++++++------ .../isis_te_topo1/reference/ted_step3.json | 24 +++++++------- .../isis_te_topo1/reference/ted_step4.json | 24 +++++++------- .../isis_te_topo1/reference/ted_step5.json | 32 +++++++++---------- .../isis_te_topo1/reference/ted_step6.json | 32 +++++++++---------- .../isis_te_topo1/reference/ted_step7.json | 32 +++++++++---------- .../isis_te_topo1/reference/ted_step8.json | 32 +++++++++---------- .../ospf_te_topo1/reference/ted_step1.json | 18 +++++------ .../ospf_te_topo1/reference/ted_step2.json | 14 ++++---- .../ospf_te_topo1/reference/ted_step3.json | 12 +++---- .../ospf_te_topo1/reference/ted_step4.json | 12 +++---- .../ospf_te_topo1/reference/ted_step5.json | 16 +++++----- .../ospf_te_topo1/reference/ted_step6.json | 16 +++++----- .../ospf_te_topo1/reference/ted_step7.json | 12 +++---- 17 files changed, 192 insertions(+), 192 deletions(-) diff --git a/tests/topotests/cspf_topo1/reference/sharp-ted.json b/tests/topotests/cspf_topo1/reference/sharp-ted.json index da240e87a3..359b655f01 100644 --- a/tests/topotests/cspf_topo1/reference/sharp-ted.json +++ b/tests/topotests/cspf_topo1/reference/sharp-ted.json @@ -53,7 +53,7 @@ ], "edges":[ { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -96,7 +96,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -139,7 +139,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -182,7 +182,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -226,7 +226,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -275,7 +275,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -318,7 +318,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -362,7 +362,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -405,7 +405,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -448,7 +448,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -491,7 +491,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -534,7 +534,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -578,7 +578,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -622,7 +622,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step1.json b/tests/topotests/isis_te_topo1/reference/ted_step1.json index d7711b7e59..b70626e85d 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step1.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step1.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -91,7 +91,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -132,7 +132,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -173,7 +173,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -215,7 +215,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -263,7 +263,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -306,7 +306,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -350,7 +350,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -391,7 +391,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -432,7 +432,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -473,7 +473,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -514,7 +514,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -556,7 +556,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -600,7 +600,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step10.json b/tests/topotests/isis_te_topo1/reference/ted_step10.json index 7d017b3430..f029e5aab0 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step10.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step10.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -108,7 +108,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -148,7 +148,7 @@ } }, { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -189,7 +189,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -230,7 +230,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -271,7 +271,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -313,7 +313,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -361,7 +361,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -404,7 +404,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -462,7 +462,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -503,7 +503,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -544,7 +544,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -585,7 +585,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -626,7 +626,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -668,7 +668,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -711,7 +711,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step2.json b/tests/topotests/isis_te_topo1/reference/ted_step2.json index 7b2074b69c..aa2bafb15a 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step2.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step2.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -91,7 +91,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -133,7 +133,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -181,7 +181,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -224,7 +224,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -268,7 +268,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -309,7 +309,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -350,7 +350,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -392,7 +392,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -436,7 +436,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step3.json b/tests/topotests/isis_te_topo1/reference/ted_step3.json index 528138477a..de6d108bb3 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step3.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step3.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -94,7 +94,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -134,7 +134,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -175,7 +175,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -217,7 +217,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -265,7 +265,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -308,7 +308,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -352,7 +352,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -393,7 +393,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -434,7 +434,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -476,7 +476,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -520,7 +520,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step4.json b/tests/topotests/isis_te_topo1/reference/ted_step4.json index 528138477a..de6d108bb3 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step4.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step4.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -94,7 +94,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -134,7 +134,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -175,7 +175,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -217,7 +217,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -265,7 +265,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -308,7 +308,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -352,7 +352,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -393,7 +393,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -434,7 +434,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -476,7 +476,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -520,7 +520,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step5.json b/tests/topotests/isis_te_topo1/reference/ted_step5.json index 72e441d186..7daee99297 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step5.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step5.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -94,7 +94,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -134,7 +134,7 @@ } }, { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -175,7 +175,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -216,7 +216,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -257,7 +257,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -299,7 +299,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -347,7 +347,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -390,7 +390,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -434,7 +434,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -475,7 +475,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -516,7 +516,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -557,7 +557,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -598,7 +598,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -640,7 +640,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -684,7 +684,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step6.json b/tests/topotests/isis_te_topo1/reference/ted_step6.json index a5f50c3eba..289eb1ebc2 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step6.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step6.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -94,7 +94,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -134,7 +134,7 @@ } }, { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -175,7 +175,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -216,7 +216,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -257,7 +257,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -299,7 +299,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -347,7 +347,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -390,7 +390,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -434,7 +434,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -475,7 +475,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -516,7 +516,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -557,7 +557,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -598,7 +598,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -640,7 +640,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -683,7 +683,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step7.json b/tests/topotests/isis_te_topo1/reference/ted_step7.json index 447febce48..18eb42fd32 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step7.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step7.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -109,7 +109,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -149,7 +149,7 @@ } }, { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -190,7 +190,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -231,7 +231,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -272,7 +272,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -314,7 +314,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -362,7 +362,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -405,7 +405,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -464,7 +464,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -505,7 +505,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -546,7 +546,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -587,7 +587,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -628,7 +628,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -670,7 +670,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -713,7 +713,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/isis_te_topo1/reference/ted_step8.json b/tests/topotests/isis_te_topo1/reference/ted_step8.json index 510e034eba..ede36cf93d 100644 --- a/tests/topotests/isis_te_topo1/reference/ted_step8.json +++ b/tests/topotests/isis_te_topo1/reference/ted_step8.json @@ -50,7 +50,7 @@ ], "edges":[ { - "edge-id":1, + "edge-id":"2001:db8::1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -109,7 +109,7 @@ } }, { - "edge-id":2, + "edge-id":"2001:db8::2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -149,7 +149,7 @@ } }, { - "edge-id":65537, + "edge-id":"2001:db8:1::1:1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -190,7 +190,7 @@ } }, { - "edge-id":65538, + "edge-id":"2001:db8:1::1:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -231,7 +231,7 @@ } }, { - "edge-id":196610, + "edge-id":"2001:db8:3::3:2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -272,7 +272,7 @@ } }, { - "edge-id":196611, + "edge-id":"2001:db8:3::3:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -314,7 +314,7 @@ } }, { - "edge-id":196612, + "edge-id":"2001:db8:5::3:4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", @@ -362,7 +362,7 @@ ] }, { - "edge-id":262147, + "edge-id":"2001:db8:5::4:3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -405,7 +405,7 @@ } }, { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -464,7 +464,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -505,7 +505,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0001", @@ -546,7 +546,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -587,7 +587,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -628,7 +628,7 @@ } }, { - "edge-id":167772931, + "edge-id":"10.0.3.3", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0003", @@ -670,7 +670,7 @@ } }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0002", @@ -713,7 +713,7 @@ } }, { - "edge-id":167773188, + "edge-id":"10.0.4.4", "status":"Sync", "origin":"ISIS_L2", "advertised-router":"0000.0000.0004", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step1.json b/tests/topotests/ospf_te_topo1/reference/ted_step1.json index 18aee4ffab..8b2413a894 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step1.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step1.json @@ -57,7 +57,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -101,7 +101,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -142,7 +142,7 @@ } }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -183,7 +183,7 @@ } }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -224,7 +224,7 @@ } }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -266,7 +266,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -307,7 +307,7 @@ } }, { - "edge-id":167773185, + "edge-id":"10.0.4.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.4", @@ -360,7 +360,7 @@ ] }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -404,7 +404,7 @@ } }, { - "edge-id":167773441, + "edge-id":"10.0.5.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step2.json b/tests/topotests/ospf_te_topo1/reference/ted_step2.json index 1ed7272560..625b57d15c 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step2.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step2.json @@ -57,7 +57,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -101,7 +101,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -142,7 +142,7 @@ } }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -184,7 +184,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -225,7 +225,7 @@ } }, { - "edge-id":167773185, + "edge-id":"10.0.4.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.4", @@ -278,7 +278,7 @@ ] }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -322,7 +322,7 @@ } }, { - "edge-id":167773441, + "edge-id":"10.0.5.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step3.json b/tests/topotests/ospf_te_topo1/reference/ted_step3.json index 0e79670c78..4cfec0f608 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step3.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step3.json @@ -49,7 +49,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -93,7 +93,7 @@ } }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -134,7 +134,7 @@ } }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -176,7 +176,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -217,7 +217,7 @@ } }, { - "edge-id":167773185, + "edge-id":"10.0.4.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.4", @@ -270,7 +270,7 @@ ] }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step4.json b/tests/topotests/ospf_te_topo1/reference/ted_step4.json index 860dcb3f21..e8e24d9805 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step4.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step4.json @@ -72,7 +72,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -128,7 +128,7 @@ ] }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -181,7 +181,7 @@ ] }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -223,7 +223,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -276,7 +276,7 @@ ] }, { - "edge-id":167773185, + "edge-id":"10.0.4.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.4", @@ -329,7 +329,7 @@ ] }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step5.json b/tests/topotests/ospf_te_topo1/reference/ted_step5.json index 615a691c45..4713cc0115 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step5.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step5.json @@ -72,7 +72,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -128,7 +128,7 @@ ] }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -181,7 +181,7 @@ ] }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -234,7 +234,7 @@ ] }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -287,7 +287,7 @@ ] }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -329,7 +329,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -382,7 +382,7 @@ ] }, { - "edge-id":167773185, + "edge-id":"10.0.4.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.4", @@ -435,7 +435,7 @@ ] }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step6.json b/tests/topotests/ospf_te_topo1/reference/ted_step6.json index 3b84d25808..aaac07b051 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step6.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step6.json @@ -72,7 +72,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -128,7 +128,7 @@ ] }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -181,7 +181,7 @@ ] }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -234,7 +234,7 @@ ] }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -287,7 +287,7 @@ ] }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -329,7 +329,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -382,7 +382,7 @@ ] }, { - "edge-id":167773185, + "edge-id":"10.0.4.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.4", @@ -437,7 +437,7 @@ ] }, { - "edge-id":167773186, + "edge-id":"10.0.4.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", diff --git a/tests/topotests/ospf_te_topo1/reference/ted_step7.json b/tests/topotests/ospf_te_topo1/reference/ted_step7.json index 83f8a1d5d6..56ed1f176b 100644 --- a/tests/topotests/ospf_te_topo1/reference/ted_step7.json +++ b/tests/topotests/ospf_te_topo1/reference/ted_step7.json @@ -53,7 +53,7 @@ ], "edges":[ { - "edge-id":167772161, + "edge-id":"10.0.0.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -109,7 +109,7 @@ ] }, { - "edge-id":167772162, + "edge-id":"10.0.0.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -162,7 +162,7 @@ ] }, { - "edge-id":167772417, + "edge-id":"10.0.1.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.1", @@ -215,7 +215,7 @@ ] }, { - "edge-id":167772418, + "edge-id":"10.0.1.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2", @@ -268,7 +268,7 @@ ] }, { - "edge-id":167772929, + "edge-id":"10.0.3.1", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.3", @@ -310,7 +310,7 @@ } }, { - "edge-id":167772930, + "edge-id":"10.0.3.2", "status":"Sync", "origin":"OSPFv2", "advertised-router":"10.0.255.2",