From Hadar Shoham:
authorjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 3 Jan 2011 21:40:03 +0000 (21:40 +0000)
committerjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 3 Jan 2011 21:40:03 +0000 (21:40 +0000)
Add support to EuroCableLabs at bootp opt 60 sub 23.
according to PKT-SP-PROV1.5-I04-090624, paragraph 10.23 Device MIB Support:
type 2 is indicating EuroCableLabs.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35350 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-bootp.c

index 0142568..99b30a9 100644 (file)
@@ -3258,7 +3258,7 @@ static const value_string pkt_mdc_t38_ec_vals[] = {
 static const value_string pkt_mdc_mib_orgs[] = {
        { 0x3030,       "CableLabs" },
        { 0x3031,       "IETF" },
-       { 0x3032,       "Reserved" },
+       { 0x3032,       "EuroCableLabs" },
        { 0x3033,       "Reserved" },
        { 0x3034,       "Reserved" },
        { 0x3035,       "Reserved" },
@@ -3302,6 +3302,19 @@ static const value_string pkt_mdc_ietf_mib_vals[] = {
        { 0, NULL }
 };
 
+#define PKT_MDC_MIB_EURO 0x3032
+static const value_string pkt_mdc_euro_mib_vals[] = {
+       { 1 << 0, "PacketCable 1.5 MTA MIB" },
+       { 1 << 1, "PacketCable 1.5 Signaling MIB" },
+       { 1 << 2, "PacketCable 1.5 Management Event MIB" },
+       { 1 << 3, "PacketCable 1.5 MTA Extension MIB" },
+       { 1 << 4, "PacketCable 1.5 Signaling Extension MIB" },
+       { 1 << 5, "PacketCable 1.5 MEM Extension MIB" },
+       { 1 << 6, "Reserved" },
+       { 1 << 7, "Reserved" },
+       { 0, NULL }
+};
+
 
 static void
 dissect_packetcable_mta_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len)
@@ -3505,6 +3518,18 @@ dissect_packetcable_mta_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len
                                                }
                                                break;
 
+                                       case PKT_MDC_MIB_EURO:
+                                               subtree2 = proto_item_add_subtree(mib_ti, ett_bootp_option);
+
+                                               for (i = 0; i < 8; i++) {
+                                                       if (mib_val & pkt_mdc_euro_mib_vals[i].value) {
+                                                               decode_bitfield_value(bit_fld, mib_val, pkt_mdc_euro_mib_vals[i].value, 8);
+                                                               proto_tree_add_text(subtree2, tvb, subopt_off, 2,
+                                                                                   "%s%s", bit_fld, pkt_mdc_euro_mib_vals[i].strptr);
+                                                       }
+                                               }
+                                               break;
+
                                        default:
                                                break;
                                        }