diff options
author | ff <francesco.fondelli@gmail.com> | 2015-08-16 17:27:01 +0200 |
---|---|---|
committer | Hadriel Kaplan <hadrielk@yahoo.com> | 2015-08-16 17:29:15 +0000 |
commit | 6f7811ed6808a67488c2d3f5f0296946ab9d6dc0 (patch) | |
tree | 294159fa827baf8b09f31758c73ec6f884ad57e2 | |
parent | 3755bc64016ca1cde8e6ba493040e2d6b5c5632c (diff) |
A new Early Allocation Request for draft-ietf-pce-lsp-setup-type and
draft-ietf-pce-segment-routing has been issued. Reference:
https://mailarchive.ietf.org/arch/msg/pce/Zdsc0HHl1SLvpANRWhpLvIzJQyI
There are implementations out there that are using 5 as SR-ERO subobject
identifier (instead of 36 that will be assigned by IANA) and 27 as the
PATH-SETUP-TYPE TLV identifier (instead of 28 that will be assigned by
IANA). This patch decodes both 5/36 as SR-ERO subobject and 27/28 as
PATH-SETUP-TYPE. It is unlikely that IANA will re-assign code points 5
and 27 in the near future.
Change-Id: Ie2efa869344e4c1121f19f1ee3a71711d566a037
Signed-off-by: ff <francesco.fondelli@gmail.com>
Reviewed-on: https://code.wireshark.org/review/10057
Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
-rw-r--r-- | epan/dissectors/packet-pcep.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/epan/dissectors/packet-pcep.c b/epan/dissectors/packet-pcep.c index f035287fb4..e3a1eb0708 100644 --- a/epan/dissectors/packet-pcep.c +++ b/epan/dissectors/packet-pcep.c @@ -92,10 +92,11 @@ void proto_reg_handoff_pcep(void); #define PCEP_SUB_IPv6 2 #define PCEP_SUB_LABEL_CONTROL 3 #define PCEP_SUB_UNNUMB_INTERFACE_ID 4 -#define PCEP_SUB_SR 5 +#define PCEP_SUB_SR_PRE_IANA 5 /* squatted, pre IANA assignment */ #define PCEP_SUB_AUTONOMOUS_SYS_NUM 32 #define PCEP_SUB_EXRS 33 #define PCEP_SUB_SRLG 34 +#define PCEP_SUB_SR 36 /* IANA assigned code point */ #define PCEP_SUB_PKSv4 64 #define PCEP_SUB_PKSv6 65 @@ -662,9 +663,10 @@ static const value_string pcep_subobj_vals[] = { {PCEP_SUB_UNNUMB_INTERFACE_ID, "SUBOBJECT UNNUMBERED INTERFACE-ID" }, {PCEP_SUB_AUTONOMOUS_SYS_NUM, "SUBOBJECT AUTONOMOUS SYSTEM NUMBER" }, {PCEP_SUB_SRLG, "SUBOBJECT SRLG" }, - {PCEP_SUB_SR, "SUBOBJECT SR" }, + {PCEP_SUB_SR_PRE_IANA, "SUBOBJECT SR" }, {PCEP_SUB_PKSv4, "SUBOBJECT PATH KEY (IPv4)" }, {PCEP_SUB_PKSv6, "SUBOBJECT PATH KEY (IPv6)" }, + {PCEP_SUB_SR, "SUBOBJECT SR" }, {0, NULL } }; @@ -756,6 +758,7 @@ static const value_string pcep_tlvs_vals[] = { {24, "SPEAKER-ENTITY-ID" }, {26, "SR-PCE-CAPABILITY" }, {27, "PATH-SETUP-TYPE" }, + {28, "PATH-SETUP-TYPE" }, {0, NULL } }; @@ -1107,8 +1110,8 @@ dissect_pcep_tlvs(proto_tree *pcep_obj, tvbuff_t *tvb, int offset, gint length, proto_tree_add_item(tlv, hf_pcep_sr_capability_msd, tvb, offset + 4 + j + 3, 1, ENC_BIG_ENDIAN); break; - case 27: /* PATH-SETUP-TYPE TLV */ - case 28: + case 27: /* PATH-SETUP-TYPE TLV (FF: squatted pre IANA assignment) */ + case 28: /* PATH-SETUP-TYPE TLV (FF: IANA code point) */ proto_tree_add_item(tlv, hf_pcep_path_setup_type_reserved24, tvb, offset + 4 + j, 3, ENC_BIG_ENDIAN); proto_tree_add_item(tlv, hf_pcep_path_setup_type, tvb, offset + 4 + j + 3, 1, ENC_NA); break; @@ -1940,6 +1943,7 @@ dissect_pcep_explicit_route_obj(proto_tree *pcep_object_tree, packet_info *pinfo case PCEP_SUB_PKSv4: dissect_subobj_pksv4(pcep_object_tree, pinfo, tvb, offset2, ett_pcep_obj_explicit_route, length); break; + case PCEP_SUB_SR_PRE_IANA: case PCEP_SUB_SR: dissect_subobj_sr(pcep_object_tree, pinfo, tvb, offset2, obj_class, ett_pcep_obj_explicit_route, length); break; |