diff options
| author | Javier Garcia <javier.garcia@voltanet.io> | 2021-05-21 09:07:41 +0200 |
|---|---|---|
| committer | Javier Garcia <javier.garcia@voltanet.io> | 2021-06-22 12:04:03 +0200 |
| commit | 5fe7f5b4798c548dbbc62865c08ee4be4d67e119 (patch) | |
| tree | a7f28be3392d84f141f92b60f0e579a8a107bc55 /pceplib/pcep_msg_tlvs_encoding.c | |
| parent | cd551a0fd5430791ce4e650ccca9b312f02b9701 (diff) | |
pceplib: Extract fields needed for PcInitiated with Cisco pce. (1/4)
1.- Unknown/non-standard tlv where cisco sends BSID.
2.- Non-standard Vendor Info object where cisco sends color.
Co-authored-by: Javier Garcia <javier.garcia@voltanet.io>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
Diffstat (limited to 'pceplib/pcep_msg_tlvs_encoding.c')
| -rw-r--r-- | pceplib/pcep_msg_tlvs_encoding.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pceplib/pcep_msg_tlvs_encoding.c b/pceplib/pcep_msg_tlvs_encoding.c index 37f3353f76..d59c97c9da 100644 --- a/pceplib/pcep_msg_tlvs_encoding.c +++ b/pceplib/pcep_msg_tlvs_encoding.c @@ -838,7 +838,15 @@ struct pcep_object_tlv_header *pcep_decode_tlv(const uint8_t *tlv_buf) return NULL; } - tlv_decoder_funcptr tlv_decoder = tlv_decoders[tlv_hdr.type]; + tlv_decoder_funcptr tlv_decoder = NULL; + if (tlv_hdr.type == PCEP_OBJ_TYPE_CISCO_BSID) { + pcep_log(LOG_INFO, + "%s: Cisco BSID TLV decoder found for TLV type [%d]", + __func__, tlv_hdr.type); + tlv_decoder = tlv_decoders[PCEP_OBJ_TLV_TYPE_ARBITRARY]; + } else { + tlv_decoder = tlv_decoders[tlv_hdr.type]; + } if (tlv_decoder == NULL) { pcep_log(LOG_INFO, "%s: No TLV decoder found for TLV type [%d]", __func__, tlv_hdr.type); |
