isisd: Add copy function for SRv6 End SID Sub-TLV

Add a function to copy an SRv6 End SID Sub-TLV (RFC 9352 section #7.2).

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
This commit is contained in:
Carmine Scarpitta 2023-02-14 13:30:37 +01:00
parent 989138b99e
commit ee47a75047

View File

@ -2056,6 +2056,20 @@ static int unpack_tlvs(enum isis_tlv_context context, size_t avail_len,
struct stream *stream, struct sbuf *log, void *dest,
int indent, bool *unpacked_known_tlvs);
/* Functions for Sub-TLV 5 SRv6 End SID as per RFC 9352 section #7.2 */
static struct isis_item *copy_item_srv6_end_sid(struct isis_item *i)
{
struct isis_srv6_end_sid_subtlv *sid =
(struct isis_srv6_end_sid_subtlv *)i;
struct isis_srv6_end_sid_subtlv *rv =
XCALLOC(MTYPE_ISIS_SUBTLV, sizeof(*rv));
rv->behavior = sid->behavior;
rv->sid = sid->sid;
return (struct isis_item *)rv;
}
/* Functions related to TLVs 1 Area Addresses */
static struct isis_item *copy_item_area_address(struct isis_item *i)