aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pdcp-lte.h
diff options
context:
space:
mode:
authorMartin Mathieson <martin.r.mathieson@googlemail.com>2009-12-11 14:31:40 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2009-12-11 14:31:40 +0000
commit63fc40131845c742e862de6a509efbff04011f97 (patch)
treee9c6b03f3e91793e713adea1d53bf19f2923018e /epan/dissectors/packet-pdcp-lte.h
parent32141ae771bf23e8529d21fc5a5f9525ef6a1f02 (diff)
From Pascal Quantin: add PDCP framing method over UDP.
svn path=/trunk/; revision=31243
Diffstat (limited to 'epan/dissectors/packet-pdcp-lte.h')
-rw-r--r--epan/dissectors/packet-pdcp-lte.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/epan/dissectors/packet-pdcp-lte.h b/epan/dissectors/packet-pdcp-lte.h
index cc70c5a7fa..c525e6b5bb 100644
--- a/epan/dissectors/packet-pdcp-lte.h
+++ b/epan/dissectors/packet-pdcp-lte.h
@@ -87,3 +87,79 @@ typedef struct pdcp_lte_info
unsigned short profile;
} pdcp_lte_info;
+
+/*****************************************************************/
+/* UDP framing format */
+/* ----------------------- */
+/* Several people have asked about dissecting PDCP by framing */
+/* PDUs over IP. A suggested format over UDP has been defined */
+/* and implemented by this dissector, using the definitions */
+/* below. A link to an example program showing you how to encode */
+/* these headers and send LTE PDCP PDUs on a UDP socket is */
+/* provided at http://wiki.wireshark.org/PDCP-LTE */
+/* */
+/* A heuristic dissecter (enabled by a preference) will */
+/* recognise a signature at the beginning of these frames. */
+/* Until someone is using this format, suggestions for changes */
+/* are welcome. */
+/*****************************************************************/
+
+
+/* Signature. Rather than try to define a port for this, or make the
+ port number a preference, frames will start with this string (with no
+ terminating NULL */
+#define PDCP_LTE_START_STRING "pdcp-lte"
+
+/* Fixed fields. This is followed by the following 3 mandatory fields:
+ - no_header_pdu (1 byte)
+ - plane (1 byte)
+ - rohc_compression ( byte)
+ (where the allowed values are defined above) */
+
+/* Conditional field. This field is mandatory in case of User Plane PDCP PDU.
+ The format is to have the tag, followed by the value (there is no length field,
+ its implicit from the tag). The allowed values are defined above. */
+
+#define PDCP_LTE_SEQNUM_LENGTH_TAG 0x02
+/* 1 byte */
+
+/* Optional fields. Attaching this info to frames will allow you
+ to show you display/filter/plot/add-custom-columns on these fields, so should
+ be added if available.
+ The format is to have the tag, followed by the value (there is no length field,
+ its implicit from the tag) */
+
+#define PDCP_LTE_DIRECTION_TAG 0x03
+/* 1 byte */
+
+#define PDCP_LTE_LOG_CHAN_TYPE_TAG 0x04
+/* 1 byte */
+
+#define PDCP_LTE_BCCH_TRANSPORT_TYPE_TAG 0x05
+/* 1 byte */
+
+#define PDCP_LTE_ROHC_IP_VERSION_TAG 0x06
+/* 2 bytes, network order */
+
+#define PDCP_LTE_ROHC_CID_INC_INFO_TAG 0x07
+/* 1 byte */
+
+#define PDCP_LTE_ROHC_LARGE_CID_PRES_TAG 0x08
+/* 1 byte */
+
+#define PDCP_LTE_ROHC_MODE_TAG 0x09
+/* 1 byte */
+
+#define PDCP_LTE_ROHC_RND_TAG 0x0A
+/* 1 byte */
+
+#define PDCP_LTE_ROHC_UDP_CHECKSUM_PRES_TAG 0x0B
+/* 1 byte */
+
+#define PDCP_LTE_ROHC_PROFILE_TAG 0x0C
+/* 2 bytes, network order */
+
+
+/* PDCP PDU. Following this tag comes the actual PDCP PDU (there is no length, the PDU
+ continues until the end of the frame) */
+#define PDCP_LTE_PAYLOAD_TAG 0x01