aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
blob: 02e91017b45d8e193707b27bcc8bbc5d4407ffe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# nr-rrc.cnf
# nr-rrc conformation file
# Copyright 2018 Pascal Quantin

#.OPT
PER
UNALIGNED
#.END

#.USE_VALS_EXT
CA-BandwidthClassNR
ConfiguredGrantConfig/periodicity
CSI-RS-IM-ReceptionForFeedback/maxNumberPortsAcrossNZP-CSI-RS-PerCC
CSI-RS-IM-ReceptionForFeedback/maxNumberSimultaneousCSI-RS-ActBWP-AllCC
CSI-RS-IM-ReceptionForFeedback/totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC
DRX-Config/drx-onDurationTimer/milliSeconds
DRX-Config/drx-InactivityTimer
DRX-Config/drx-RetransmissionTimerDL
DRX-Config/drx-RetransmissionTimerUL
DRX-Config/drx-LongCycleStartOffset
DRX-Config/shortDRX/drx-ShortCycle
DRX-Info/drx-LongCycleStartOffset
DRX-Info/shortDRX/drx-ShortCycle
PDCP-Config/t-Reordering
PollByte
PollPDU
Q-OffsetRange
ServingCellConfig/bwp-InactivityTimer
SPS-Config/periodicity
SRS-PeriodicityAndOffset
T-PollRetransmit
T-Reassembly
T-StatusProhibit
UL-DataSplitThreshold

#.EXPORTS
CellGroupConfig_PDU
CG-ConfigInfo_PDU
ConfigRestrictInfoSCG_PDU
FreqBandList_PDU
HandoverPreparationInformation_PDU
MeasConfig_PDU
MeasGapConfig_PDU
MeasResults_PDU
MeasurementTimingConfiguration_PDU
MIB_PDU
P-Max_PDU
RadioBearerConfig_PDU
RRCReconfiguration_PDU
RRCReconfigurationComplete_PDU
SIB1_PDU
UE-CapabilityRAT-ContainerList_PDU
UE-MRDC-Capability_PDU
UE-NR-Capability_PDU
UL-DCCH-Message_PDU

#.PDU
BCCH-BCH-Message             @bcch.bch
CellGroupConfig
CG-ConfigInfo
ConfigRestrictInfoSCG
DL-DCCH-Message              @dl.dcch
FreqBandList
HandoverPreparationInformation
MeasConfig
MeasGapConfig
MeasResults
MeasurementTimingConfiguration
MIB
P-Max
RadioBearerConfig
RRCReconfiguration
RRCReconfigurationComplete
SIB1
UE-CapabilityRAT-ContainerList
UE-MRDC-Capability           @ue_mrdc_cap
UE-NR-Capability             @ue_nr_cap
UL-DCCH-Message              @ul.dcch
#.END

#.OMIT_ASSIGNMENT
CellsTriggeredList
CG-Config
CG-Config-IEs
ConfigRestrictModReqSCG
FR-Info
FR-InfoList
HandoverCommand
HandoverCommand-IEs
MeasConfigSN
VarMeasConfig
VarMeasReportList
VarMeasReport

#.NO_EMIT ONLY_VALS

#.MAKE_ENUM
RAT-Type TYPE_PREFIX

#.FN_HDR BCCH-BCH-Message
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

#.FN_HDR UL-DCCH-Message
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  actx->pinfo->link_dir = P2P_DIR_UL;

#.FN_HDR DL-DCCH-Message
  proto_item *ti;

  col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
  col_clear(actx->pinfo->cinfo, COL_INFO);

  ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
  tree = proto_item_add_subtree(ti, ett_nr_rrc);

  actx->pinfo->link_dir = P2P_DIR_DL;

#.FN_HDR MIB
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");

#.FN_HDR RRCReconfiguration
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");

#.FN_HDR MeasurementReport
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");

#.FN_HDR RRCReconfigurationComplete
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");

#.FN_BODY UE-CapabilityRAT-Container
  /* Initialise to invalid value */
  private_data_set_rat_type(actx, 0xFF);
%(DEFAULT_BODY)s

#.FN_BODY RAT-Type VAL_PTR = &rat_type
  guint32 rat_type;
%(DEFAULT_BODY)s
  private_data_set_rat_type(actx, (guint8)rat_type);

#.FN_BODY UE-CapabilityRAT-Container/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb
  tvbuff_t *ue_cap_tvb=NULL;
%(DEFAULT_BODY)s

#.FN_FTR UE-CapabilityRAT-Container/ue-CapabilityRAT-Container
  if (ue_cap_tvb) {
    proto_tree *subtree;

    subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
    switch(private_data_get_rat_type(actx)){
    case RAT_Type_nr:
      dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
      break;
    case RAT_Type_eutra_nr:
      dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }