diff --git a/asn1/snmp/packet-snmp-template.c b/asn1/snmp/packet-snmp-template.c index a73f86ae63..b031b26ce0 100644 --- a/asn1/snmp/packet-snmp-template.c +++ b/asn1/snmp/packet-snmp-template.c @@ -615,6 +615,7 @@ show_oid_index: break; case OID_KEY_TYPE_IMPLIED_STRING: case OID_KEY_TYPE_IMPLIED_BYTES: + case OID_KEY_TYPE_ETHER: suboid = &(subids[key_start]); buf_len = key_len; break; @@ -652,6 +653,9 @@ show_oid_index: case OID_KEY_TYPE_IMPLIED_BYTES: proto_tree_add_bytes(pt_name,k->hfid,tvb,name_offset,buf_len, buf); break; + case OID_KEY_TYPE_ETHER: + proto_tree_add_ether(pt_name,k->hfid,tvb,name_offset,buf_len, buf); + break; case OID_KEY_TYPE_IPADDR: { guint32* ipv4_p = (void*)buf; proto_tree_add_ipv4(pt_name,k->hfid,tvb,name_offset,buf_len, *ipv4_p); diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c index 30980adc8c..eec4afb1f8 100644 --- a/epan/dissectors/packet-snmp.c +++ b/epan/dissectors/packet-snmp.c @@ -717,6 +717,7 @@ show_oid_index: break; case OID_KEY_TYPE_IMPLIED_STRING: case OID_KEY_TYPE_IMPLIED_BYTES: + case OID_KEY_TYPE_ETHER: suboid = &(subids[key_start]); buf_len = key_len; break; @@ -754,6 +755,9 @@ show_oid_index: case OID_KEY_TYPE_IMPLIED_BYTES: proto_tree_add_bytes(pt_name,k->hfid,tvb,name_offset,buf_len, buf); break; + case OID_KEY_TYPE_ETHER: + proto_tree_add_ether(pt_name,k->hfid,tvb,name_offset,buf_len, buf); + break; case OID_KEY_TYPE_IPADDR: { guint32* ipv4_p = (void*)buf; proto_tree_add_ipv4(pt_name,k->hfid,tvb,name_offset,buf_len, *ipv4_p); @@ -2592,7 +2596,7 @@ static void dissect_SMUX_PDUs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro /*--- End of included file: packet-snmp-fn.c ---*/ -#line 1403 "packet-snmp-template.c" +#line 1407 "packet-snmp-template.c" guint @@ -3369,7 +3373,7 @@ void proto_register_snmp(void) { "snmp.T_operation", HFILL }}, /*--- End of included file: packet-snmp-hfarr.c ---*/ -#line 1915 "packet-snmp-template.c" +#line 1919 "packet-snmp-template.c" }; /* List of subtrees */ @@ -3409,7 +3413,7 @@ void proto_register_snmp(void) { &ett_snmp_RReqPDU_U, /*--- End of included file: packet-snmp-ettarr.c ---*/ -#line 1931 "packet-snmp-template.c" +#line 1935 "packet-snmp-template.c" }; module_t *snmp_module; static uat_field_t users_fields[] = { diff --git a/epan/oids.c b/epan/oids.c index 9311c8699f..a49f201017 100644 --- a/epan/oids.c +++ b/epan/oids.c @@ -70,7 +70,7 @@ static const oid_value_type_t counter64_type = { FT_UINT64, BASE_DEC, BER_CLAS static const oid_value_type_t ipv6_type = { FT_IPv6, BASE_NONE, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, 16, 16, OID_KEY_TYPE_BYTES, 16}; static const oid_value_type_t float_type = { FT_FLOAT, BASE_DEC, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, 4, 4, OID_KEY_TYPE_WRONG, 0}; static const oid_value_type_t double_type = { FT_DOUBLE, BASE_DEC, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, 8, 8, OID_KEY_TYPE_WRONG, 0}; -static const oid_value_type_t ether_type = { FT_ETHER, BASE_NONE, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, 6, 6, OID_KEY_TYPE_BYTES, 6}; +static const oid_value_type_t ether_type = { FT_ETHER, BASE_NONE, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, 6, 6, OID_KEY_TYPE_ETHER, 6}; static const oid_value_type_t string_type = { FT_STRING, BASE_NONE, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, 0, -1, OID_KEY_TYPE_STRING, 0}; static const oid_value_type_t unknown_type = { FT_BYTES, BASE_NONE, BER_CLASS_ANY, BER_TAG_ANY, 0, -1, OID_KEY_TYPE_WRONG, 0}; diff --git a/epan/oids.h b/epan/oids.h index c0df64ae0b..704ae96301 100644 --- a/epan/oids.h +++ b/epan/oids.h @@ -50,7 +50,8 @@ typedef enum _oid_key_type_t { OID_KEY_TYPE_IPADDR, OID_KEY_TYPE_IMPLIED_OID, OID_KEY_TYPE_IMPLIED_STRING, - OID_KEY_TYPE_IMPLIED_BYTES + OID_KEY_TYPE_IMPLIED_BYTES, + OID_KEY_TYPE_ETHER, } oid_key_type_t; typedef struct _oid_value_type_t {