From 0afeda742c02b0aa239a48f120721142beee2ba7 Mon Sep 17 00:00:00 2001 From: Carmine Scarpitta Date: Tue, 14 Feb 2023 15:43:52 +0100 Subject: [PATCH] isisd: Add new macros to define Sub-Sub-TLV ops 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 --- isisd/isis_tlvs.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c index 1b466d0076..45abc38db7 100644 --- a/isisd/isis_tlvs.c +++ b/isisd/isis_tlvs.c @@ -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");