diff options
author | Michael Mann <mmann78@netscape.net> | 2013-05-25 17:06:40 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-05-25 17:06:40 +0000 |
commit | 7e8e5b347e43359fcb36e32f9ce998c49b8d9fae (patch) | |
tree | 625973d8be777bdfa2d992ee473a77004180a742 /epan/dissectors/packet-cisco-erspan.c | |
parent | 66c859e765a8e881cedc8f93af706683775e8b7e (diff) |
Batch of filterable expert_infos.
svn path=/trunk/; revision=49581
Diffstat (limited to 'epan/dissectors/packet-cisco-erspan.c')
-rw-r--r-- | epan/dissectors/packet-cisco-erspan.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/epan/dissectors/packet-cisco-erspan.c b/epan/dissectors/packet-cisco-erspan.c index c1ac42e325..6576424f9f 100644 --- a/epan/dissectors/packet-cisco-erspan.c +++ b/epan/dissectors/packet-cisco-erspan.c @@ -84,6 +84,8 @@ static int hf_erspan_unknown5 = -1; static int hf_erspan_unknown6 = -1; static int hf_erspan_unknown7 = -1; +static expert_field ei_erspan_version_unknown = EI_INIT; + #define PROTO_SHORT_NAME "ERSPAN" #define PROTO_LONG_NAME "Encapsulated Remote Switch Packet ANalysis" @@ -151,8 +153,8 @@ dissect_erspan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) ti_ver = proto_tree_add_item(erspan_tree, hf_erspan_version, tvb, offset, 2, ENC_BIG_ENDIAN); if ((version != 1) && (version != 2 )) { - expert_add_info_format(pinfo, ti_ver, PI_UNDECODED, PI_WARN, "Unknown version, please report or test to use fake ERSPAN preference"); - return; + expert_add_info(pinfo, ti_ver, &ei_erspan_version_unknown); + return; } proto_tree_add_item(erspan_tree, hf_erspan_vlan, tvb, offset, 2, ENC_BIG_ENDIAN); @@ -211,6 +213,7 @@ void proto_register_erspan(void) { module_t *erspan_module; + expert_module_t* expert_erspan; static hf_register_info hf[] = { @@ -270,15 +273,21 @@ proto_register_erspan(void) { "Unknown7", "erspan.unknown7", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - }; + }; + static gint *ett[] = { &ett_erspan, }; - proto_erspan = proto_register_protocol(PROTO_LONG_NAME, - PROTO_SHORT_NAME, "erspan"); - proto_register_field_array(proto_erspan, hf, array_length(hf)); + static ei_register_info ei[] = { + { &ei_erspan_version_unknown, { "erspan.version.unknown", PI_UNDECODED, PI_WARN, "Unknown version, please report or test to use fake ERSPAN preference", EXPFILL }}, + }; + + proto_erspan = proto_register_protocol(PROTO_LONG_NAME, PROTO_SHORT_NAME, "erspan"); + proto_register_field_array(proto_erspan, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + expert_erspan = expert_register_protocol(proto_erspan); + expert_register_field_array(expert_erspan, ei, array_length(ei)); /* register dissection preferences */ erspan_module = prefs_register_protocol(proto_erspan, NULL); |