summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Dugeon <olivier.dugeon@orange.com>2021-05-19 16:16:35 +0200
committerGitHub <noreply@github.com>2021-05-19 16:16:35 +0200
commite55ee4b9edd9c61a8dbfb1d13a87161d3a3169b7 (patch)
tree0878ee1d0f22713f923e4dc1b6410fdba108a435
parent1f25f6c768f0d359fdcad1baab71a813fa0993ae (diff)
parentbc298f5d493f5fe95d04bd68f15d082974ed04bf (diff)
Merge pull request #8690 from idryzhov/ospf-fix-tlv-size
ospfd: fix SID/Label Sub TLV size
-rw-r--r--ospfd/ospf_ri.c6
-rw-r--r--ospfd/ospf_sr.h2
2 files changed, 3 insertions, 5 deletions
diff --git a/ospfd/ospf_ri.c b/ospfd/ospf_ri.c
index c87a00a0d4..4b77943108 100644
--- a/ospfd/ospf_ri.c
+++ b/ospfd/ospf_ri.c
@@ -447,8 +447,7 @@ static void set_sr_global_label_range(struct sr_block srgb)
{
/* Set Header */
TLV_TYPE(OspfRI.sr_info.srgb) = htons(RI_SR_TLV_SRGB_LABEL_RANGE);
- TLV_LEN(OspfRI.sr_info.srgb) =
- htons(SUBTLV_SID_LABEL_SIZE + sizeof(uint32_t));
+ TLV_LEN(OspfRI.sr_info.srgb) = htons(RI_SR_TLV_LABEL_RANGE_SIZE);
/* Set Range Size */
OspfRI.sr_info.srgb.size = htonl(SET_RANGE_SIZE(srgb.range_size));
/* Set Lower bound label SubTLV */
@@ -471,8 +470,7 @@ static void set_sr_local_label_range(struct sr_block srlb)
{
/* Set Header */
TLV_TYPE(OspfRI.sr_info.srlb) = htons(RI_SR_TLV_SRLB_LABEL_RANGE);
- TLV_LEN(OspfRI.sr_info.srlb) =
- htons(SUBTLV_SID_LABEL_SIZE + sizeof(uint32_t));
+ TLV_LEN(OspfRI.sr_info.srlb) = htons(RI_SR_TLV_LABEL_RANGE_SIZE);
/* Set Range Size */
OspfRI.sr_info.srlb.size = htonl(SET_RANGE_SIZE(srlb.range_size));
/* Set Lower bound label SubTLV */
diff --git a/ospfd/ospf_sr.h b/ospfd/ospf_sr.h
index 4ded6ee3b6..ea54e3b310 100644
--- a/ospfd/ospf_sr.h
+++ b/ospfd/ospf_sr.h
@@ -61,7 +61,7 @@
/* SID/Label Sub TLV - section 2.1 */
#define SUBTLV_SID_LABEL 1
-#define SUBTLV_SID_LABEL_SIZE 8
+#define SUBTLV_SID_LABEL_SIZE 4
struct subtlv_sid_label {
/* Length is 3 (20 rightmost bits MPLS label) or 4 (32 bits SID) */
struct tlv_header header;