Wireshark 5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
packet-oran.h
1/* packet-oran.h
2 *
3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
6 *
7 * SPDX-License-Identifier: GPL-2.0-or-later
8 */
9
10/* Section types from Table 7.3.1-1 */
11enum section_c_types {
12 SEC_C_UNUSED_RB = 0,
13 SEC_C_NORMAL = 1,
14 SEC_C_RSVD2 = 2,
15 SEC_C_PRACH = 3,
16 SEC_C_SLOT_CONTROL = 4,
17 SEC_C_UE_SCHED = 5,
18 SEC_C_CH_INFO = 6,
19 SEC_C_LAA = 7,
20 SEC_C_ACK_NACK_FEEDBACK = 8,
21 SEC_C_SINR_REPORTING = 9,
22 SEC_C_RRM_MEAS_REPORTS = 10,
23 SEC_C_REQUEST_RRM_MEAS = 11,
24 SEC_C_SRS_DESCRIPTION = 12,
25 SEC_C_RRM_MEAS_REPORTS_NON_TIMING = 13,
26 SEC_C_CO_SCHEDULING_INFO = 14,
27 SEC_C_MAX_INDEX /* used to size array below */
28};
29
30#define HIGHEST_EXTTYPE 35 /* Highest supported exttype */
31#define MAX_SECTION_IDs 32 /* i.e. how many may be reported from one frame */
32#define MAX_BEAMS_IN_FRAME 32
33
34/* 8.3.3.15 Compression schemes */
35#define COMP_NONE 0
36#define COMP_BLOCK_FP 1
37#define COMP_BLOCK_SCALE 2
38#define COMP_U_LAW 3
39#define COMP_MODULATION 4
40#define BFP_AND_SELECTIVE_RE 5
41#define MOD_COMPR_AND_SELECTIVE_RE 6
42#define BFP_AND_SELECTIVE_RE_WITH_MASKS 7
43#define MOD_COMPR_AND_SELECTIVE_RE_WITH_MASKS 8
44
45
46/* PUBLIC_HEADER: This is used by custom dissectors and should be in the "install" target */
47typedef struct oran_se_info {
48 uint32_t exttype; /* Section Extension type number */
49 uint32_t extlen; /* Signalled extension length, in 32-bit words */
50 uint32_t startPrbc; /* startPrbc from the section header */
51 uint32_t numPrbc; /* numPrbc from the section header */
52 /* proto_item for the per-extension tree item created by packet-oran.c, so an
53 external dissector can relabel it (e.g. the "(ext-NN: Reserved)" summary text). */
54 void* extension_ti;
55 /* proto_item for the extType field (hf_oran_exttype), so an external dissector can
56 override its "Reserved"/unknown value label. */
57 void* exttype_ti;
59
60typedef struct oran_tap_info {
61 /* Key info */
62 bool userplane;
63
64 uint16_t eaxc;
65 /* Breakdown according to preference settings */
66 uint16_t eaxc_du_port_id;
67 uint16_t eaxc_bandsector_id;
68 uint16_t eaxc_cc_id;
69 uint16_t eaxc_ru_port_id;
70
71 bool uplink;
72 /* Timing info */
73 uint8_t frame;
74 uint8_t slot;
75 /* Missing SNs */
76 uint32_t missing_sns;
77 /* TODO: repeated SNs? */
78 /* Accumulated state */
79 uint32_t pdu_size;
80 bool section_types[SEC_C_MAX_INDEX];
81 uint16_t section_ids[MAX_SECTION_IDs+1];
82 uint8_t num_section_ids;
83 bool extensions[HIGHEST_EXTTYPE+1]; /* wasting first entry */
84
85 /* U-Plane stats */
86 uint32_t num_prbs;
87 uint32_t num_res;
88 bool non_zero_re_in_current_prb;
89 uint32_t num_prbs_zero;
90 uint32_t num_res_zero;
91
92 uint32_t ul_delay_in_us;
93 uint32_t ul_delay_configured_max;
94 /* TODO: compression/bitwidth, beams? */
95 /* N.B. bitwidth, method, but each section could potentially have different udcompHdr.. */
96
97 uint32_t compression_methods;
98 uint32_t compression_width; /* TODO: support multiple widths? */
99
100 /* BeamIds */
101 uint8_t num_beams;
102 uint16_t beams[MAX_BEAMS_IN_FRAME];
103
105
106/*
107 * Editor modelines - https://www.wireshark.org/tools/modelines.html
108 *
109 * Local variables:
110 * c-basic-offset: 4
111 * tab-width: 8
112 * indent-tabs-mode: nil
113 * End:
114 *
115 * vi: set shiftwidth=4 tabstop=8 expandtab:
116 * :indentSize=4:tabSize=8:noTabs=true:
117 */
Definition packet-oran.h:47
Definition packet-oran.h:60