]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Add new macros to define Sub-Sub-TLV ops
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Tue, 14 Feb 2023 14:43:52 +0000 (15:43 +0100)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Mon, 11 Sep 2023 20:11:25 +0000 (22:11 +0200)
Add two macros `SUBSUBTLV_OPS` and `ITEM_SUBSUBTLV_OPS` that help the
developer to define the TLV operations for the IS-IS Sub-Sub-TLVs.

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

index 1b466d00766cbeb8182889336ddcf646f39c93df..45abc38db72ccd4891349a40d83dc4c4c2fe78d0 100644 (file)
@@ -6533,6 +6533,15 @@ int isis_unpack_tlvs(size_t avail_len, struct stream *stream,
 #define ITEM_SUBTLV_OPS(_name_, _desc_) \
        ITEM_TLV_OPS(_name_, _desc_)
 
+#define SUBSUBTLV_OPS(_name_, _desc_)                                          \
+       static const struct tlv_ops subsubtlv_##_name_##_ops = {               \
+               .name = _desc_,                                                \
+               .unpack = unpack_subsubtlv_##_name_,                           \
+       }
+
+#define ITEM_SUBSUBTLV_OPS(_name_, _desc_) \
+       ITEM_TLV_OPS(_name_, _desc_)
+
 ITEM_TLV_OPS(area_address, "TLV 1 Area Addresses");
 ITEM_TLV_OPS(oldstyle_reach, "TLV 2 IS Reachability");
 ITEM_TLV_OPS(lan_neighbor, "TLV 6 LAN Neighbors");