]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Add Sub-Sub-TLVs to End SID format func
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Sat, 11 Mar 2023 11:01:07 +0000 (12:01 +0100)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Mon, 11 Sep 2023 20:11:29 +0000 (22:11 +0200)
Extend SRv6 End SID Sub-TLV format function to return information about
Sub-Sub-TLVs (RFC 9352 section #7.2).

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
isisd/isis_tlvs.c

index 6fddac58e845fa25feb4bbbf08b27d1474efc88f..53dc9cc22f097177d4c8ee42489cec22c160b587 100644 (file)
@@ -2163,11 +2163,25 @@ static void format_item_srv6_end_sid(uint16_t mtid, struct isis_item *i,
                                       seg6local_action2str(sid->behavior));
                json_object_string_addf(sid_json, "sid-value", "%pI6",
                                        &sid->sid);
+               if (sid->subsubtlvs) {
+                       struct json_object *subtlvs_json;
+                       subtlvs_json = json_object_new_object();
+                       json_object_object_add(sid_json, "subsubtlvs",
+                                              subtlvs_json);
+                       isis_format_subsubtlvs(sid->subsubtlvs, NULL,
+                                              subtlvs_json, 0);
+               }
        } else {
                sbuf_push(buf, indent, "SRv6 End SID ");
                sbuf_push(buf, 0, "Endpoint Behavior: %s, ",
                          seg6local_action2str(sid->behavior));
                sbuf_push(buf, 0, "SID value: %pI6\n", &sid->sid);
+
+               if (sid->subsubtlvs) {
+                       sbuf_push(buf, indent, "  Sub-Sub-TLVs:\n");
+                       isis_format_subsubtlvs(sid->subsubtlvs, buf, NULL,
+                                              indent + 4);
+               }
        }
 }