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)
|
Nano / RaiBlocks Cryptocurrency Protocol (UDP)
|
||||||
Network Functional Application Platform Interface (NFAPI) Protocol
|
Network Functional Application Platform Interface (NFAPI) Protocol
|
||||||
New Radio Radio Resource Control protocol
|
New Radio Radio Resource Control protocol
|
||||||
|
New Radio Radio Link Control protocol
|
||||||
NXP 802.15.4 Sniffer Protocol
|
NXP 802.15.4 Sniffer Protocol
|
||||||
PFCP (Packet Forwarding Control Protocol)
|
PFCP (Packet Forwarding Control Protocol)
|
||||||
Protobuf (Protocol Buffers)
|
Protobuf (Protocol Buffers)
|
||||||
|
|
|
@ -485,6 +485,7 @@ set(DISSECTOR_PUBLIC_HEADERS
|
||||||
packet-rdt.h
|
packet-rdt.h
|
||||||
packet-reload.h
|
packet-reload.h
|
||||||
packet-rlc-lte.h
|
packet-rlc-lte.h
|
||||||
|
packet-rlc-nr.h
|
||||||
packet-rmi.h
|
packet-rmi.h
|
||||||
packet-rmt-common.h
|
packet-rmt-common.h
|
||||||
packet-rohc.h
|
packet-rohc.h
|
||||||
|
@ -1538,6 +1539,7 @@ set(DISSECTOR_SRC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rip.c
|
${CMAKE_CURRENT_SOURCE_DIR}/packet-rip.c
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-ripng.c
|
${CMAKE_CURRENT_SOURCE_DIR}/packet-ripng.c
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlc-lte.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-rlm.c
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlogin.c
|
${CMAKE_CURRENT_SOURCE_DIR}/packet-rlogin.c
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-rmcp.c
|
${CMAKE_CURRENT_SOURCE_DIR}/packet-rmcp.c
|
||||||
|
|
|
@ -1159,6 +1159,7 @@ DISSECTOR_SRC = \
|
||||||
packet-rip.c \
|
packet-rip.c \
|
||||||
packet-ripng.c \
|
packet-ripng.c \
|
||||||
packet-rlc-lte.c \
|
packet-rlc-lte.c \
|
||||||
|
packet-rlc-nr.c \
|
||||||
packet-rlm.c \
|
packet-rlm.c \
|
||||||
packet-rlogin.c \
|
packet-rlogin.c \
|
||||||
packet-rmcp.c \
|
packet-rmcp.c \
|
||||||
|
@ -1742,6 +1743,7 @@ DISSECTOR_INCLUDES = \
|
||||||
packet-rdt.h \
|
packet-rdt.h \
|
||||||
packet-reload.h \
|
packet-reload.h \
|
||||||
packet-rlc-lte.h \
|
packet-rlc-lte.h \
|
||||||
|
packet-rlc-nr.h \
|
||||||
packet-rmi.h \
|
packet-rmi.h \
|
||||||
packet-rmt-common.h \
|
packet-rmt-common.h \
|
||||||
packet-rohc.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