forked from osmocom/wireshark
RLC-NR: initial dissector submission based on v15.0.0
Change-Id: If469bb8d1c86462238bc363a5794da935c74bb1e Reviewed-on: https://code.wireshark.org/review/26474 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
This commit is contained in:
parent
d1c1348601
commit
86cf7e7169
|
@ -118,6 +118,7 @@ Lustre Filesystem
|
|||
Nano / RaiBlocks Cryptocurrency Protocol (UDP)
|
||||
Network Functional Application Platform Interface (NFAPI) Protocol
|
||||
New Radio Radio Resource Control protocol
|
||||
New Radio Radio Link Control protocol
|
||||
NXP 802.15.4 Sniffer Protocol
|
||||
PFCP (Packet Forwarding Control Protocol)
|
||||
Protobuf (Protocol Buffers)
|
||||
|
|
|
@ -485,6 +485,7 @@ set(DISSECTOR_PUBLIC_HEADERS
|
|||
packet-rdt.h
|
||||
packet-reload.h
|
||||
packet-rlc-lte.h
|
||||
packet-rlc-nr.h
|
||||
packet-rmi.h
|
||||
packet-rmt-common.h
|
||||
packet-rohc.h
|
||||
|
@ -1538,6 +1539,7 @@ set(DISSECTOR_SRC
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rip.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-ripng.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlc-lte.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlc-nr.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlm.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlogin.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rmcp.c
|
||||
|
|
|
@ -1159,6 +1159,7 @@ DISSECTOR_SRC = \
|
|||
packet-rip.c \
|
||||
packet-ripng.c \
|
||||
packet-rlc-lte.c \
|
||||
packet-rlc-nr.c \
|
||||
packet-rlm.c \
|
||||
packet-rlogin.c \
|
||||
packet-rmcp.c \
|
||||
|
@ -1742,6 +1743,7 @@ DISSECTOR_INCLUDES = \
|
|||
packet-rdt.h \
|
||||
packet-reload.h \
|
||||
packet-rlc-lte.h \
|
||||
packet-rlc-nr.h \
|
||||
packet-rmi.h \
|
||||
packet-rmt-common.h \
|
||||
packet-rohc.h \
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,108 @@
|
|||
/* packet-rlc-nr.h
|
||||
*
|
||||
* Pascal Quantin
|
||||
* Wireshark - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@wireshark.org>
|
||||
* Copyright 1998 Gerald Combs
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef PACKET_RLC_NR_H
|
||||
#define PACKET_RLC_NR_H
|
||||
|
||||
/* rlcMode */
|
||||
#define RLC_TM_MODE 1
|
||||
#define RLC_UM_MODE 2
|
||||
#define RLC_AM_MODE 4
|
||||
|
||||
/* direction */
|
||||
#define DIRECTION_UPLINK 0
|
||||
#define DIRECTION_DOWNLINK 1
|
||||
|
||||
/* bearerType */
|
||||
#define BEARER_TYPE_CCCH 1
|
||||
#define BEARER_TYPE_BCCH_BCH 2
|
||||
#define BEARER_TYPE_PCCH 3
|
||||
#define BEARER_TYPE_SRB 4
|
||||
#define BEARER_TYPE_DRB 5
|
||||
#define BEARER_TYPE_BCCH_DL_SCH 6
|
||||
|
||||
/* sequenceNumberLength */
|
||||
#define TM_SN_LENGTH_0_BITS 0
|
||||
#define UM_SN_LENGTH_6_BITS 6
|
||||
#define UM_SN_LENGTH_12_BITS 12
|
||||
#define AM_SN_LENGTH_12_BITS 12
|
||||
#define AM_SN_LENGTH_18_BITS 18
|
||||
|
||||
/* Info attached to each NR RLC frame */
|
||||
typedef struct rlc_nr_info
|
||||
{
|
||||
guint8 rlcMode;
|
||||
guint8 direction;
|
||||
guint8 sequenceNumberLength;
|
||||
guint16 ueid;
|
||||
guint16 bearerType;
|
||||
guint16 bearerId;
|
||||
guint16 pduLength;
|
||||
} rlc_nr_info;
|
||||
|
||||
/*****************************************************************/
|
||||
/* UDP framing format */
|
||||
/* ----------------------- */
|
||||
/* Several people have asked about dissecting RLC by framing */
|
||||
/* PDUs over IP. A suggested format over UDP has been defined */
|
||||
/* and implemented by this dissector, using the definitions */
|
||||
/* below. */
|
||||
/* */
|
||||
/* A heuristic dissector (enabled by a preference) will */
|
||||
/* recognise a signature at the beginning of these frames. */
|
||||
/*****************************************************************/
|
||||
|
||||
|
||||
/* 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 RLC_NR_START_STRING "rlc-nr"
|
||||
|
||||
/* Fixed field. This is followed by the following 2 mandatory field:
|
||||
- rlcMode (1 byte)
|
||||
- sequenceNumberLength (1 byte)
|
||||
(where the allowed values are defined above) */
|
||||
|
||||
/* 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,
|
||||
it's implicit from the tag) */
|
||||
|
||||
#define RLC_NR_DIRECTION_TAG 0x02
|
||||
/* 1 byte */
|
||||
|
||||
#define RLC_NR_UEID_TAG 0x03
|
||||
/* 2 bytes, network order */
|
||||
|
||||
#define RLC_NR_BEARER_TYPE_TAG 0x04
|
||||
/* 1 byte */
|
||||
|
||||
#define RLC_NR_BEARER_ID_TAG 0x05
|
||||
/* 1 byte */
|
||||
|
||||
/* RLC PDU. Following this tag comes the actual RLC PDU (there is no length, the PDU
|
||||
continues until the end of the frame) */
|
||||
#define RLC_NR_PAYLOAD_TAG 0x01
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
* Local variables:
|
||||
* c-basic-offset: 4
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=4 tabstop=8 expandtab:
|
||||
* :indentSize=4:tabSize=8:noTabs=true:
|
||||
*/
|
Loading…
Reference in New Issue