From 3509b072a6e3e3df50390860e657ccb468a6fee1 Mon Sep 17 00:00:00 2001 From: Alexis La Goutte Date: Sun, 21 Aug 2016 16:54:13 +0200 Subject: [PATCH] LLC/STP (Cisco): Add Cisco Root Link Query PDU (STP) Cisco RLQ BPDUs, request (PID 0x0108) and response (PID 0x0109) used to support Cisco's extension (Backbone Fast [1]) to original 802.1D spanning-tree protocol. The format of the BPDUs is same as original STP configuration BPDUs [1] http://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/12014-18.html [2] http://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/12014-18.html#anc9 Issue reported by Garri Bug:12772 Change-Id: I0ffd169bf252ae11817c7a44ca3a67dfd4e221eb Reviewed-on: https://code.wireshark.org/review/17204 Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann --- epan/dissectors/packet-bpdu.c | 3 +++ epan/dissectors/packet-cisco-oui.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/epan/dissectors/packet-bpdu.c b/epan/dissectors/packet-bpdu.c index f7fe851b55..613e92c4cc 100644 --- a/epan/dissectors/packet-bpdu.c +++ b/epan/dissectors/packet-bpdu.c @@ -1375,8 +1375,11 @@ proto_reg_handoff_bpdu(void) dissector_add_uint("llc.dsap", SAP_BPDU, bpdu_handle); dissector_add_uint("chdlc.protocol", CHDLCTYPE_BPDU, bpdu_handle); dissector_add_uint("ethertype", ETHERTYPE_STP, bpdu_handle); + dissector_add_uint("llc.cisco_pid", 0x0108, bpdu_handle); /* Cisco's RLQ is just plain STP */ + dissector_add_uint("llc.cisco_pid", 0x0109, bpdu_handle); /* Cisco's RLQ is just plain STP */ dissector_add_uint("llc.cisco_pid", 0x010c, bpdu_handle); /* Cisco's VLAN-bridge STP is just plain STP */ + bpdu_handle = find_dissector("bpdu_cisco"); dissector_add_uint("llc.cisco_pid", 0x010b, bpdu_handle); /* Handle Cisco's (R)PVST+ TLV extensions */ } diff --git a/epan/dissectors/packet-cisco-oui.c b/epan/dissectors/packet-cisco-oui.c index 4f18a73506..3567dd0cf9 100644 --- a/epan/dissectors/packet-cisco-oui.c +++ b/epan/dissectors/packet-cisco-oui.c @@ -45,6 +45,8 @@ static const value_string cisco_pid_vals[] = { { 0x0102, "DRIP" }, { 0x0104, "PAgP" }, /* Port Aggregation Protocol */ { 0x0105, "MLS Hello" }, /* from a mail message found on the Web */ + { 0x0108, "RLQ BPDUs (request)" }, /* Root Link Query, see Bug: 12772 */ + { 0x0109, "RLQ BPDUs (response)" }, /* Root Link Query, see Bug: 12772 */ { 0x010b, "PVSTP+" }, /* Per-VLAN Spanning Tree Protocol */ { 0x010c, "VLAN Bridge" }, { 0x0111, "UDLD" }, /* Unidirectional Link Detection */