Introduce "Fragment count" filter element for all protocols doing reassembly.
authorstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 30 Jan 2011 21:01:07 +0000 (21:01 +0000)
committerstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 30 Jan 2011 21:01:07 +0000 (21:01 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35705 f5534014-38df-0310-8fa8-9805f1628bb7

63 files changed:
asn1/idmp/packet-idmp-template.c
asn1/rtse/packet-rtse-template.c
asn1/t38/packet-t38-template.c
docbook/wsdg_src/WSDG_chapter_dissection.xml
epan/dissectors/packet-6lowpan.c
epan/dissectors/packet-atalk.c
epan/dissectors/packet-bacapp.c
epan/dissectors/packet-ber.c
epan/dissectors/packet-btobex.c
epan/dissectors/packet-capwap.c
epan/dissectors/packet-clnp.c
epan/dissectors/packet-dcerpc.c
epan/dissectors/packet-dcm.c
epan/dissectors/packet-dcp-etsi.c
epan/dissectors/packet-dnp.c
epan/dissectors/packet-dtls.c
epan/dissectors/packet-dtn.c
epan/dissectors/packet-eap.c
epan/dissectors/packet-gsm_sms.c
epan/dissectors/packet-gsm_sms_ud.c
epan/dissectors/packet-gssapi.c
epan/dissectors/packet-h223.c
epan/dissectors/packet-iax2.c
epan/dissectors/packet-idmp.c
epan/dissectors/packet-ieee80211.c
epan/dissectors/packet-ip.c
epan/dissectors/packet-ipv6.c
epan/dissectors/packet-isakmp.c
epan/dissectors/packet-isup.c
epan/dissectors/packet-lapdm.c
epan/dissectors/packet-ltp.c
epan/dissectors/packet-mp2t.c
epan/dissectors/packet-ncp2222.inc
epan/dissectors/packet-ndmp.c
epan/dissectors/packet-ndps.c
epan/dissectors/packet-netbios.c
epan/dissectors/packet-ositp.c
epan/dissectors/packet-p_mul.c
epan/dissectors/packet-pop.c
epan/dissectors/packet-q931.c
epan/dissectors/packet-reload.c
epan/dissectors/packet-rpc.c
epan/dissectors/packet-rtp.c
epan/dissectors/packet-rtse.c
epan/dissectors/packet-sccp.c
epan/dissectors/packet-scsi.c
epan/dissectors/packet-smb-pipe.c
epan/dissectors/packet-smb.c
epan/dissectors/packet-smtp.c
epan/dissectors/packet-sndcp.c
epan/dissectors/packet-ssl.c
epan/dissectors/packet-t38.c
epan/dissectors/packet-tcp.c
epan/dissectors/packet-tds.c
epan/dissectors/packet-teamspeak2.c
epan/dissectors/packet-tipc.c
epan/dissectors/packet-wai.c
epan/dissectors/packet-wtp.c
epan/dissectors/packet-x25.c
epan/dissectors/packet-zbee-aps.c
epan/reassemble.c
epan/reassemble.h
tools/ncp2222.py

index 877c1559b5c96f79d001917a54c25a3b08333b70..3c9b98b46a004dbbf4c74969f54a9f0f7cbf9c3f 100644 (file)
@@ -79,6 +79,7 @@ static int hf_idmp_fragment_overlap_conflicts = -1;
 static int hf_idmp_fragment_multiple_tails = -1;
 static int hf_idmp_fragment_too_long_fragment = -1;
 static int hf_idmp_fragment_error = -1;
+static int hf_idmp_fragment_count = -1;
 static int hf_idmp_reassembled_in = -1;
 static int hf_idmp_reassembled_length = -1;
 
@@ -97,6 +98,7 @@ static const fragment_items idmp_frag_items = {
        &hf_idmp_fragment_multiple_tails,
        &hf_idmp_fragment_too_long_fragment,
        &hf_idmp_fragment_error,
+       &hf_idmp_fragment_count,
        /* Reassembled in field */
        &hf_idmp_reassembled_in,
        /* Reassembled length field */
@@ -308,6 +310,9 @@ void proto_register_idmp(void) {
     { &hf_idmp_fragment_error,
       { "IDMP defragmentation error", "idmp.fragment.error", FT_FRAMENUM,
        BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_idmp_fragment_count,
+      { "IDMP fragment count", "idmp.fragment.count", FT_UINT32, BASE_DEC,
+       NULL, 0x00, NULL, HFILL } },
     { &hf_idmp_reassembled_in,
       { "Reassembled IDMP in frame", "idmp.reassembled.in", FT_FRAMENUM, BASE_NONE,
        NULL, 0x00, "This IDMP packet is reassembled in this frame", HFILL } },
index b88e142fe09e9edc97c567e603f265eeda9f9830..04aa4b9924d58c8ec58c1166d1427901f70ce7fe 100644 (file)
@@ -80,6 +80,7 @@ static int hf_rtse_fragment_overlap_conflicts = -1;
 static int hf_rtse_fragment_multiple_tails = -1;
 static int hf_rtse_fragment_too_long_fragment = -1;
 static int hf_rtse_fragment_error = -1;
+static int hf_rtse_fragment_count = -1;
 static int hf_rtse_reassembled_in = -1;
 static int hf_rtse_reassembled_length = -1;
 
@@ -98,6 +99,7 @@ static const fragment_items rtse_frag_items = {
        &hf_rtse_fragment_multiple_tails,
        &hf_rtse_fragment_too_long_fragment,
        &hf_rtse_fragment_error,
+       &hf_rtse_fragment_count,
        /* Reassembled in field */
        &hf_rtse_reassembled_in,
        /* Reassembled length field */
@@ -340,6 +342,9 @@ void proto_register_rtse(void) {
     { &hf_rtse_fragment_error,
       { "RTSE defragmentation error", "rtse.fragment.error", FT_FRAMENUM,
        BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_rtse_fragment_count,
+      { "RTSE fragment count", "rtse.fragment.count", FT_UINT32, BASE_DEC,
+       NULL, 0x00, NULL, HFILL } },
     { &hf_rtse_reassembled_in,
       { "Reassembled RTSE in frame", "rtse.reassembled.in", FT_FRAMENUM, BASE_NONE,
        NULL, 0x00, "This RTSE packet is reassembled in this frame", HFILL } },
index a08cffb4df8f8ce1913453bdac230262cf7e6259..6878a3ec26fc6bae7d7e9ad72067af48b75e3068 100644 (file)
@@ -135,6 +135,7 @@ static int hf_t38_fragment_overlap_conflicts = -1;
 static int hf_t38_fragment_multiple_tails = -1;
 static int hf_t38_fragment_too_long_fragment = -1;
 static int hf_t38_fragment_error = -1;
+static int hf_t38_fragment_count = -1;
 static int hf_t38_reassembled_in = -1;
 static int hf_t38_reassembled_length = -1;
 
@@ -163,6 +164,7 @@ static const fragment_items data_frag_items = {
        &hf_t38_fragment_multiple_tails,
        &hf_t38_fragment_too_long_fragment,
        &hf_t38_fragment_error,
+       &hf_t38_fragment_count,
        /* Reassembled in field */
        &hf_t38_reassembled_in,
        /* Reassembled length field */
@@ -700,6 +702,9 @@ proto_register_t38(void)
                {&hf_t38_fragment_error,
                        {"Message defragmentation error", "t38.fragment.error",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+               {&hf_t38_fragment_count,
+                       {"Message fragment count", "t38.fragment.count",
+                       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
                {&hf_t38_reassembled_in,
                        {"Reassembled in", "t38.reassembled.in",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
index 344c5e2d75be10e53d47f399a473303f849e031b..475486db0a955652e93caf40baaad20cdf4f28a5 100644 (file)
@@ -854,6 +854,7 @@ static int hf_msg_fragment_overlap_conflicts = -1;
 static int hf_msg_fragment_multiple_tails = -1;
 static int hf_msg_fragment_too_long_fragment = -1;
 static int hf_msg_fragment_error = -1;
+static int hf_msg_fragment_count = -1;
 static int hf_msg_reassembled_in = -1;
 static int hf_msg_reassembled_length = -1;
 ...
@@ -872,6 +873,7 @@ static const fragment_items msg_frag_items = {
     &hf_msg_fragment_multiple_tails,
     &hf_msg_fragment_too_long_fragment,
     &hf_msg_fragment_error,
+    &hf_msg_fragment_count,
     /* Reassembled in field */
     &hf_msg_reassembled_in,
     /* Reassembled length field */
@@ -906,6 +908,9 @@ static hf_register_info hf[] =
 {&hf_msg_fragment_error,
     {"Message defragmentation error", "msg.fragment.error",
     FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+{&hf_msg_fragment_count,
+    {"Message fragment count", "msg.fragment.count",
+    FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
 {&hf_msg_reassembled_in,
     {"Reassembled in", "msg.reassembled.in",
     FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
index 7cd4054bdb8b2bf08c15cd3b22f5d96063f70bbe..9dd791e000bdffc6456d2e438e718fe15cbb64d3 100644 (file)
@@ -375,6 +375,7 @@ static int hf_6lowpan_fragment_overlap_conflicts = -1;
 static int hf_6lowpan_fragment_multiple_tails = -1;
 static int hf_6lowpan_fragment_too_long_fragment = -1;
 static int hf_6lowpan_fragment_error = -1;
+static int hf_6lowpan_fragment_count = -1;
 static int hf_6lowpan_reassembled_in = -1;
 static int hf_6lowpan_reassembled_length = -1;
 static gint ett_6lowpan_fragment = -1;
@@ -392,6 +393,7 @@ static const fragment_items lowpan_frag_items = {
     &hf_6lowpan_fragment_multiple_tails,
     &hf_6lowpan_fragment_too_long_fragment,
     &hf_6lowpan_fragment_error,
+    &hf_6lowpan_fragment_count,
     /* Reassembled in field */
     &hf_6lowpan_reassembled_in,
     /* Reassembled length field */
@@ -2345,6 +2347,8 @@ proto_register_6lowpan(void)
         { "Message fragment too long",      "6lowpan.fragment.too_long_fragment", FT_BOOLEAN, BASE_NONE, NULL, 0x00, NULL, HFILL }},
         { &hf_6lowpan_fragment_error,
         { "Message defragmentation error",  "6lowpan.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }},
+        { &hf_6lowpan_fragment_count,
+        { "Message fragment count",     "6lowpan.fragment.count",FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL }},
         { &hf_6lowpan_reassembled_in,
         { "Reassembled in",                 "6lowpan.reassembled.in",FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }},
         { &hf_6lowpan_reassembled_length,
index 3210fe306c3df63d335df6945acbdbe5d5052bf9..a02c377c876cef4809d96ae0f332149c11d75ef9 100644 (file)
@@ -131,6 +131,7 @@ static int hf_atp_segment_overlap_conflict = -1;
 static int hf_atp_segment_multiple_tails = -1;
 static int hf_atp_segment_too_long_segment = -1;
 static int hf_atp_segment_error = -1;
+static int hf_atp_segment_count = -1;
 static int hf_atp_reassembled_in = -1;
 static int hf_atp_reassembled_length = -1;
 
@@ -349,6 +350,7 @@ static const fragment_items atp_frag_items = {
   &hf_atp_segment_multiple_tails,
   &hf_atp_segment_too_long_segment,
   &hf_atp_segment_error,
+  &hf_atp_segment_count,
   &hf_atp_reassembled_in,
   &hf_atp_reassembled_length,
   "segments"
@@ -2083,6 +2085,10 @@ proto_register_atalk(void)
       {"Desegmentation error",  "atp.segment.error", FT_FRAMENUM, BASE_NONE,
                 NULL, 0x0, "Desegmentation error due to illegal segments", HFILL }},
 
+    { &hf_atp_segment_count,
+      { "Segment count", "atp.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+        NULL, HFILL }},
+
     { &hf_atp_segment,
       { "ATP Fragment",         "atp.fragment", FT_FRAMENUM, BASE_NONE,
                 NULL, 0x0, NULL, HFILL }},
index fdcbfde193cc4b2082fa6c293a727910ad12dddf..2e3211f29c8625374ba4dc372385d143ef35281b 100644 (file)
@@ -3965,6 +3965,7 @@ static int hf_msg_fragment_overlap_conflicts = -1;
 static int hf_msg_fragment_multiple_tails = -1;
 static int hf_msg_fragment_too_long_fragment = -1;
 static int hf_msg_fragment_error = -1;
+static int hf_msg_fragment_count = -1;
 static int hf_msg_reassembled_in = -1;
 static int hf_msg_reassembled_length = -1;
 
@@ -4000,6 +4001,7 @@ static const fragment_items msg_frag_items = {
        &hf_msg_fragment_multiple_tails,
        &hf_msg_fragment_too_long_fragment,
        &hf_msg_fragment_error,
+       &hf_msg_fragment_count,
        /* Reassembled in field */
        &hf_msg_reassembled_in,
        /* Reassembled length field */
@@ -9372,6 +9374,9 @@ proto_register_bacapp(void)
                {&hf_msg_fragment_error,
                        {"Message defragmentation error", "bacapp.fragment.error",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+               {&hf_msg_fragment_count,
+                       {"Message fragment count", "bacapp.fragment.count",
+                       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
                {&hf_msg_reassembled_in,
                        {"Reassembled in", "bacapp.reassembled.in",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
index 07c6396dbdfd660088e83fca88c0e3a1d6058b0a..3a4c4e2e4f6f4392ec95ccf2294e3a5774ceedf9 100644 (file)
@@ -129,6 +129,7 @@ static int hf_ber_fragment_overlap_conflicts = -1;
 static int hf_ber_fragment_multiple_tails = -1;
 static int hf_ber_fragment_too_long_fragment = -1;
 static int hf_ber_fragment_error = -1;
+static int hf_ber_fragment_count = -1;
 static int hf_ber_reassembled_in = -1;
 static int hf_ber_reassembled_length = -1;
 
@@ -276,6 +277,7 @@ static const fragment_items octet_string_frag_items = {
        &hf_ber_fragment_multiple_tails,
        &hf_ber_fragment_too_long_fragment,
        &hf_ber_fragment_error,
+       &hf_ber_fragment_count,
        /* Reassembled in field */
        &hf_ber_reassembled_in,
        /* Reassembled length field */
@@ -4872,6 +4874,9 @@ proto_register_ber(void)
     { &hf_ber_fragment_error,
       { "OCTET STRING defragmentation error", "ber.octet_string.fragment.error", FT_FRAMENUM,
         BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_ber_fragment_count,
+      { "OCTET STRING fragment count", "ber.octet_string.fragment.count", FT_UINT32, BASE_DEC,
+        NULL, 0x00, NULL, HFILL } },
     { &hf_ber_reassembled_in,
       { "Reassembled in", "ber.octet_string.reassembled.in", FT_FRAMENUM, BASE_NONE,
         NULL, 0x00, NULL, HFILL } },
index 0c6d285161bf22adab014b1a82d4fae6b025b437..57a1d8dfa3e916b7c9acddfbaecce90ea33f34d7 100644 (file)
@@ -67,6 +67,7 @@ static int hf_btobex_fragment_overlap_conflict = -1;
 static int hf_btobex_fragment_multiple_tails = -1;
 static int hf_btobex_fragment_too_long_fragment = -1;
 static int hf_btobex_fragment_error = -1;
+static int hf_btobex_fragment_count = -1;
 static int hf_btobex_reassembled_in = -1;
 static int hf_btobex_reassembled_length = -1;
 static gint ett_btobex_fragment = -1;
@@ -85,6 +86,7 @@ static const fragment_items btobex_frag_items = {
     &hf_btobex_fragment_multiple_tails,
     &hf_btobex_fragment_too_long_fragment,
     &hf_btobex_fragment_error,
+    &hf_btobex_fragment_count,
     &hf_btobex_reassembled_in,
     &hf_btobex_reassembled_length,
     "fragments"
@@ -677,6 +679,10 @@ proto_register_btobex(void)
                        { "Defragmentation error", "btobex.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                                "Defragmentation error due to illegal fragments", HFILL }
                },
+               { &hf_btobex_fragment_count,
+                       { "Fragment count", "btobex.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+                         NULL, HFILL }
+               },
                { &hf_btobex_fragment,
                        { "OBEX Fragment", "btobex.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                                "btobex Fragment", HFILL }
index 7f47c0f51574905406f37ef7911e8f5aa59dfcab..551dab4b345bd2829cc1d3fec5d0ae51ba2f3c2e 100644 (file)
@@ -245,6 +245,7 @@ static int hf_msg_fragment_overlap_conflicts = -1;
 static int hf_msg_fragment_multiple_tails = -1;
 static int hf_msg_fragment_too_long_fragment = -1;
 static int hf_msg_fragment_error = -1;
+static int hf_msg_fragment_count = -1;
 static int hf_msg_reassembled_in = -1;
 static int hf_msg_reassembled_length = -1;
 
@@ -276,6 +277,7 @@ static const fragment_items capwap_frag_items = {
   &hf_msg_fragment_multiple_tails,
   &hf_msg_fragment_too_long_fragment,
   &hf_msg_fragment_error,
+  &hf_msg_fragment_count,
   /* Reassembled in field */
   &hf_msg_reassembled_in,
   /* Reassembled length field */
@@ -2141,6 +2143,9 @@ proto_register_capwap_control(void)
                { &hf_msg_fragment_error,
                        { "Message defragmentation error", "capwap.fragment.error", FT_FRAMENUM,
                        BASE_NONE, NULL, 0x00, NULL, HFILL } },
+               { &hf_msg_fragment_count,
+                       { "Message fragment count", "capwap.fragment.count", FT_UINT32, BASE_DEC,
+                       NULL, 0x00, NULL, HFILL } },
                { &hf_msg_reassembled_in,
                        { "Reassembled in", "capwap.reassembled.in", FT_FRAMENUM, BASE_NONE,
                        NULL, 0x00, NULL, HFILL } },
index d1afab658f3155dfe3d25fc44f694d7528798ba0..b32fa7f8cab39c2b7b1ce0c312940e3600d8484f 100644 (file)
@@ -67,6 +67,7 @@ static int hf_clnp_segment_overlap_conflict = -1;
 static int hf_clnp_segment_multiple_tails = -1;
 static int hf_clnp_segment_too_long_segment = -1;
 static int hf_clnp_segment_error = -1;
+static int hf_clnp_segment_count = -1;
 static int hf_clnp_reassembled_in = -1;
 static int hf_clnp_reassembled_length = -1;
 
@@ -80,6 +81,7 @@ static const fragment_items clnp_frag_items = {
        &hf_clnp_segment_multiple_tails,
        &hf_clnp_segment_too_long_segment,
        &hf_clnp_segment_error,
+       &hf_clnp_segment_count,
        &hf_clnp_reassembled_in,
        &hf_clnp_reassembled_length,
        "segments"
@@ -611,6 +613,10 @@ void proto_register_clnp(void)
       { "Reassembly error", "clnp.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
        "Reassembly error due to illegal segments", HFILL }},
 
+    { &hf_clnp_segment_count,
+      { "Segment count", "clnp.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+       NULL, HFILL }},
+
     { &hf_clnp_segment,
       { "CLNP Segment", "clnp.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
        NULL, HFILL }},
index a38d2c2966866086f45776718b022d550b5388ea..a2c43af713ea3564d6e2d406596bba80c2917762 100644 (file)
@@ -565,6 +565,7 @@ static int hf_dcerpc_fragment_overlap_conflict = -1;
 static int hf_dcerpc_fragment_multiple_tails = -1;
 static int hf_dcerpc_fragment_too_long_fragment = -1;
 static int hf_dcerpc_fragment_error = -1;
+static int hf_dcerpc_fragment_count = -1;
 static int hf_dcerpc_reassembled_in = -1;
 static int hf_dcerpc_reassembled_length = -1;
 static int hf_dcerpc_unknown_if_id = -1;
@@ -597,6 +598,7 @@ static const fragment_items dcerpc_frag_items = {
     &hf_dcerpc_fragment_multiple_tails,
     &hf_dcerpc_fragment_too_long_fragment,
     &hf_dcerpc_fragment_error,
+    &hf_dcerpc_fragment_count,
     NULL,
     &hf_dcerpc_reassembled_length,
     "fragments"
@@ -5854,6 +5856,10 @@ proto_register_dcerpc (void)
           { "Defragmentation error", "dcerpc.fragment.error", FT_FRAMENUM, BASE_NONE,
             NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
 
+        { &hf_dcerpc_fragment_count,
+          { "Fragment count", "dcerpc.fragment.count", FT_UINT32, BASE_DEC,
+            NULL, 0x0, NULL, HFILL }},
+
         { &hf_dcerpc_time,
           { "Time from request", "dcerpc.time", FT_RELATIVE_TIME, BASE_NONE,
             NULL, 0, "Time between Request and Response for DCE-RPC calls", HFILL }},
index 0ab797a9aa741c6376ba01c9f7d372309eb0543c..6a8a2ac8bcbe9124c0809c17f8ba6ae5b536059c 100644 (file)
@@ -353,6 +353,7 @@ static int hf_dcm_pdv_fragment_overlap_conflicts = -1;
 static int hf_dcm_pdv_fragment_multiple_tails = -1;
 static int hf_dcm_pdv_fragment_too_long_fragment = -1;
 static int hf_dcm_pdv_fragment_error = -1;
+static int hf_dcm_pdv_fragment_count = -1;
 static int hf_dcm_pdv_reassembled_in = -1;
 static int hf_dcm_pdv_reassembled_length = -1;
 
@@ -368,6 +369,7 @@ static const fragment_items dcm_pdv_fragment_items = {
     &hf_dcm_pdv_fragment_multiple_tails,
     &hf_dcm_pdv_fragment_too_long_fragment,
     &hf_dcm_pdv_fragment_error,
+    &hf_dcm_pdv_fragment_count,
     &hf_dcm_pdv_reassembled_in,
     &hf_dcm_pdv_reassembled_length,
     /* Tag */
@@ -6770,6 +6772,9 @@ proto_register_dcm(void)
     { &hf_dcm_pdv_fragment_error,
            { "Message defragmentation error", "dicom.pdv.fragment.error",
            FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_dcm_pdv_fragment_count,
+           { "Message fragment count", "dicom.pdv.fragment_count",
+           FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
     { &hf_dcm_pdv_reassembled_in,
            { "Reassembled in", "dicom.pdv.reassembled.in",
            FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
index a5c965ed9af90b25b887afde6ca028e550096589..fd2d683b57070cd7063de5028819c53bf8c499ca 100644 (file)
@@ -91,6 +91,7 @@ static int hf_edcp_fragment_overlap_conflicts = -1;
 static int hf_edcp_fragment_multiple_tails = -1;
 static int hf_edcp_fragment_too_long_fragment = -1;
 static int hf_edcp_fragment_error = -1;
+static int hf_edcp_fragment_count = -1;
 static int hf_edcp_reassembled_in = -1;
 static int hf_edcp_reassembled_length = -1;
 
@@ -117,6 +118,7 @@ static const fragment_items dcp_frag_items = {
   &hf_edcp_fragment_multiple_tails,
   &hf_edcp_fragment_too_long_fragment,
   &hf_edcp_fragment_error,
+  &hf_edcp_fragment_count,
 /* Reassembled in field */
   &hf_edcp_reassembled_in,
 /* Reassembled length field */
@@ -821,6 +823,9 @@ proto_register_dcp_etsi (void)
     {&hf_edcp_fragment_error,
      {"Message defragmentation error", "dcp-pft.fragment.error",
       FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL}},
+    {&hf_edcp_fragment_count,
+     {"Message fragment count", "dcp-pft.fragment.count",
+      FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL}},
     {&hf_edcp_reassembled_in,
      {"Reassembled in", "dcp-pft.reassembled.in",
       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL}},
index 56cd097f2db51ede669f7edf92dc2ee64455811e..b40b92baeae7a660a4244fa0703bdca877fb8eda 100644 (file)
@@ -1037,6 +1037,7 @@ static int   hf_dnp3_fragment_overlap_conflict = -1;
 static int   hf_dnp3_fragment_multiple_tails = -1;
 static int   hf_dnp3_fragment_too_long_fragment = -1;
 static int   hf_dnp3_fragment_error = -1;
+static int   hf_dnp3_fragment_count = -1;
 static int   hf_dnp3_fragment_reassembled_in = -1;
 static int   hf_dnp3_fragment_reassembled_length = -1;
 static gint ett_dnp3_fragment  = -1;
@@ -1052,6 +1053,7 @@ static const fragment_items dnp3_frag_items = {
   &hf_dnp3_fragment_multiple_tails,
   &hf_dnp3_fragment_too_long_fragment,
   &hf_dnp3_fragment_error,
+  &hf_dnp3_fragment_count,
   &hf_dnp3_fragment_reassembled_in,
   &hf_dnp3_fragment_reassembled_length,
   "DNP 3.0 fragments"
@@ -3438,6 +3440,10 @@ proto_register_dnp3(void)
     { "Defragmentation error", "dnp3.al.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
       "Defragmentation error due to illegal fragments", HFILL }},
 
+    { &hf_dnp3_fragment_count,
+    { "Fragment count", "dnp3.al.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+      NULL, HFILL }},
+
     { &hf_dnp3_fragment_reassembled_in,
     { "Reassembled PDU In Frame", "dnp3.al.fragment.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
       "This PDU is reassembled in this frame", HFILL }},
index aa2c98903cfecdc86bb51678f1c7a105eda3ceb5..143b104411f1f12f334cb4ecce3cb8a546c57fad 100644 (file)
@@ -146,6 +146,7 @@ static gint hf_dtls_fragment_overlap_conflicts = -1;
 static gint hf_dtls_fragment_multiple_tails    = -1;
 static gint hf_dtls_fragment_too_long_fragment = -1;
 static gint hf_dtls_fragment_error             = -1;
+static gint hf_dtls_fragment_count             = -1;
 static gint hf_dtls_reassembled_in             = -1;
 static gint hf_dtls_reassembled_length         = -1;
 
@@ -190,6 +191,7 @@ static const fragment_items dtls_frag_items = {
   &hf_dtls_fragment_multiple_tails,
   &hf_dtls_fragment_too_long_fragment,
   &hf_dtls_fragment_error,
+  &hf_dtls_fragment_count,
   /* Reassembled in field */
   &hf_dtls_reassembled_in,
   /* Reassembled length field */
@@ -2198,6 +2200,10 @@ proto_register_dtls(void)
       { "Message defragmentation error", "dtls.fragment.error",
         FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
     },
+    { &hf_dtls_fragment_count,
+      { "Message fragment count", "dtls.fragment.error",
+        FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL }
+    },
     { &hf_dtls_reassembled_in,
       { "Reassembled in", "dtls.reassembled.in",
         FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
index ac80b6767c5a4fc6b5aa5c1a646f5fb06d9d386e..0f0f4feba0186d5555c717ca3f490c05dc766898 100644 (file)
@@ -102,6 +102,7 @@ static int hf_msg_fragment_overlap_conflicts = -1;
 static int hf_msg_fragment_multiple_tails = -1;
 static int hf_msg_fragment_too_long_fragment = -1;
 static int hf_msg_fragment_error = -1;
+static int hf_msg_fragment_count = -1;
 static int hf_msg_reassembled_in = -1;
 static int hf_msg_reassembled_length = -1;
 
@@ -253,6 +254,7 @@ static const fragment_items msg_frag_items = {
     &hf_msg_fragment_multiple_tails,
     &hf_msg_fragment_too_long_fragment,
     &hf_msg_fragment_error,
+    &hf_msg_fragment_count,
     /*Reassembled in field*/
     &hf_msg_reassembled_in,
     /*Reassembled length field*/
@@ -2228,6 +2230,10 @@ proto_register_bundle(void)
         {"Message defragmentation error", "bundle.msg.fragment.error",
                FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
     },
+    {&hf_msg_fragment_count,
+        {"Message fragment count", "bundle.msg.fragment.count",
+               FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+    },
     {&hf_msg_reassembled_in,
         {"Reassembled in", "bundle.msg.reassembled.in",
                FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
index b020d4e42725637951c7a9a0ee26e5c9d2b026a5..23a5435c0069326360061efd29920c185b3b90c8 100644 (file)
@@ -210,6 +210,7 @@ static int   hf_eaptls_fragment_overlap_conflict = -1;
 static int   hf_eaptls_fragment_multiple_tails = -1;
 static int   hf_eaptls_fragment_too_long_fragment = -1;
 static int   hf_eaptls_fragment_error = -1;
+static int   hf_eaptls_fragment_count = -1;
 static int   hf_eaptls_reassembled_length = -1;
 static gint ett_eaptls_fragment  = -1;
 static gint ett_eaptls_fragments = -1;
@@ -227,6 +228,7 @@ static const fragment_items eaptls_frag_items = {
        &hf_eaptls_fragment_multiple_tails,
        &hf_eaptls_fragment_too_long_fragment,
        &hf_eaptls_fragment_error,
+       &hf_eaptls_fragment_count,
        NULL,
        &hf_eaptls_reassembled_length,
        "fragments"
@@ -1252,6 +1254,10 @@ proto_register_eap(void)
          { "Defragmentation error", "eaptls.fragment.error",
                FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                "Defragmentation error due to illegal fragments", HFILL }},
+       { &hf_eaptls_fragment_count,
+         { "Fragment count", "eaptls.fragment.count",
+               FT_UINT32, BASE_DEC, NULL, 0x0,
+               "The total length of the reassembled payload", HFILL }},
        { &hf_eaptls_reassembled_length,
          { "Reassembled EAP-TLS length", "eaptls.reassembled.length",
                FT_UINT32, BASE_DEC, NULL, 0x0,
index e8f70a6837293f68a36a89ba778b2b8540ec67f0..efaea32584425025938533e45cf8c5395246dace 100644 (file)
@@ -217,6 +217,7 @@ static int hf_gsm_sms_ud_fragment_overlap_conflicts = -1;
 static int hf_gsm_sms_ud_fragment_multiple_tails = -1;
 static int hf_gsm_sms_ud_fragment_too_long_fragment = -1;
 static int hf_gsm_sms_ud_fragment_error = -1;
+static int hf_gsm_sms_ud_fragment_count = -1;
 static int hf_gsm_sms_ud_reassembled_in = -1;
 static int hf_gsm_sms_ud_reassembled_length = -1;
 
@@ -232,6 +233,7 @@ static const fragment_items sm_frag_items = {
     &hf_gsm_sms_ud_fragment_multiple_tails,
     &hf_gsm_sms_ud_fragment_too_long_fragment,
     &hf_gsm_sms_ud_fragment_error,
+    &hf_gsm_sms_ud_fragment_count,
     /* Reassembled in field */
     &hf_gsm_sms_ud_reassembled_in,
     /* Reassembled length field */
@@ -3501,6 +3503,13 @@ proto_register_gsm_sms(void)
                         HFILL
                 }
             },
+            {  &hf_gsm_sms_ud_fragment_count,
+                {      "Short Message fragment count",
+                        "gsm_sms.fragment.count",
+                        FT_UINT32, BASE_DEC, NULL, 0x00,
+                        NULL, HFILL
+                }
+            },
             {  &hf_gsm_sms_ud_reassembled_in,
                 {      "Reassembled in",
                         "gsm_sms.reassembled.in",
index 01ba64f96310ddea1daef7db2d0380457615b812..683aa7c986c7cec69e4698a06add56aeec0f1854 100644 (file)
@@ -84,6 +84,7 @@ static int hf_gsm_sms_ud_fragment_overlap_conflicts = -1;
 static int hf_gsm_sms_ud_fragment_multiple_tails = -1;
 static int hf_gsm_sms_ud_fragment_too_long_fragment = -1;
 static int hf_gsm_sms_ud_fragment_error = -1;
+static int hf_gsm_sms_ud_fragment_count = -1;
 static int hf_gsm_sms_ud_reassembled_in = -1;
 static int hf_gsm_sms_ud_reassembled_length = -1;
 /*
@@ -124,6 +125,7 @@ static const fragment_items sm_frag_items = {
        &hf_gsm_sms_ud_fragment_multiple_tails,
        &hf_gsm_sms_ud_fragment_too_long_fragment,
        &hf_gsm_sms_ud_fragment_error,
+       &hf_gsm_sms_ud_fragment_count,
        /* Reassembled in field */
        &hf_gsm_sms_ud_reassembled_in,
        /* Reassembled length field */
@@ -565,6 +567,12 @@ proto_register_gsm_sms_ud(void)
                        HFILL
                }
        },
+       {       &hf_gsm_sms_ud_fragment_count,
+               {       "Short Message fragment count", "gsm-sms-ud.fragment.count",
+                       FT_UINT32, BASE_DEC, NULL, 0x00,
+                       NULL, HFILL
+               }
+       },
        {       &hf_gsm_sms_ud_reassembled_in,
                {       "Reassembled in",
                        "gsm-sms-ud.reassembled.in",
index ae655bb6a47431de03b71c47f5fc81518a79a460..d6af5f8e664b03b8243b97425f91f009179c8016 100644 (file)
@@ -59,6 +59,7 @@ static int hf_gssapi_segment_overlap_conflict = -1;
 static int hf_gssapi_segment_multiple_tails = -1;
 static int hf_gssapi_segment_too_long_fragment = -1;
 static int hf_gssapi_segment_error = -1;
+static int hf_gssapi_segment_count = -1;
 static int hf_gssapi_reassembled_in = -1;
 static int hf_gssapi_reassembled_length = -1;
 
@@ -94,6 +95,7 @@ static const fragment_items gssapi_frag_items = {
        &hf_gssapi_segment_multiple_tails,
        &hf_gssapi_segment_too_long_fragment,
        &hf_gssapi_segment_error,
+       &hf_gssapi_segment_count,
        NULL,
        &hf_gssapi_reassembled_length,
        "fragments"
@@ -553,6 +555,9 @@ proto_register_gssapi(void)
        { &hf_gssapi_segment_error,
                { "Defragmentation error", "gss-api.segment.error", FT_FRAMENUM, BASE_NONE,
                  NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
+       { &hf_gssapi_segment_count,
+               { "Fragment count", "gss-api.segment.count", FT_UINT32, BASE_DEC,
+                 NULL, 0x0, NULL, HFILL }},
        { &hf_gssapi_reassembled_in,
                { "Reassembled In", "gss-api.reassembled_in", FT_FRAMENUM, BASE_NONE,
                  NULL, 0x0, "The frame where this pdu is reassembled", HFILL }},
index 006769d2c2282faa857fa02d0845f837e018ccc8..fadeb13622ac76e4a1a083072a7668b1ab540efc 100644 (file)
@@ -79,6 +79,7 @@ static int hf_h223_mux_fragment_overlap_conflict = -1;
 static int hf_h223_mux_fragment_multiple_tails = -1;
 static int hf_h223_mux_fragment_too_long_fragment = -1;
 static int hf_h223_mux_fragment_error = -1;
+static int hf_h223_mux_fragment_count = -1;
 static int hf_h223_mux_reassembled_in = -1;
 static int hf_h223_mux_reassembled_length = -1;
 
@@ -89,6 +90,7 @@ static int hf_h223_al_fragment_overlap_conflict = -1;
 static int hf_h223_al_fragment_multiple_tails = -1;
 static int hf_h223_al_fragment_too_long_fragment = -1;
 static int hf_h223_al_fragment_error = -1;
+static int hf_h223_al_fragment_count = -1;
 static int hf_h223_al_reassembled_in = -1;
 static int hf_h223_al_reassembled_length = -1;
 
@@ -134,6 +136,7 @@ static const fragment_items h223_mux_frag_items _U_ = {
     &hf_h223_mux_fragment_multiple_tails,
     &hf_h223_mux_fragment_too_long_fragment,
     &hf_h223_mux_fragment_error,
+    &hf_h223_mux_fragment_count,
     &hf_h223_mux_reassembled_in,
     &hf_h223_mux_reassembled_length,
     "fragments"
@@ -149,6 +152,7 @@ static const fragment_items h223_al_frag_items = {
     &hf_h223_al_fragment_multiple_tails,
     &hf_h223_al_fragment_too_long_fragment,
     &hf_h223_al_fragment_error,
+    &hf_h223_al_fragment_count,
     &hf_h223_al_reassembled_in,
     &hf_h223_al_reassembled_length,
     "fragments"
@@ -1474,6 +1478,10 @@ void proto_register_h223 (void)
           { "Defragmentation error", "h223.mux.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             "Defragmentation error due to illegal fragments", HFILL }},
 
+        { &hf_h223_mux_fragment_count,
+          { "Fragment count", "h223.mux.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+            NULL, HFILL }},
+
         { &hf_h223_mux_fragment,
           { "H.223 MUX-PDU Fragment", "h223.mux.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             NULL, HFILL }},
@@ -1511,6 +1519,10 @@ void proto_register_h223 (void)
           { "Defragmentation error", "h223.al.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             "Defragmentation error due to illegal fragments", HFILL }},
 
+        { &hf_h223_al_fragment_count,
+          { "Fragment count", "h223.al.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+            NULL, HFILL }},
+
         { &hf_h223_al_fragment,
           { "H.223 AL-PDU Fragment", "h223.al.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             NULL, HFILL }},
index af9a8151d2d9b60e619f12d2a1bc1b00ea5bb18e..f0259c62bbe49675726888dfb730856993fe91b1 100644 (file)
@@ -136,6 +136,7 @@ static int hf_iax2_fragment_overlap_conflict = -1;
 static int hf_iax2_fragment_multiple_tails = -1;
 static int hf_iax2_fragment_too_long_fragment = -1;
 static int hf_iax2_fragment_error = -1;
+static int hf_iax2_fragment_count = -1;
 static int hf_iax2_reassembled_in = -1;
 static int hf_iax2_reassembled_length = -1;
 
@@ -181,6 +182,7 @@ static const fragment_items iax2_fragment_items = {
   &hf_iax2_fragment_multiple_tails,
   &hf_iax2_fragment_too_long_fragment,
   &hf_iax2_fragment_error,
+  &hf_iax2_fragment_count,
   &hf_iax2_reassembled_in,
   &hf_iax2_reassembled_length,
   "iax2 fragments"
@@ -2758,6 +2760,11 @@ proto_register_iax2 (void)
       FT_FRAMENUM, BASE_NONE, NULL, 0x0,
       "Defragmentation error due to illegal fragments", HFILL }},
 
+    {&hf_iax2_fragment_count,
+     {"Fragment count", "iax2.fragment.count",
+      FT_UINT32, BASE_DEC, NULL, 0x0,
+      NULL, HFILL }},
+
     {&hf_iax2_reassembled_in,
      {"IAX2 fragment, reassembled in frame", "iax2.reassembled_in",
       FT_FRAMENUM, BASE_NONE, NULL, 0x0,
index 578b07c52ab07468095a92621cd6195e660580c2..d290bc559e39e6731d870fcb689965a9cc1b9a0a 100644 (file)
@@ -87,6 +87,7 @@ static int hf_idmp_fragment_overlap_conflicts = -1;
 static int hf_idmp_fragment_multiple_tails = -1;
 static int hf_idmp_fragment_too_long_fragment = -1;
 static int hf_idmp_fragment_error = -1;
+static int hf_idmp_fragment_count = -1;
 static int hf_idmp_reassembled_in = -1;
 static int hf_idmp_reassembled_length = -1;
 
@@ -105,6 +106,7 @@ static const fragment_items idmp_frag_items = {
        &hf_idmp_fragment_multiple_tails,
        &hf_idmp_fragment_too_long_fragment,
        &hf_idmp_fragment_error,
+       &hf_idmp_fragment_count,
        /* Reassembled in field */
        &hf_idmp_reassembled_in,
        /* Reassembled length field */
@@ -171,7 +173,7 @@ static int hf_idmp_present = -1;                  /* INTEGER */
 static int hf_idmp_absent = -1;                   /* NULL */
 
 /*--- End of included file: packet-idmp-hf.c ---*/
-#line 130 "packet-idmp-template.c"
+#line 132 "packet-idmp-template.c"
 
 /* Initialize the subtree pointers */
 static gint ett_idmp = -1;
@@ -190,7 +192,7 @@ static gint ett_idmp_Code = -1;
 static gint ett_idmp_InvokeId = -1;
 
 /*--- End of included file: packet-idmp-ett.c ---*/
-#line 134 "packet-idmp-template.c"
+#line 136 "packet-idmp-template.c"
 
 
 /*--- Included file: packet-idmp-fn.c ---*/
@@ -614,7 +616,7 @@ dissect_idmp_IDM_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
 
 
 /*--- End of included file: packet-idmp-fn.c ---*/
-#line 136 "packet-idmp-template.c"
+#line 138 "packet-idmp-template.c"
 
 void
 register_idmp_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name)
@@ -790,6 +792,9 @@ void proto_register_idmp(void) {
     { &hf_idmp_fragment_error,
       { "IDMP defragmentation error", "idmp.fragment.error", FT_FRAMENUM,
        BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_idmp_fragment_count,
+      { "IDMP fragment count", "idmp.fragment.count", FT_UINT32, BASE_DEC,
+       NULL, 0x00, NULL, HFILL } },
     { &hf_idmp_reassembled_in,
       { "Reassembled IDMP in frame", "idmp.reassembled.in", FT_FRAMENUM, BASE_NONE,
        NULL, 0x00, "This IDMP packet is reassembled in this frame", HFILL } },
@@ -930,7 +935,7 @@ void proto_register_idmp(void) {
         NULL, HFILL }},
 
 /*--- End of included file: packet-idmp-hfarr.c ---*/
-#line 319 "packet-idmp-template.c"
+#line 324 "packet-idmp-template.c"
   };
 
   /* List of subtrees */
@@ -953,7 +958,7 @@ void proto_register_idmp(void) {
     &ett_idmp_InvokeId,
 
 /*--- End of included file: packet-idmp-ettarr.c ---*/
-#line 327 "packet-idmp-template.c"
+#line 332 "packet-idmp-template.c"
   };
   module_t *idmp_module;
 
index 4b633ca6114bf219677f2e133bd2039b521b3685..e13fc2cfa4d84c6492f66f55302dc1eb3c716642 100644 (file)
@@ -1098,6 +1098,7 @@ static int hf_fragment_overlap_conflict = -1;
 static int hf_fragment_multiple_tails = -1;
 static int hf_fragment_too_long_fragment = -1;
 static int hf_fragment_error = -1;
+static int hf_fragment_count = -1;
 static int hf_reassembled_in = -1;
 static int hf_reassembled_length = -1;
 
@@ -1905,6 +1906,7 @@ static const fragment_items frag_items = {
   &hf_fragment_multiple_tails,
   &hf_fragment_too_long_fragment,
   &hf_fragment_error,
+  &hf_fragment_count,
   &hf_reassembled_in,
   &hf_reassembled_length,
   "fragments"
@@ -10945,6 +10947,10 @@ proto_register_ieee80211 (void)
        FT_FRAMENUM, BASE_NONE, NULL, 0x0,
        "Defragmentation error due to illegal fragments", HFILL }},
 
+    {&hf_fragment_count,
+      {"Fragment count", "wlan.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+       NULL, HFILL }},
+
     {&hf_fragment,
       {"802.11 Fragment", "wlan.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
        NULL, HFILL }},
index fc21ee9d43c39fc05270d1b5d0278e2a32ad03e2..b884eb927c3784b2c951d5a43886ee0b9706214a 100644 (file)
@@ -124,6 +124,7 @@ static int hf_ip_fragment_overlap_conflict = -1;
 static int hf_ip_fragment_multiple_tails = -1;
 static int hf_ip_fragment_too_long_fragment = -1;
 static int hf_ip_fragment_error = -1;
+static int hf_ip_fragment_count = -1;
 static int hf_ip_reassembled_in = -1;
 static int hf_ip_reassembled_length = -1;
 
@@ -178,6 +179,7 @@ static const fragment_items ip_frag_items = {
        &hf_ip_fragment_multiple_tails,
        &hf_ip_fragment_too_long_fragment,
        &hf_ip_fragment_error,
+       &hf_ip_fragment_count,
        &hf_ip_reassembled_in,
        &hf_ip_reassembled_length,
        "IP fragments"
@@ -1968,6 +1970,10 @@ proto_register_ip(void)
                { "Defragmentation error", "ip.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        "Defragmentation error due to illegal fragments", HFILL }},
 
+               { &hf_ip_fragment_count,
+               { "Fragment count", "ip.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+                       NULL, HFILL }},
+
                { &hf_ip_fragment,
                { "IP Fragment", "ip.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        NULL, HFILL }},
index b4b1c43a1b0d5f182d0a55d43eafa88c21da644a..4a08d43b5cbf13207c4637ebf4ae6fce29e2d945 100644 (file)
@@ -147,6 +147,7 @@ static int hf_ipv6_fragment_overlap_conflict  = -1;
 static int hf_ipv6_fragment_multiple_tails    = -1;
 static int hf_ipv6_fragment_too_long_fragment = -1;
 static int hf_ipv6_fragment_error            = -1;
+static int hf_ipv6_fragment_count            = -1;
 static int hf_ipv6_reassembled_in            = -1;
 static int hf_ipv6_reassembled_length        = -1;
 
@@ -219,6 +220,7 @@ static const fragment_items ipv6_frag_items = {
        &hf_ipv6_fragment_multiple_tails,
        &hf_ipv6_fragment_too_long_fragment,
        &hf_ipv6_fragment_error,
+       &hf_ipv6_fragment_count,
        &hf_ipv6_reassembled_in,
        &hf_ipv6_reassembled_length,
        "fragments"
@@ -2000,6 +2002,11 @@ proto_register_ipv6(void)
                                FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                                "Defragmentation error due to illegal fragments", HFILL }},
 
+    { &hf_ipv6_fragment_count,
+      { "Fragment count", "ipv6.fragment.count",
+                               FT_UINT32, BASE_DEC, NULL, 0x0,
+                               NULL, HFILL }},
+
     { &hf_ipv6_fragment,
       { "IPv6 Fragment",       "ipv6.fragment",
                                FT_FRAMENUM, BASE_NONE, NULL, 0x0,
index b4aca63e6079af2f7b65480bb222d7a2a0a4d2f2..bba7e346ec3748acb8bbb01df4a480946b03d46d 100644 (file)
@@ -278,6 +278,7 @@ static int hf_isakmp_fragment_overlap_conflicts = -1;
 static int hf_isakmp_fragment_multiple_tails = -1;
 static int hf_isakmp_fragment_too_long_fragment = -1;
 static int hf_isakmp_fragment_error = -1;
+static int hf_isakmp_fragment_count = -1;
 static int hf_isakmp_reassembled_in = -1;
 static int hf_isakmp_reassembled_length = -1;
 
@@ -373,6 +374,7 @@ static const fragment_items isakmp_frag_items = {
   &hf_isakmp_fragment_multiple_tails,
   &hf_isakmp_fragment_too_long_fragment,
   &hf_isakmp_fragment_error,
+  &hf_isakmp_fragment_count,
   /* Reassembled in field */
   &hf_isakmp_reassembled_in,
   /* Reassembled length field */
@@ -5387,6 +5389,9 @@ proto_register_isakmp(void)
     { &hf_isakmp_fragment_error,
       {"Message defragmentation error", "isakmp.fragment.error",
        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_isakmp_fragment_count,
+      {"Message fragment count", "isakmp.fragment.count",
+       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
     { &hf_isakmp_reassembled_in,
       {"Reassembled in", "isakmp.reassembled.in",
        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
index 0c8d7d022085af8101d58659d0603f28beb4eca9..d1ba71d87f26cd979be601464e305e09bb1b36e6 100644 (file)
@@ -1817,6 +1817,7 @@ static int hf_isup_apm_msg_fragment_overlap_conflicts = -1;
 static int hf_isup_apm_msg_fragment_multiple_tails = -1;
 static int hf_isup_apm_msg_fragment_too_long_fragment = -1;
 static int hf_isup_apm_msg_fragment_error = -1;
+static int hf_isup_apm_msg_fragment_count = -1;
 static int hf_isup_apm_msg_reassembled_in = -1;
 static int hf_isup_apm_msg_reassembled_length = -1;
 
@@ -1855,6 +1856,7 @@ static const fragment_items isup_apm_msg_frag_items = {
   &hf_isup_apm_msg_fragment_multiple_tails,
   &hf_isup_apm_msg_fragment_too_long_fragment,
   &hf_isup_apm_msg_fragment_error,
+  &hf_isup_apm_msg_fragment_count,
   /* Reassembled in field */
   &hf_isup_apm_msg_reassembled_in,
   /* Reassembled length field */
@@ -8558,6 +8560,10 @@ proto_register_isup(void)
      {"Message defragmentation error", "isup_apm.msg.fragment.error",
       FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
     },
+    {&hf_isup_apm_msg_fragment_count,
+     {"Message fragment count", "isup_apm.msg.fragment.count",
+      FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL }
+    },
     {&hf_isup_apm_msg_reassembled_in,
      {"Reassembled in", "isup_apm.msg.reassembled.in",
       FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
index a0f307fcf74b08bbf1f7ad6014442a15db43bef3..18cf0c72a1f8e84fb98d41671b4d0e1f394ce2df 100644 (file)
@@ -94,6 +94,7 @@ static int hf_lapdm_fragment_overlap_conflicts = -1;
 static int hf_lapdm_fragment_multiple_tails = -1;
 static int hf_lapdm_fragment_too_long_fragment = -1;
 static int hf_lapdm_fragment_error = -1;
+static int hf_lapdm_fragment_count = -1;
 static int hf_lapdm_reassembled_in = -1;
 static int hf_lapdm_reassembled_length = -1;
 
@@ -192,6 +193,7 @@ static const fragment_items lapdm_frag_items = {
     &hf_lapdm_fragment_multiple_tails,
     &hf_lapdm_fragment_too_long_fragment,
     &hf_lapdm_fragment_error,
+    &hf_lapdm_fragment_count,
     /* Reassembled in field */
     &hf_lapdm_reassembled_in,
     /* Reassembled length field */
@@ -446,6 +448,10 @@ proto_register_lapdm(void)
         { "Message defragmentation error", "lapdm.fragment.error", FT_FRAMENUM, BASE_NONE,
         NULL, 0x00, "LAPDm Message defragmentation error due to illegal fragments", HFILL }},
 
+        { &hf_lapdm_fragment_count,
+        { "Message fragment count", "lapdm.fragment.count", FT_UINT32, BASE_DEC,
+        NULL, 0x00, NULL, HFILL }},
+
         { &hf_lapdm_reassembled_in,
         { "Reassembled in", "lapdm.reassembled.in", FT_FRAMENUM, BASE_NONE,
        NULL, 0x00, "LAPDm Message has been reassembled in this packet.", HFILL }},
index 2eedefedcaa1249d67a835a641db145156597a90..4be9fa85b131e77b597038926edf795f06ec1b75 100644 (file)
@@ -102,6 +102,7 @@ static int hf_ltp_fragment_overlap_conflicts = -1;
 static int hf_ltp_fragment_multiple_tails = -1;
 static int hf_ltp_fragment_too_long_fragment = -1;
 static int hf_ltp_fragment_error = -1;
+static int hf_ltp_fragment_count = -1;
 static int hf_ltp_reassembled_in = -1;
 static int hf_ltp_reassembled_length = -1;
 
@@ -191,6 +192,7 @@ static const fragment_items ltp_frag_items = {
     &hf_ltp_fragment_multiple_tails,
     &hf_ltp_fragment_too_long_fragment,
     &hf_ltp_fragment_error,
+    &hf_ltp_fragment_count,
     /*Reassembled in field*/
     &hf_ltp_reassembled_in,
     /*Reassembled length field*/
@@ -916,6 +918,10 @@ proto_register_ltp(void)
                  {"LTP defragmentation error", "ltp.fragment.error",
                  FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
          },
+         {&hf_ltp_fragment_count,
+                 {"LTP fragment count", "ltp.fragment.count",
+                 FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+         },
          {&hf_ltp_reassembled_in,
                  {"LTP reassembled in", "ltp.reassembled.in",
                  FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
index 4d22cc3e8d5b686328e88e35545471a6e53c8c19..0711d267506164c50690c81315bcff9744b66a3a 100644 (file)
@@ -208,6 +208,7 @@ static int hf_depi_msg_fragment_overlap_conflicts = -1;
 static int hf_depi_msg_fragment_multiple_tails = -1;
 static int hf_depi_msg_fragment_too_long_fragment = -1;
 static int hf_depi_msg_fragment_error = -1;
+static int hf_depi_msg_fragment_count = -1;
 static int hf_depi_msg_reassembled_in = -1;
 static int hf_depi_msg_reassembled_length = -1;
 
@@ -223,6 +224,7 @@ static const fragment_items depi_msg_frag_items = {
     &hf_depi_msg_fragment_multiple_tails,
     &hf_depi_msg_fragment_too_long_fragment,
     &hf_depi_msg_fragment_error,
+    &hf_depi_msg_fragment_count,
     /* Reassembled in field */
     &hf_depi_msg_reassembled_in,
     /* Reassembled length field */
@@ -1311,6 +1313,10 @@ proto_register_mp2t(void)
                        "Message defragmentation error", "mp2t.depi_msg.fragment.error",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL
                } },
+               {  &hf_depi_msg_fragment_count, {
+                       "Message fragment count", "mp2t.depi_msg.fragment.count",
+                       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL
+               } },
                {  &hf_depi_msg_reassembled_in, {
                        "Reassembled in", "mp2t.depi_msg.reassembled.in",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL
index da9c36f0687afdf0fc0e33ea32e632cf0a3f6092..db2599f3c5ca013e3965400afec5cfbf08e92937 100644 (file)
@@ -75,6 +75,7 @@ static const fragment_items nds_frag_items = {
     &hf_nds_segment_multiple_tails,
     &hf_nds_segment_too_long_segment,
     &hf_nds_segment_error,
+    &hf_nds_segment_count,
     NULL,
     &hf_nds_reassembled_length,
     "segments"
index bbb02e4bd99c6e3a31f0b801c28384886f5a920c..b021dd7a7c26002e46f794b700d0ab367cb69d57 100644 (file)
@@ -238,6 +238,7 @@ static int hf_ndmp_fragment_overlap_conflicts = -1;
 static int hf_ndmp_fragment_multiple_tails = -1;
 static int hf_ndmp_fragment_too_long_fragment = -1;
 static int hf_ndmp_fragment_error = -1;
+static int hf_ndmp_fragment_count = -1;
 static int hf_ndmp_reassembled_in = -1;
 static int hf_ndmp_reassembled_length = -1;
 
@@ -274,6 +275,7 @@ static const fragment_items ndmp_frag_items = {
        &hf_ndmp_fragment_multiple_tails,
        &hf_ndmp_fragment_too_long_fragment,
        &hf_ndmp_fragment_error,
+       &hf_ndmp_fragment_count,
        /* Reassembled in field */
        &hf_ndmp_reassembled_in,
        /* Reassembled length field */
@@ -4265,6 +4267,9 @@ proto_register_ndmp(void)
        {&hf_ndmp_fragment_error,
                {"NDMP defragmentation error", "ndmp.fragment.error",
                FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+       {&hf_ndmp_fragment_count,
+               {"NDMP fragment count", "ndmp.fragment.count",
+               FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
        {&hf_ndmp_reassembled_in,
                {"Reassembled in", "ndmp.reassembled.in",
                FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
index 199526e1fe72a791ed2adf377c2e6bab0afefa3d..312408a437f86c8a0e969a6d6b7feadec32727f2 100644 (file)
@@ -70,6 +70,7 @@ static int hf_ndps_segment_overlap_conflict = -1;
 static int hf_ndps_segment_multiple_tails = -1;
 static int hf_ndps_segment_too_long_segment = -1;
 static int hf_ndps_segment_error = -1;
+static int hf_ndps_segment_count = -1;
 static int hf_ndps_reassembled_length = -1;
 
 static gint ett_ndps_segments = -1;
@@ -4034,6 +4035,7 @@ static const fragment_items ndps_frag_items = {
        &hf_ndps_segment_multiple_tails,
        &hf_ndps_segment_too_long_segment,
        &hf_ndps_segment_error,
+       &hf_ndps_segment_count,
        NULL,
        &hf_ndps_reassembled_length,
        "segments"
@@ -9361,6 +9363,10 @@ proto_register_ndps(void)
           {"Desegmentation error",     "ndps.segment.error", FT_FRAMENUM, BASE_NONE,
                NULL, 0x0, "Desegmentation error due to illegal segments", HFILL }},
 
+        { &hf_ndps_segment_count,
+          {"Segment count",    "ndps.segment.count", FT_UINT32, BASE_DEC,
+               NULL, 0x0, NULL, HFILL }},
+
         { &hf_ndps_reassembled_length,
           {"Reassembled NDPS length",  "ndps.reassembled.length", FT_UINT32, BASE_DEC,
                NULL, 0x0, "The total length of the reassembled payload", HFILL }},
index e63bb0124646291b45e158c2057fd2de24b86232..ccd140e44b3683e7238f0b3e7eed501ed78a2876 100644 (file)
@@ -112,6 +112,7 @@ static int hf_netb_fragment_overlap_conflict = -1;
 static int hf_netb_fragment_multiple_tails = -1;
 static int hf_netb_fragment_too_long_fragment = -1;
 static int hf_netb_fragment_error = -1;
+static int hf_netb_fragment_count = -1;
 static int hf_netb_reassembled_length = -1;
 
 static gint ett_netb = -1;
@@ -131,6 +132,7 @@ static const fragment_items netbios_frag_items = {
        &hf_netb_fragment_multiple_tails,
        &hf_netb_fragment_too_long_fragment,
        &hf_netb_fragment_error,
+       &hf_netb_fragment_count,
        NULL,
        &hf_netb_reassembled_length,
        "fragments"
@@ -1390,6 +1392,10 @@ void proto_register_netbios(void)
                {"Defragmentation error",       "netbios.fragment.error", FT_FRAMENUM, BASE_NONE,
                        NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
 
+               { &hf_netb_fragment_count,
+               {"Fragment count",      "netbios.fragment.count", FT_UINT32, BASE_DEC,
+                       NULL, 0x0, NULL, HFILL }},
+
                { &hf_netb_fragment,
                { "NetBIOS Fragment",           "netbios.fragment", FT_FRAMENUM, BASE_NONE,
                        NULL, 0x0, NULL, HFILL }},
index 2024f2313888c216f2607447aa7373c83c9bc548..3456071ac86d484d12552d0de392a572799f8430 100644 (file)
@@ -74,6 +74,7 @@ static int hf_cotp_segment_overlap_conflict = -1;
 static int hf_cotp_segment_multiple_tails = -1;
 static int hf_cotp_segment_too_long_segment = -1;
 static int hf_cotp_segment_error = -1;
+static int hf_cotp_segment_count = -1;
 static int hf_cotp_reassembled_in = -1;
 static int hf_cotp_reassembled_length = -1;
 
@@ -98,6 +99,7 @@ static const fragment_items cotp_frag_items = {
        &hf_cotp_segment_multiple_tails,
        &hf_cotp_segment_too_long_segment,
        &hf_cotp_segment_error,
+       &hf_cotp_segment_count,
        &hf_cotp_reassembled_in,
        &hf_cotp_reassembled_length,
        "segments"
@@ -1792,6 +1794,9 @@ void proto_register_cotp(void)
     { &hf_cotp_segment_error,
       { "Reassembly error", "cotp.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
        "Reassembly error due to illegal segments", HFILL }},
+    { &hf_cotp_segment_count,
+      { "Segment count", "cotp.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+       NULL, HFILL }},
     { &hf_cotp_segment,
       { "COTP Segment", "cotp.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
        NULL, HFILL }},
index 73def5a5a040f2941f6be93751c40f951da8ef9e..a1336ad12b73867265dd8052edf660b498f2d942 100644 (file)
@@ -125,6 +125,7 @@ static int hf_msg_fragment_overlap_conflicts = -1;
 static int hf_msg_fragment_multiple_tails = -1;
 static int hf_msg_fragment_too_long_fragment = -1;
 static int hf_msg_fragment_error = -1;
+static int hf_msg_fragment_count = -1;
 static int hf_msg_reassembled_in = -1;
 static int hf_msg_reassembled_length = -1;
 
@@ -219,6 +220,7 @@ static const fragment_items p_mul_frag_items = {
   &hf_msg_fragment_multiple_tails,
   &hf_msg_fragment_too_long_fragment,
   &hf_msg_fragment_error,
+  &hf_msg_fragment_count,
   /* Reassembled in field */
   &hf_msg_reassembled_in,
   /* Reassembled length field */
@@ -1497,6 +1499,9 @@ void proto_register_p_mul (void)
     { &hf_msg_fragment_error,
       { "Message defragmentation error", "p_mul.fragment.error", FT_FRAMENUM,
         BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_msg_fragment_count,
+      { "Message fragment count", "p_mul.fragment.count", FT_UINT32, BASE_DEC,
+        NULL, 0x00, NULL, HFILL } },
     { &hf_msg_reassembled_in,
       { "Reassembled in", "p_mul.reassembled.in", FT_FRAMENUM, BASE_NONE,
         NULL, 0x00, NULL, HFILL } },
index fa9d5701d3cef23cddae512b780535f06a1f9665..a4b795b8c9ccee1cadb0349321e62f737ef171cd 100644 (file)
@@ -60,6 +60,7 @@ static int hf_pop_data_fragment_overlap_conflicts = -1;
 static int hf_pop_data_fragment_multiple_tails = -1;
 static int hf_pop_data_fragment_too_long_fragment = -1;
 static int hf_pop_data_fragment_error = -1;
+static int hf_pop_data_fragment_count = -1;
 static int hf_pop_data_reassembled_in = -1;
 static int hf_pop_data_reassembled_length = -1;
 
@@ -93,6 +94,7 @@ static const fragment_items pop_data_frag_items = {
   &hf_pop_data_fragment_multiple_tails,
   &hf_pop_data_fragment_too_long_fragment,
   &hf_pop_data_fragment_error,
+  &hf_pop_data_fragment_count,
   /* Reassembled in field */
   &hf_pop_data_reassembled_in,
   /* Reassembled length field */
@@ -411,6 +413,9 @@ proto_register_pop(void)
     { &hf_pop_data_fragment_error,
       { "DATA defragmentation error", "pop.data.fragment.error", FT_FRAMENUM,
         BASE_NONE, NULL, 0x00, "Message defragmentation error", HFILL } },
+    { &hf_pop_data_fragment_count,
+      { "DATA fragment count", "pop.data.fragment.count", FT_UINT32, BASE_DEC,
+        NULL, 0x00, NULL, HFILL } },
     { &hf_pop_data_reassembled_in,
       { "Reassembled DATA in frame", "pop.data.reassembled.in", FT_FRAMENUM, BASE_NONE,
         NULL, 0x00, "This DATA fragment is reassembled in this frame", HFILL } },
index bf6e3a32e4f16b2cb405bdca3d3aa2055a8d2de3..466e619d451a6f14aebf689ca9d1ad29bce2d018 100644 (file)
@@ -112,6 +112,7 @@ static int hf_q931_segment_overlap_conflict = -1;
 static int hf_q931_segment_multiple_tails = -1;
 static int hf_q931_segment_too_long_segment = -1;
 static int hf_q931_segment_error = -1;
+static int hf_q931_segment_count = -1;
 static int hf_q931_reassembled_in = -1;
 static int hf_q931_reassembled_length = -1;
 
@@ -132,6 +133,7 @@ static const fragment_items q931_frag_items = {
        &hf_q931_segment_multiple_tails,
        &hf_q931_segment_too_long_segment,
        &hf_q931_segment_error,
+       &hf_q931_segment_count,
        &hf_q931_reassembled_in,
        &hf_q931_reassembled_length,
        "segments"
@@ -3528,6 +3530,10 @@ proto_register_q931(void)
                  { "Defragmentation error", "q931.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        "Defragmentation error due to illegal fragments", HFILL }},
 
+               { &hf_q931_segment_count,
+                 { "Segment count", "q931.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+                       NULL, HFILL}},
+
                { &hf_q931_segment,
                  { "Q.931 Segment", "q931.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        NULL, HFILL }},
index a449b1d2c119c994efe826a8ba87414e49c7e3e6..fc682c65003968e0dab711887c62899bee6cab9b 100644 (file)
@@ -178,6 +178,7 @@ static int hf_reload_fragment_overlap_conflict = -1;
 static int hf_reload_fragment_multiple_tails = -1;
 static int hf_reload_fragment_too_long_fragment = -1;
 static int hf_reload_fragment_error = -1;
+static int hf_reload_fragment_count = -1;
 static int hf_reload_reassembled_in = -1;
 static int hf_reload_reassembled_length = -1;
 static int hf_reload_configupdatereq = -1;
@@ -369,6 +370,7 @@ static const fragment_items reload_frag_items = {
   &hf_reload_fragment_multiple_tails,
   &hf_reload_fragment_too_long_fragment,
   &hf_reload_fragment_error,
+  &hf_reload_fragment_count,
   &hf_reload_reassembled_in,
   &hf_reload_reassembled_length,
   "ReLOAD fragments"
@@ -2682,6 +2684,10 @@ proto_register_reload(void)
       { "Defragmentation error", "reload.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
         "Defragmentation error due to illegal fragments", HFILL }},
 
+               { &hf_reload_fragment_count,
+                 { "Fragment count", "reload.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+        NULL, HFILL}},
+
     { &hf_reload_fragment,
       { "ReLOAD Fragment", "reload.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
         NULL, HFILL }},
@@ -2694,6 +2700,10 @@ proto_register_reload(void)
       { "Reassembled ReLOAD in frame", "reload.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
         "This ReLOAD packet is reassembled in this frame", HFILL }},
 
+               { &hf_reload_reassembled_length,
+                 { "Reassembled ReLOAD length", "reload.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0,
+        "The total length of the reassembled payload", HFILL}},
+
     { &hf_reload_configupdatereq,
       { "ConfigUpdate Req",  "reload.configupdatereq.",  FT_BYTES,
         BASE_NONE,  NULL, 0x0,  NULL, HFILL }
index 7cffed915f249c0e999cd958d4f246e2611fd7e4..a674997862503d602db8a0f9831cf40b2077727c 100644 (file)
@@ -234,6 +234,7 @@ static int hf_rpc_fragment_overlap_conflict = -1;
 static int hf_rpc_fragment_multiple_tails = -1;
 static int hf_rpc_fragment_too_long_fragment = -1;
 static int hf_rpc_fragment_error = -1;
+static int hf_rpc_fragment_count = -1;
 static int hf_rpc_reassembled_length = -1;
 
 static gint ett_rpc = -1;
@@ -267,6 +268,7 @@ static const fragment_items rpc_frag_items = {
        &hf_rpc_fragment_multiple_tails,
        &hf_rpc_fragment_too_long_fragment,
        &hf_rpc_fragment_error,
+       &hf_rpc_fragment_count,
        NULL,
        &hf_rpc_reassembled_length,
        "fragments"
@@ -3746,6 +3748,10 @@ proto_register_rpc(void)
                { "Defragmentation error", "rpc.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        "Defragmentation error due to illegal fragments", HFILL }},
 
+               { &hf_rpc_fragment_count,
+               { "Fragment count", "rpc.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+                       NULL, HFILL }},
+
                { &hf_rpc_fragment,
                { "RPC Fragment", "rpc.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        NULL, HFILL }},
index 576322edc4f4a60b6685004f45463fec20152d2f..11832a5bf19f0a5ed4af463b11db053dfd4867b2 100644 (file)
@@ -112,6 +112,7 @@ static int hf_rtp_fragment_overlap_conflict = -1;
 static int hf_rtp_fragment_multiple_tails = -1;
 static int hf_rtp_fragment_too_long_fragment = -1;
 static int hf_rtp_fragment_error = -1;
+static int hf_rtp_fragment_count = -1;
 static int hf_rtp_reassembled_in = -1;
 static int hf_rtp_reassembled_length = -1;
 
@@ -128,6 +129,7 @@ static const fragment_items rtp_fragment_items = {
   &hf_rtp_fragment_multiple_tails,
   &hf_rtp_fragment_too_long_fragment,
   &hf_rtp_fragment_error,
+  &hf_rtp_fragment_count,
   &hf_rtp_reassembled_in,
   &hf_rtp_reassembled_length,
   "RTP fragments"
@@ -2070,6 +2072,12 @@ proto_register_rtp(void)
                  "Defragmentation error due to illegal fragments", HFILL }
                },
 
+               {&hf_rtp_fragment_count,
+                {"Fragment count", "rtp.fragment.count",
+                 FT_UINT32, BASE_DEC, NULL, 0x0,
+                 NULL, HFILL }
+               },
+
                {&hf_rtp_reassembled_in,
                 {"RTP fragment, reassembled in frame", "rtp.reassembled_in",
                  FT_FRAMENUM, BASE_NONE, NULL, 0x0,
index 55a394ab47b8a85cb047b3f094e8c82a65233cd1..7d86ae31d213f58ca4ea58ccbc2d0901d09e2e9d 100644 (file)
@@ -130,6 +130,7 @@ static int hf_rtse_fragment_overlap_conflicts = -1;
 static int hf_rtse_fragment_multiple_tails = -1;
 static int hf_rtse_fragment_too_long_fragment = -1;
 static int hf_rtse_fragment_error = -1;
+static int hf_rtse_fragment_count = -1;
 static int hf_rtse_reassembled_in = -1;
 static int hf_rtse_reassembled_length = -1;
 
@@ -148,6 +149,7 @@ static const fragment_items rtse_frag_items = {
        &hf_rtse_fragment_multiple_tails,
        &hf_rtse_fragment_too_long_fragment,
        &hf_rtse_fragment_error,
+       &hf_rtse_fragment_count,
        /* Reassembled in field */
        &hf_rtse_reassembled_in,
        /* Reassembled length field */
@@ -730,7 +732,7 @@ dissect_rtse_RTSE_apdus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
 
 
 /*--- End of included file: packet-rtse-fn.c ---*/
-#line 183 "packet-rtse-template.c"
+#line 185 "packet-rtse-template.c"
 
 /*
 * Dissect RTSE PDUs inside a PPDU.
@@ -891,6 +893,9 @@ void proto_register_rtse(void) {
     { &hf_rtse_fragment_error,
       { "RTSE defragmentation error", "rtse.fragment.error", FT_FRAMENUM,
        BASE_NONE, NULL, 0x00, NULL, HFILL } },
+    { &hf_rtse_fragment_count,
+      { "RTSE fragment count", "rtse.fragment.count", FT_UINT32, BASE_DEC,
+       NULL, 0x00, NULL, HFILL } },
     { &hf_rtse_reassembled_in,
       { "Reassembled RTSE in frame", "rtse.reassembled.in", FT_FRAMENUM, BASE_NONE,
        NULL, 0x00, "This RTSE packet is reassembled in this frame", HFILL } },
@@ -999,7 +1004,7 @@ void proto_register_rtse(void) {
         NULL, HFILL }},
 
 /*--- End of included file: packet-rtse-hfarr.c ---*/
-#line 351 "packet-rtse-template.c"
+#line 356 "packet-rtse-template.c"
   };
 
   /* List of subtrees */
@@ -1021,7 +1026,7 @@ void proto_register_rtse(void) {
     &ett_rtse_CallingSSuserReference,
 
 /*--- End of included file: packet-rtse-ettarr.c ---*/
-#line 360 "packet-rtse-template.c"
+#line 365 "packet-rtse-template.c"
   };
 
   module_t *rtse_module;
index ee90694299172e09e1de4cb46341399f6318d949..905b2bea3bde72820eaed7958ba2facf658df6aa 100644 (file)
@@ -677,6 +677,7 @@ static int hf_sccp_xudt_msg_fragment_overlap_conflicts = -1;
 static int hf_sccp_xudt_msg_fragment_multiple_tails = -1;
 static int hf_sccp_xudt_msg_fragment_too_long_fragment = -1;
 static int hf_sccp_xudt_msg_fragment_error = -1;
+static int hf_sccp_xudt_msg_fragment_count = -1;
 static int hf_sccp_xudt_msg_reassembled_in = -1;
 static int hf_sccp_xudt_msg_reassembled_length = -1;
 static int hf_sccp_assoc_msg = -1;
@@ -720,6 +721,7 @@ static const fragment_items sccp_xudt_msg_frag_items = {
        &hf_sccp_xudt_msg_fragment_multiple_tails,
        &hf_sccp_xudt_msg_fragment_too_long_fragment,
        &hf_sccp_xudt_msg_fragment_error,
+       &hf_sccp_xudt_msg_fragment_count,
        /* Reassembled in field */
        &hf_sccp_xudt_msg_reassembled_in,
        /* Reassembled length field */
@@ -3306,6 +3308,10 @@ proto_register_sccp(void)
        {"Message defragmentation error", "sccp.msg.fragment.error",
        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
     },
+    {&hf_sccp_xudt_msg_fragment_count,
+       {"Message fragment count", "sccp.msg.fragment.count",
+       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL }
+    },
     {&hf_sccp_xudt_msg_reassembled_in,
        {"Reassembled in", "sccp.msg.reassembled.in",
        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
index 3145d70e270e2f126dda153a896cd9fffecc5798..55df35f35702dd8ad24cec1b5e1775ff67882a98 100644 (file)
@@ -225,6 +225,7 @@ static int hf_scsi_fragment_overlap_conflict    = -1;
 static int hf_scsi_fragment_multiple_tails      = -1;
 static int hf_scsi_fragment_too_long_fragment   = -1;
 static int hf_scsi_fragment_error               = -1;
+static int hf_scsi_fragment_count               = -1;
 static int hf_scsi_reassembled_in               = -1;
 static int hf_scsi_reassembled_length           = -1;
 static int hf_scsi_log_ppc_flags                = -1;
@@ -354,6 +355,7 @@ static const fragment_items scsi_frag_items = {
     &hf_scsi_fragment_multiple_tails,
     &hf_scsi_fragment_too_long_fragment,
     &hf_scsi_fragment_error,
+    &hf_scsi_fragment_count,
     &hf_scsi_reassembled_in,
     &hf_scsi_reassembled_length,
     "fragments"
@@ -5375,6 +5377,9 @@ proto_register_scsi (void)
         { &hf_scsi_fragment_error,
           { "Defragmentation error", "scsi.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
            "Defragmentation error due to illegal fragments", HFILL }},
+        { &hf_scsi_fragment_count,
+          { "Fragment count", "scsi.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+           NULL, HFILL }},
         { &hf_scsi_fragment,
           { "SCSI DATA Fragment", "scsi.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
            NULL, HFILL }},
index bf458a0088f48189892a427c033f159d2076e27c..2b973f37e23f4a2275e807fdf95ccb501e705063 100644 (file)
@@ -69,6 +69,7 @@ static int hf_pipe_fragment_overlap_conflict = -1;
 static int hf_pipe_fragment_multiple_tails = -1;
 static int hf_pipe_fragment_too_long_fragment = -1;
 static int hf_pipe_fragment_error = -1;
+static int hf_pipe_fragment_count = -1;
 static int hf_pipe_reassembled_in = -1;
 static int hf_pipe_reassembled_length = -1;
 
@@ -86,6 +87,7 @@ static const fragment_items smb_pipe_frag_items = {
        &hf_pipe_fragment_multiple_tails,
        &hf_pipe_fragment_too_long_fragment,
        &hf_pipe_fragment_error,
+       &hf_pipe_fragment_count,
        NULL,
        &hf_pipe_reassembled_length,
        "fragments"
@@ -3908,6 +3910,9 @@ proto_register_smb_pipe(void)
                { &hf_pipe_fragment_error,
                        { "Defragmentation error", "pipe.fragment.error", FT_FRAMENUM,
                        BASE_NONE, NULL, 0x0, "Defragmentation error due to illegal fragments", HFILL }},
+               { &hf_pipe_fragment_count,
+                       { "Fragment count", "pipe.fragment.count", FT_UINT32,
+                       BASE_DEC, NULL, 0x0, NULL, HFILL }},
                { &hf_pipe_fragment,
                        { "Fragment", "pipe.fragment", FT_FRAMENUM,
                        BASE_NONE, NULL, 0x0, "Pipe Fragment", HFILL }},
index 2f1c25bb74377aa3441c81ba7f0c294f27c7f4d2..f0173a710a20bd5f4c30da573d59b12504b7d23b 100644 (file)
@@ -645,6 +645,7 @@ static int hf_smb_segment_overlap_conflict = -1;
 static int hf_smb_segment_multiple_tails = -1;
 static int hf_smb_segment_too_long_fragment = -1;
 static int hf_smb_segment_error = -1;
+static int hf_smb_segment_count = -1;
 static int hf_smb_reassembled_length = -1;
 static int hf_smb_pipe_write_len = -1;
 static int hf_smb_unix_major_version = -1;
@@ -786,6 +787,7 @@ static const fragment_items smb_frag_items = {
        &hf_smb_segment_multiple_tails,
        &hf_smb_segment_too_long_fragment,
        &hf_smb_segment_error,
+       &hf_smb_segment_count,
        NULL,
        &hf_smb_reassembled_length,
        "segments"
@@ -19579,6 +19581,10 @@ proto_register_smb(void)
                { "Defragmentation error", "smb.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                        "Defragmentation error due to illegal fragments", HFILL }},
 
+       { &hf_smb_segment_count,
+               { "Fragment count", "smb.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+                       NULL, HFILL }},
+
        { &hf_smb_reassembled_length,
                { "Reassembled SMB length", "smb.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0,
                        "The total length of the reassembled payload", HFILL }},
index 000e6f278d230b9983abb5feb00f29c220d56356..cf2f3360b515be5e93d2e58240352fa3a170cd18 100644 (file)
@@ -61,6 +61,7 @@ static int hf_smtp_data_fragment_overlap_conflicts = -1;
 static int hf_smtp_data_fragment_multiple_tails = -1;
 static int hf_smtp_data_fragment_too_long_fragment = -1;
 static int hf_smtp_data_fragment_error = -1;
+static int hf_smtp_data_fragment_count = -1;
 static int hf_smtp_data_reassembled_in = -1;
 static int hf_smtp_data_reassembled_length = -1;
 
@@ -89,6 +90,7 @@ static const fragment_items smtp_data_frag_items = {
   &hf_smtp_data_fragment_multiple_tails,
   &hf_smtp_data_fragment_too_long_fragment,
   &hf_smtp_data_fragment_error,
+  &hf_smtp_data_fragment_count,
   /* Reassembled in field */
   &hf_smtp_data_reassembled_in,
   /* Reassembled length field */
@@ -909,6 +911,10 @@ proto_register_smtp(void)
       { "DATA defragmentation error", "smtp.data.fragment.error",
         FT_FRAMENUM, BASE_NONE, NULL, 0x00, "Message defragmentation error", HFILL } },
 
+    { &hf_smtp_data_fragment_count,
+      { "DATA fragment count", "smtp.data.fragment.count",
+        FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
+
     { &hf_smtp_data_reassembled_in,
       { "Reassembled DATA in frame", "smtp.data.reassembled.in",
         FT_FRAMENUM, BASE_NONE, NULL, 0x00, "This DATA fragment is reassembled in this frame", HFILL } },
index cb2e9a9535df4cd51e694e5f7a0c2ca0778ccdd6..32d595d65a45297acb77e50a5d891dd8e459452a 100644 (file)
@@ -65,6 +65,7 @@ static int hf_npdu_fragment_overlap_conflict  = -1;
 static int hf_npdu_fragment_multiple_tails     = -1;
 static int hf_npdu_fragment_too_long_fragment  = -1;
 static int hf_npdu_fragment_error              = -1;
+static int hf_npdu_fragment_count              = -1;
 static int hf_npdu_reassembled_in              = -1;
 static int hf_npdu_reassembled_length          = -1;
 
@@ -89,6 +90,7 @@ static const fragment_items npdu_frag_items = {
     &hf_npdu_fragment_multiple_tails,
     &hf_npdu_fragment_too_long_fragment,
     &hf_npdu_fragment_error,
+    &hf_npdu_fragment_count,
     &hf_npdu_reassembled_in,
     &hf_npdu_reassembled_length,
     "fragments"
@@ -509,6 +511,13 @@ proto_register_sndcp(void)
        "Defragmentation error due to illegal fragments", HFILL
       }
     },
+    { &hf_npdu_fragment_count,
+      {        "Fragment count",
+       "npdu.fragment.count",
+       FT_UINT32, BASE_DEC, NULL, 0x0,
+       NULL, HFILL
+      }
+    },
     { &hf_npdu_reassembled_in,
       {        "Reassembled in",
        "npdu.reassembled.in",
index 82c1615555dfcfb45c6f3abbb5c9f669a7d37e2a..4107398dcfb7979ad5c69bac30565877e7c92fbb 100644 (file)
@@ -239,6 +239,7 @@ static int hf_ssl_segment_overlap_conflict    = -1;
 static int hf_ssl_segment_multiple_tails      = -1;
 static int hf_ssl_segment_too_long_fragment   = -1;
 static int hf_ssl_segment_error               = -1;
+static int hf_ssl_segment_count               = -1;
 
 /* Initialize the subtree pointers */
 static gint ett_ssl                   = -1;
@@ -279,6 +280,7 @@ static const fragment_items ssl_segment_items = {
     &hf_ssl_segment_multiple_tails,
     &hf_ssl_segment_too_long_fragment,
     &hf_ssl_segment_error,
+    &hf_ssl_segment_count,
     &hf_ssl_reassembled_in,
     &hf_ssl_reassembled_length,
     "Segments"
@@ -4640,6 +4642,11 @@ proto_register_ssl(void)
             FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             "Reassembling error due to illegal segments", HFILL }},
 
+        { &hf_ssl_segment_count,
+          { "Segment count", "ssl.segment.count",
+            FT_UINT32, BASE_DEC, NULL, 0x0,
+            NULL, HFILL }},
+
         { &hf_ssl_segment,
           { "SSL Segment", "ssl.segment",
             FT_FRAMENUM, BASE_NONE, NULL, 0x0,
index d0a9f8a2551e5fba842500a329d427abd0b2fee0..bda830c2cee66a5fbceae9db7eb9ea318c22670a 100644 (file)
@@ -166,6 +166,7 @@ static int hf_t38_fragment_overlap_conflicts = -1;
 static int hf_t38_fragment_multiple_tails = -1;
 static int hf_t38_fragment_too_long_fragment = -1;
 static int hf_t38_fragment_error = -1;
+static int hf_t38_fragment_count = -1;
 static int hf_t38_reassembled_in = -1;
 static int hf_t38_reassembled_length = -1;
 
@@ -184,7 +185,7 @@ static gint ett_t38_T_fec_info = -1;
 static gint ett_t38_T_fec_data = -1;
 
 /*--- End of included file: packet-t38-ett.c ---*/
-#line 143 "packet-t38-template.c"
+#line 144 "packet-t38-template.c"
 static gint ett_t38_setup = -1;
 
 static gint ett_data_fragment = -1;
@@ -208,6 +209,7 @@ static const fragment_items data_frag_items = {
        &hf_t38_fragment_multiple_tails,
        &hf_t38_fragment_too_long_fragment,
        &hf_t38_fragment_error,
+       &hf_t38_fragment_count,
        /* Reassembled in field */
        &hf_t38_reassembled_in,
        /* Reassembled length field */
@@ -967,7 +969,7 @@ static int dissect_UDPTLPacket_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr
 
 
 /*--- End of included file: packet-t38-fn.c ---*/
-#line 393 "packet-t38-template.c"
+#line 395 "packet-t38-template.c"
 
 /* initialize the tap t38_info and the conversation */
 static void
@@ -1322,7 +1324,7 @@ proto_register_t38(void)
         "OCTET_STRING", HFILL }},
 
 /*--- End of included file: packet-t38-hfarr.c ---*/
-#line 671 "packet-t38-template.c"
+#line 673 "packet-t38-template.c"
                {   &hf_t38_setup,
                    { "Stream setup", "t38.setup", FT_STRING, BASE_NONE,
                    NULL, 0x0, "Stream setup, method and frame number", HFILL }},
@@ -1355,6 +1357,9 @@ proto_register_t38(void)
                {&hf_t38_fragment_error,
                        {"Message defragmentation error", "t38.fragment.error",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+               {&hf_t38_fragment_count,
+                       {"Message fragment count", "t38.fragment.count",
+                       FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
                {&hf_t38_reassembled_in,
                        {"Reassembled in", "t38.reassembled.in",
                        FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
@@ -1380,7 +1385,7 @@ proto_register_t38(void)
     &ett_t38_T_fec_data,
 
 /*--- End of included file: packet-t38-ettarr.c ---*/
-#line 715 "packet-t38-template.c"
+#line 720 "packet-t38-template.c"
                &ett_t38_setup,
                &ett_data_fragment,
                &ett_data_fragments
index e835e3a248537549850aeb88641332872c3664d8..c01aaba68b13674396a9d795bc7fbf6a8b5ea205 100644 (file)
@@ -129,6 +129,7 @@ static int hf_tcp_segment_overlap_conflict = -1;
 static int hf_tcp_segment_multiple_tails = -1;
 static int hf_tcp_segment_too_long_fragment = -1;
 static int hf_tcp_segment_error = -1;
+static int hf_tcp_segment_count = -1;
 static int hf_tcp_options = -1;
 static int hf_tcp_option_kind = -1;
 static int hf_tcp_option_len = -1;
@@ -313,6 +314,7 @@ static const fragment_items tcp_segment_items = {
     &hf_tcp_segment_multiple_tails,
     &hf_tcp_segment_too_long_fragment,
     &hf_tcp_segment_error,
+    &hf_tcp_segment_count,
     &hf_tcp_reassembled_in,
     &hf_tcp_reassembled_length,
     "Segments"
@@ -4478,6 +4480,10 @@ proto_register_tcp(void)
         { "Reassembling error", "tcp.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             "Reassembling error due to illegal segments", HFILL }},
 
+        { &hf_tcp_segment_count,
+        { "Segment count", "tcp.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+            NULL, HFILL }},
+
         { &hf_tcp_segment,
         { "TCP Segment", "tcp.segment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             NULL, HFILL }},
index 9d3979ff50c643647b637a3bbb71270854d67d1b..0550096fe36680020e763ed7bbed66a827dac398 100644 (file)
@@ -437,6 +437,7 @@ static int hf_tds_fragment_overlap_conflict = -1;
 static int hf_tds_fragment_multiple_tails = -1;
 static int hf_tds_fragment_too_long_fragment = -1;
 static int hf_tds_fragment_error = -1;
+static int hf_tds_fragment_count = -1;
 
 static int hf_tds7_login_total_size = -1;
 static int hf_tds7_version = -1;
@@ -537,6 +538,7 @@ static const fragment_items tds_frag_items = {
     &hf_tds_fragment_multiple_tails,
     &hf_tds_fragment_too_long_fragment,
     &hf_tds_fragment_error,
+    &hf_tds_fragment_count,
     &hf_tds_reassembled_in,
     &hf_tds_reassembled_length,
     "fragments"
@@ -2719,6 +2721,11 @@ proto_register_tds(void)
             FT_FRAMENUM, BASE_NONE, NULL, 0x0,
             "Defragmentation error due to illegal fragments", HFILL }
         },
+        { &hf_tds_fragment_count,
+          { "Segment count", "tds.fragment.count",
+            FT_UINT32, BASE_DEC, NULL, 0x0,
+            NULL, HFILL }
+        },
         { &hf_tds_fragment,
           { "TDS Fragment",     "tds.fragment",
             FT_FRAMENUM, BASE_NONE, NULL, 0x0,
index f3e05c6c2d8ebb067f65e7e4577a24626e324306..8873becac4895153a020083ff0aebecceb277943 100644 (file)
@@ -114,6 +114,7 @@ static int hf_msg_fragment_overlap_conflicts = -1;
 static int hf_msg_fragment_multiple_tails = -1;
 static int hf_msg_fragment_too_long_fragment = -1;
 static int hf_msg_fragment_error = -1;
+static int hf_msg_fragment_count = -1;
 static int hf_msg_reassembled_in = -1;
 static int hf_msg_reassembled_length = -1;
 
@@ -132,6 +133,7 @@ static const fragment_items msg_frag_items = {
        &hf_msg_fragment_multiple_tails,
        &hf_msg_fragment_too_long_fragment,
        &hf_msg_fragment_error,
+       &hf_msg_fragment_count,
        /* Reassembled in field */
        &hf_msg_reassembled_in,
        /* Reassembled length field */
@@ -1136,6 +1138,12 @@ void proto_register_ts2(void)
                   NULL, 0x00,
                   NULL, HFILL }
                },
+               { &hf_msg_fragment_count,
+                 {"Message fragment count", "ts2.fragment.count",
+                  FT_UINT32, BASE_DEC,
+                  NULL, 0x00,
+                  NULL, HFILL }
+               },
                { &hf_msg_reassembled_in,
                  {"Reassembled in", "ts2.reassembled.in",
                   FT_FRAMENUM, BASE_NONE,
index 9e91415d5d67800fe96e0910c87b108249d10e49..de9e29b768236ee7d43253a4de14bdd8edad1285 100644 (file)
@@ -61,6 +61,7 @@ static int hf_tipc_msg_fragment_overlap_conflicts = -1;
 static int hf_tipc_msg_fragment_multiple_tails = -1;
 static int hf_tipc_msg_fragment_too_long_fragment = -1;
 static int hf_tipc_msg_fragment_error = -1;
+static int hf_tipc_msg_fragment_count = -1;
 static int hf_tipc_msg_reassembled_in = -1;
 static int hf_tipc_msg_reassembled_length = -1;
 
@@ -214,6 +215,7 @@ static const fragment_items tipc_msg_frag_items = {
        &hf_tipc_msg_fragment_multiple_tails,
        &hf_tipc_msg_fragment_too_long_fragment,
        &hf_tipc_msg_fragment_error,
+       &hf_tipc_msg_fragment_count,
        /* Reassembled in field */
        &hf_tipc_msg_reassembled_in,
        /* Reassembled length field */
@@ -2326,6 +2328,10 @@ proto_register_tipc(void)
                        { "Message defragmentation error", "tipc.msg.fragment.error",
                                FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
                },
+               { &hf_tipc_msg_fragment_count,
+                       { "Message fragment count", "tipc.msg.fragment.count",
+                               FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL }
+               },
                { &hf_tipc_msg_reassembled_in,
                        { "Reassembled in", "tipc.msg.reassembled.in",
                                FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL }
index 5f0f10185142bdd7ac34573c31525e3582501139..3848315a2627787f665990157a4df338cd398e3d 100644 (file)
@@ -137,6 +137,7 @@ static gint hf_wai_fragment_overlap_conflicts = -1;
 static gint hf_wai_fragment_multiple_tails = -1;
 static gint hf_wai_fragment_too_long_fragment = -1;
 static gint hf_wai_fragment_error = -1;
+static gint hf_wai_fragment_count = -1;
 static gint hf_wai_reassembled_in = -1;
 static gint hf_wai_reassembled_length = -1;
 
@@ -176,6 +177,7 @@ static const fragment_items wai_frag_items = {
     &hf_wai_fragment_multiple_tails,
     &hf_wai_fragment_too_long_fragment,
     &hf_wai_fragment_error,
+    &hf_wai_fragment_count,
     /* Reassembled in field */
     &hf_wai_reassembled_in,
     /* Reassembled length field */
@@ -1138,6 +1140,9 @@ proto_register_wai(void)
         { &hf_wai_fragment_error,{"Message defragmentation error", "wai.fragment.error",FT_FRAMENUM, BASE_NONE, NULL,
             0x00, NULL, HFILL }},
 
+        { &hf_wai_fragment_count,{"Message fragment count", "wai.fragment.count",FT_UINT32, BASE_DEC, NULL,
+            0x00, NULL, HFILL }},
+
         { &hf_wai_reassembled_in,{"Reassembled in", "wai.reassembled.in",FT_FRAMENUM, BASE_NONE, NULL,
             0x00, NULL, HFILL }},
 
index 477d1d3c9ed4bf27f9d3de84d81049ab5965b9f1..e92fe222bd0c97387267dced842a70d4c595d87b 100644 (file)
@@ -191,6 +191,7 @@ static int hf_wtp_fragment_overlap_conflict = HF_EMPTY;
 static int hf_wtp_fragment_multiple_tails      = HF_EMPTY;
 static int hf_wtp_fragment_too_long_fragment   = HF_EMPTY;
 static int hf_wtp_fragment_error               = HF_EMPTY;
+static int hf_wtp_fragment_count               = HF_EMPTY;
 static int hf_wtp_reassembled_in               = HF_EMPTY;
 static int hf_wtp_reassembled_length           = HF_EMPTY;
 
@@ -212,6 +213,7 @@ static const fragment_items wtp_frag_items = {
     &hf_wtp_fragment_multiple_tails,
     &hf_wtp_fragment_too_long_fragment,
     &hf_wtp_fragment_error,
+    &hf_wtp_fragment_count,
     &hf_wtp_reassembled_in,
     &hf_wtp_reassembled_length,
     "fragments"
@@ -1030,6 +1032,13 @@ proto_register_wtp(void)
                "Defragmentation error due to illegal fragments", HFILL
            }
        },
+       { &hf_wtp_fragment_count,
+           {   "Fragment count",
+               "wtp.fragment.count",
+               FT_UINT32, BASE_DEC, NULL, 0x0,
+               NULL, HFILL
+           }
+       },
        { &hf_wtp_reassembled_in,
            {   "Reassembled in",
                "wtp.reassembled.in",
index 293ece4110c4edb8b8a59d0c413ac35fbc975aa6..7d36092beb9d48f82b289f42baf3a987edd0c582 100644 (file)
@@ -176,6 +176,7 @@ static gint hf_x25_segment_overlap_conflict = -1;
 static gint hf_x25_segment_multiple_tails = -1;
 static gint hf_x25_segment_too_long_segment = -1;
 static gint hf_x25_segment_error = -1;
+static gint hf_x25_segment_count = -1;
 static gint hf_x25_reassembled_length = -1;
 
 static const value_string vals_modulo[] = {
@@ -220,6 +221,7 @@ static const fragment_items x25_frag_items = {
        &hf_x25_segment_multiple_tails,
        &hf_x25_segment_too_long_segment,
        &hf_x25_segment_error,
+       &hf_x25_segment_count,
        NULL,
        &hf_x25_reassembled_length,
        "segments"
@@ -2637,6 +2639,10 @@ proto_register_x25(void)
          { "Defragmentation error", "x25.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
            "Defragmentation error due to illegal fragments", HFILL }},
        
+       { &hf_x25_segment_count,
+         { "Fragment count", "x25.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+           NULL, HFILL }},
+       
        { &hf_x25_reassembled_length,
          { "Reassembled X.25 length", "x25.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0,
            "The total length of the reassembled payload", HFILL }},
index b0a4c8798e5a60ea4f11814ac6d04f128338fae8..c12daf2603d2a77b40706ffed40bdfa719fe5f03 100644 (file)
@@ -130,6 +130,7 @@ static int hf_zbee_aps_fragment_overlap_conflicts = -1;
 static int hf_zbee_aps_fragment_multiple_tails = -1;
 static int hf_zbee_aps_fragment_too_long_fragment = -1;
 static int hf_zbee_aps_fragment_error = -1;
+static int hf_zbee_aps_fragment_count = -1;
 static int hf_zbee_aps_reassembled_in = -1;
 static int hf_zbee_aps_reassembled_length = -1;
 static gint ett_zbee_aps_fragment = -1;
@@ -162,6 +163,7 @@ static const fragment_items zbee_aps_frag_items = {
     &hf_zbee_aps_fragment_multiple_tails,
     &hf_zbee_aps_fragment_too_long_fragment,
     &hf_zbee_aps_fragment_error,
+    &hf_zbee_aps_fragment_count,
     /* Reassembled in field */
     &hf_zbee_aps_reassembled_in,
     /* Reassembled length field */
@@ -1939,6 +1941,10 @@ void proto_register_zbee_aps(void)
             { "Message defragmentation error",  "zbee.aps.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                 NULL, HFILL }},
 
+            { &hf_zbee_aps_fragment_count,
+            { "Message fragment count",         "zbee.aps.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
+                NULL, HFILL }},
+
             { &hf_zbee_aps_reassembled_in,
             { "Reassembled in",         "zbee.aps.reassembled.in", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
                 NULL, HFILL }},
index e876660123183117d5d29c86b63fba4da7d5d496..99193fa482f589d496c05043b0491b3a9ddc92d2 100644 (file)
@@ -2171,6 +2171,12 @@ show_fragment_tree(fragment_data *fd_head, const fragment_items *fit,
                first_frag = FALSE;
        }
 
+       if (fit->hf_fragment_count) {
+               proto_item *fli = proto_tree_add_uint(ft, *(fit->hf_fragment_count),
+                                                     tvb, 0, 0, count);
+               PROTO_ITEM_SET_GENERATED(fli);
+       }
+
        if (fit->hf_reassembled_length) {
                proto_item *fli = proto_tree_add_uint(ft, *(fit->hf_reassembled_length),
                                                      tvb, 0, 0, tvb_length (tvb));
@@ -2220,6 +2226,12 @@ show_fragment_seq_tree(fragment_data *fd_head, const fragment_items *fit,
                first_frag = FALSE;
        }
 
+       if (fit->hf_fragment_count) {
+               proto_item *fli = proto_tree_add_uint(ft, *(fit->hf_fragment_count),
+                                                     tvb, 0, 0, count);
+               PROTO_ITEM_SET_GENERATED(fli);
+       }
+
        if (fit->hf_reassembled_length) {
                proto_item *fli = proto_tree_add_uint(ft, *(fit->hf_reassembled_length),
                                                      tvb, 0, 0, tvb_length (tvb));
index 09a7ebfcf95b90d42a0688feaf1993960d2ff3a5..f23824e29010162f6ddd4a91934f219b3a072fee 100644 (file)
@@ -306,6 +306,7 @@ typedef struct _fragment_items {
        int     *hf_fragment_multiple_tails;
        int     *hf_fragment_too_long_fragment;
        int     *hf_fragment_error;
+       int     *hf_fragment_count;
        int     *hf_reassembled_in;
        int     *hf_reassembled_length;
 
index 5162b059368a77d517882b09055ded4b3159f3fd..f2ab27e504e3bf687266484511c3d9e221358318 100755 (executable)
@@ -6206,6 +6206,7 @@ static int hf_nds_segment_overlap_conflict = -1;
 static int hf_nds_segment_multiple_tails = -1;
 static int hf_nds_segment_too_long_segment = -1;
 static int hf_nds_segment_error = -1;
+static int hf_nds_segment_count = -1;
 static int hf_nds_reassembled_length = -1;
 static int hf_nds_verb2b_req_flags = -1;
 static int hf_ncp_ip_address = -1;
@@ -8087,6 +8088,9 @@ proto_register_ncp2222(void)
        { &hf_nds_segment_error,
        { "Desegmentation error", "nds.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "Desegmentation error due to illegal segments", HFILL }},
 
+       { &hf_nds_segment_count,
+       { "Segment count", "nds.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
        { &hf_nds_reassembled_length,
        { "Reassembled NDS length", "nds.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0, "The total length of the reassembled payload", HFILL }},