Coverage Report

Created: 2025-07-23 07:05

/src/open5gs/lib/gtp/v2/message.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
3
 *
4
 * This file is part of Open5GS.
5
 *
6
 * This program is free software: you can redistribute it and/or modify
7
 * it under the terms of the GNU Affero General Public License as published by
8
 * the Free Software Foundation, either version 3 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
18
 */
19
20
/*******************************************************************************
21
 * This file had been created by gtp-tlv.py script v0.1.0
22
 * Please do not modify this file but regenerate it via script.
23
 * Created on: 2023-08-26 16:35:12.648272 by acetcom
24
 * from 29274-h70.docx
25
 ******************************************************************************/
26
27
#include "ogs-gtp.h"
28
29
ogs_tlv_desc_t ogs_gtp2_tlv_desc_imsi_0 =
30
{
31
    OGS_TLV_VAR_STR,
32
    "IMSI",
33
    OGS_GTP2_IMSI_TYPE,
34
    0,
35
    0,
36
    sizeof(ogs_gtp2_tlv_imsi_t),
37
    { NULL }
38
};
39
40
ogs_tlv_desc_t ogs_gtp2_tlv_desc_cause_0 =
41
{
42
    OGS_TLV_VAR_STR,
43
    "Cause",
44
    OGS_GTP2_CAUSE_TYPE,
45
    0,
46
    0,
47
    sizeof(ogs_gtp2_tlv_cause_t),
48
    { NULL }
49
};
50
51
ogs_tlv_desc_t ogs_gtp2_tlv_desc_recovery_0 =
52
{
53
    OGS_TLV_UINT8,
54
    "Recovery",
55
    OGS_GTP2_RECOVERY_TYPE,
56
    1,
57
    0,
58
    sizeof(ogs_gtp2_tlv_recovery_t),
59
    { NULL }
60
};
61
62
ogs_tlv_desc_t ogs_gtp2_tlv_desc_stn_sr_0 =
63
{
64
    OGS_TLV_VAR_STR,
65
    "STN-SR",
66
    OGS_GTP2_STN_SR_TYPE,
67
    0,
68
    0,
69
    sizeof(ogs_gtp2_tlv_stn_sr_t),
70
    { NULL }
71
};
72
73
ogs_tlv_desc_t ogs_gtp2_tlv_desc_srvcc_cause_0 =
74
{
75
    OGS_TLV_VAR_STR,
76
    "SRVCC Cause",
77
    OGS_GTP2_SRVCC_CAUSE_TYPE,
78
    0,
79
    0,
80
    sizeof(ogs_gtp2_tlv_srvcc_cause_t),
81
    { NULL }
82
};
83
84
ogs_tlv_desc_t ogs_gtp2_tlv_desc_apn_0 =
85
{
86
    OGS_TLV_VAR_STR,
87
    "APN",
88
    OGS_GTP2_APN_TYPE,
89
    0,
90
    0,
91
    sizeof(ogs_gtp2_tlv_apn_t),
92
    { NULL }
93
};
94
95
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ambr_0 =
96
{
97
    OGS_TLV_VAR_STR,
98
    "AMBR",
99
    OGS_GTP2_AMBR_TYPE,
100
    0,
101
    0,
102
    sizeof(ogs_gtp2_tlv_ambr_t),
103
    { NULL }
104
};
105
106
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ebi_0 =
107
{
108
    OGS_TLV_UINT8,
109
    "EBI",
110
    OGS_GTP2_EBI_TYPE,
111
    1,
112
    0,
113
    sizeof(ogs_gtp2_tlv_ebi_t),
114
    { NULL }
115
};
116
117
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ebi_1 =
118
{
119
    OGS_TLV_UINT8,
120
    "EBI",
121
    OGS_GTP2_EBI_TYPE,
122
    1,
123
    1,
124
    sizeof(ogs_gtp2_tlv_ebi_t),
125
    { NULL }
126
};
127
128
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ip_address_0 =
129
{
130
    OGS_TLV_VAR_STR,
131
    "IP Address",
132
    OGS_GTP2_IP_ADDRESS_TYPE,
133
    0,
134
    0,
135
    sizeof(ogs_gtp2_tlv_ip_address_t),
136
    { NULL }
137
};
138
139
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ip_address_1 =
140
{
141
    OGS_TLV_VAR_STR,
142
    "IP Address",
143
    OGS_GTP2_IP_ADDRESS_TYPE,
144
    0,
145
    1,
146
    sizeof(ogs_gtp2_tlv_ip_address_t),
147
    { NULL }
148
};
149
150
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ip_address_2 =
151
{
152
    OGS_TLV_VAR_STR,
153
    "IP Address",
154
    OGS_GTP2_IP_ADDRESS_TYPE,
155
    0,
156
    2,
157
    sizeof(ogs_gtp2_tlv_ip_address_t),
158
    { NULL }
159
};
160
161
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ip_address_3 =
162
{
163
    OGS_TLV_VAR_STR,
164
    "IP Address",
165
    OGS_GTP2_IP_ADDRESS_TYPE,
166
    0,
167
    3,
168
    sizeof(ogs_gtp2_tlv_ip_address_t),
169
    { NULL }
170
};
171
172
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mei_0 =
173
{
174
    OGS_TLV_VAR_STR,
175
    "MEI",
176
    OGS_GTP2_MEI_TYPE,
177
    0,
178
    0,
179
    sizeof(ogs_gtp2_tlv_mei_t),
180
    { NULL }
181
};
182
183
ogs_tlv_desc_t ogs_gtp2_tlv_desc_msisdn_0 =
184
{
185
    OGS_TLV_VAR_STR,
186
    "MSISDN",
187
    OGS_GTP2_MSISDN_TYPE,
188
    0,
189
    0,
190
    sizeof(ogs_gtp2_tlv_msisdn_t),
191
    { NULL }
192
};
193
194
ogs_tlv_desc_t ogs_gtp2_tlv_desc_indication_0 =
195
{
196
    OGS_TLV_VAR_STR,
197
    "Indication",
198
    OGS_GTP2_INDICATION_TYPE,
199
    0,
200
    0,
201
    sizeof(ogs_gtp2_tlv_indication_t),
202
    { NULL }
203
};
204
205
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pco_0 =
206
{
207
    OGS_TLV_VAR_STR,
208
    "PCO",
209
    OGS_GTP2_PCO_TYPE,
210
    0,
211
    0,
212
    sizeof(ogs_gtp2_tlv_pco_t),
213
    { NULL }
214
};
215
216
ogs_tlv_desc_t ogs_gtp2_tlv_desc_paa_0 =
217
{
218
    OGS_TLV_VAR_STR,
219
    "PAA",
220
    OGS_GTP2_PAA_TYPE,
221
    0,
222
    0,
223
    sizeof(ogs_gtp2_tlv_paa_t),
224
    { NULL }
225
};
226
227
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_qos_0 =
228
{
229
    OGS_TLV_VAR_STR,
230
    "Bearer QoS",
231
    OGS_GTP2_BEARER_QOS_TYPE,
232
    0,
233
    0,
234
    sizeof(ogs_gtp2_tlv_bearer_qos_t),
235
    { NULL }
236
};
237
238
ogs_tlv_desc_t ogs_gtp2_tlv_desc_flow_qos_0 =
239
{
240
    OGS_TLV_VAR_STR,
241
    "Flow QoS",
242
    OGS_GTP2_FLOW_QOS_TYPE,
243
    0,
244
    0,
245
    sizeof(ogs_gtp2_tlv_flow_qos_t),
246
    { NULL }
247
};
248
249
ogs_tlv_desc_t ogs_gtp2_tlv_desc_rat_type_0 =
250
{
251
    OGS_TLV_UINT8,
252
    "RAT Type",
253
    OGS_GTP2_RAT_TYPE_TYPE,
254
    1,
255
    0,
256
    sizeof(ogs_gtp2_tlv_rat_type_t),
257
    { NULL }
258
};
259
260
ogs_tlv_desc_t ogs_gtp2_tlv_desc_serving_network_0 =
261
{
262
    OGS_TLV_VAR_STR,
263
    "Serving Network",
264
    OGS_GTP2_SERVING_NETWORK_TYPE,
265
    0,
266
    0,
267
    sizeof(ogs_gtp2_tlv_serving_network_t),
268
    { NULL }
269
};
270
271
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_tft_0 =
272
{
273
    OGS_TLV_VAR_STR,
274
    "Bearer TFT",
275
    OGS_GTP2_BEARER_TFT_TYPE,
276
    0,
277
    0,
278
    sizeof(ogs_gtp2_tlv_bearer_tft_t),
279
    { NULL }
280
};
281
282
ogs_tlv_desc_t ogs_gtp2_tlv_desc_tad_0 =
283
{
284
    OGS_TLV_VAR_STR,
285
    "TAD",
286
    OGS_GTP2_TAD_TYPE,
287
    0,
288
    0,
289
    sizeof(ogs_gtp2_tlv_tad_t),
290
    { NULL }
291
};
292
293
ogs_tlv_desc_t ogs_gtp2_tlv_desc_uli_0 =
294
{
295
    OGS_TLV_VAR_STR,
296
    "ULI",
297
    OGS_GTP2_ULI_TYPE,
298
    0,
299
    0,
300
    sizeof(ogs_gtp2_tlv_uli_t),
301
    { NULL }
302
};
303
304
ogs_tlv_desc_t ogs_gtp2_tlv_desc_uli_1 =
305
{
306
    OGS_TLV_VAR_STR,
307
    "ULI",
308
    OGS_GTP2_ULI_TYPE,
309
    0,
310
    1,
311
    sizeof(ogs_gtp2_tlv_uli_t),
312
    { NULL }
313
};
314
315
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_0 =
316
{
317
    OGS_TLV_VAR_STR,
318
    "F-TEID",
319
    OGS_GTP2_F_TEID_TYPE,
320
    0,
321
    0,
322
    sizeof(ogs_gtp2_tlv_f_teid_t),
323
    { NULL }
324
};
325
326
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_1 =
327
{
328
    OGS_TLV_VAR_STR,
329
    "F-TEID",
330
    OGS_GTP2_F_TEID_TYPE,
331
    0,
332
    1,
333
    sizeof(ogs_gtp2_tlv_f_teid_t),
334
    { NULL }
335
};
336
337
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_2 =
338
{
339
    OGS_TLV_VAR_STR,
340
    "F-TEID",
341
    OGS_GTP2_F_TEID_TYPE,
342
    0,
343
    2,
344
    sizeof(ogs_gtp2_tlv_f_teid_t),
345
    { NULL }
346
};
347
348
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_3 =
349
{
350
    OGS_TLV_VAR_STR,
351
    "F-TEID",
352
    OGS_GTP2_F_TEID_TYPE,
353
    0,
354
    3,
355
    sizeof(ogs_gtp2_tlv_f_teid_t),
356
    { NULL }
357
};
358
359
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_4 =
360
{
361
    OGS_TLV_VAR_STR,
362
    "F-TEID",
363
    OGS_GTP2_F_TEID_TYPE,
364
    0,
365
    4,
366
    sizeof(ogs_gtp2_tlv_f_teid_t),
367
    { NULL }
368
};
369
370
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_5 =
371
{
372
    OGS_TLV_VAR_STR,
373
    "F-TEID",
374
    OGS_GTP2_F_TEID_TYPE,
375
    0,
376
    5,
377
    sizeof(ogs_gtp2_tlv_f_teid_t),
378
    { NULL }
379
};
380
381
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_6 =
382
{
383
    OGS_TLV_VAR_STR,
384
    "F-TEID",
385
    OGS_GTP2_F_TEID_TYPE,
386
    0,
387
    6,
388
    sizeof(ogs_gtp2_tlv_f_teid_t),
389
    { NULL }
390
};
391
392
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_7 =
393
{
394
    OGS_TLV_VAR_STR,
395
    "F-TEID",
396
    OGS_GTP2_F_TEID_TYPE,
397
    0,
398
    7,
399
    sizeof(ogs_gtp2_tlv_f_teid_t),
400
    { NULL }
401
};
402
403
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_8 =
404
{
405
    OGS_TLV_VAR_STR,
406
    "F-TEID",
407
    OGS_GTP2_F_TEID_TYPE,
408
    0,
409
    8,
410
    sizeof(ogs_gtp2_tlv_f_teid_t),
411
    { NULL }
412
};
413
414
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_9 =
415
{
416
    OGS_TLV_VAR_STR,
417
    "F-TEID",
418
    OGS_GTP2_F_TEID_TYPE,
419
    0,
420
    9,
421
    sizeof(ogs_gtp2_tlv_f_teid_t),
422
    { NULL }
423
};
424
425
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_10 =
426
{
427
    OGS_TLV_VAR_STR,
428
    "F-TEID",
429
    OGS_GTP2_F_TEID_TYPE,
430
    0,
431
    10,
432
    sizeof(ogs_gtp2_tlv_f_teid_t),
433
    { NULL }
434
};
435
436
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_teid_11 =
437
{
438
    OGS_TLV_VAR_STR,
439
    "F-TEID",
440
    OGS_GTP2_F_TEID_TYPE,
441
    0,
442
    11,
443
    sizeof(ogs_gtp2_tlv_f_teid_t),
444
    { NULL }
445
};
446
447
ogs_tlv_desc_t ogs_gtp2_tlv_desc_tmsi_0 =
448
{
449
    OGS_TLV_VAR_STR,
450
    "TMSI",
451
    OGS_GTP2_TMSI_TYPE,
452
    0,
453
    0,
454
    sizeof(ogs_gtp2_tlv_tmsi_t),
455
    { NULL }
456
};
457
458
ogs_tlv_desc_t ogs_gtp2_tlv_desc_global_cn_id_0 =
459
{
460
    OGS_TLV_VAR_STR,
461
    "Global CN-Id",
462
    OGS_GTP2_GLOBAL_CN_ID_TYPE,
463
    0,
464
    0,
465
    sizeof(ogs_gtp2_tlv_global_cn_id_t),
466
    { NULL }
467
};
468
469
ogs_tlv_desc_t ogs_gtp2_tlv_desc_s103pdf_0 =
470
{
471
    OGS_TLV_VAR_STR,
472
    "S103PDF",
473
    OGS_GTP2_S103PDF_TYPE,
474
    0,
475
    0,
476
    sizeof(ogs_gtp2_tlv_s103pdf_t),
477
    { NULL }
478
};
479
480
ogs_tlv_desc_t ogs_gtp2_tlv_desc_s1udf_0 =
481
{
482
    OGS_TLV_VAR_STR,
483
    "S1UDF",
484
    OGS_GTP2_S1UDF_TYPE,
485
    0,
486
    0,
487
    sizeof(ogs_gtp2_tlv_s1udf_t),
488
    { NULL }
489
};
490
491
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delay_value_0 =
492
{
493
    OGS_TLV_UINT8,
494
    "Delay Value",
495
    OGS_GTP2_DELAY_VALUE_TYPE,
496
    1,
497
    0,
498
    sizeof(ogs_gtp2_tlv_delay_value_t),
499
    { NULL }
500
};
501
502
ogs_tlv_desc_t ogs_gtp2_tlv_desc_charging_id_0 =
503
{
504
    OGS_TLV_UINT32,
505
    "Charging ID",
506
    OGS_GTP2_CHARGING_ID_TYPE,
507
    4,
508
    0,
509
    sizeof(ogs_gtp2_tlv_charging_id_t),
510
    { NULL }
511
};
512
513
ogs_tlv_desc_t ogs_gtp2_tlv_desc_charging_characteristics_0 =
514
{
515
    OGS_TLV_VAR_STR,
516
    "Charging Characteristics",
517
    OGS_GTP2_CHARGING_CHARACTERISTICS_TYPE,
518
    0,
519
    0,
520
    sizeof(ogs_gtp2_tlv_charging_characteristics_t),
521
    { NULL }
522
};
523
524
ogs_tlv_desc_t ogs_gtp2_tlv_desc_trace_information_0 =
525
{
526
    OGS_TLV_VAR_STR,
527
    "Trace Information",
528
    OGS_GTP2_TRACE_INFORMATION_TYPE,
529
    0,
530
    0,
531
    sizeof(ogs_gtp2_tlv_trace_information_t),
532
    { NULL }
533
};
534
535
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_flags_0 =
536
{
537
    OGS_TLV_VAR_STR,
538
    "Bearer Flags",
539
    OGS_GTP2_BEARER_FLAGS_TYPE,
540
    0,
541
    0,
542
    sizeof(ogs_gtp2_tlv_bearer_flags_t),
543
    { NULL }
544
};
545
546
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pdn_type_0 =
547
{
548
    OGS_TLV_UINT8,
549
    "PDN Type",
550
    OGS_GTP2_PDN_TYPE_TYPE,
551
    1,
552
    0,
553
    sizeof(ogs_gtp2_tlv_pdn_type_t),
554
    { NULL }
555
};
556
557
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pti_0 =
558
{
559
    OGS_TLV_UINT8,
560
    "PTI",
561
    OGS_GTP2_PTI_TYPE,
562
    1,
563
    0,
564
    sizeof(ogs_gtp2_tlv_pti_t),
565
    { NULL }
566
};
567
568
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mm_context_0 =
569
{
570
    OGS_TLV_VAR_STR,
571
    "MM Context",
572
    OGS_GTP2_MM_CONTEXT_TYPE,
573
    0,
574
    0,
575
    sizeof(ogs_gtp2_tlv_mm_context_t),
576
    { NULL }
577
};
578
579
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pdu_numbers_0 =
580
{
581
    OGS_TLV_VAR_STR,
582
    "PDU Numbers",
583
    OGS_GTP2_PDU_NUMBERS_TYPE,
584
    0,
585
    0,
586
    sizeof(ogs_gtp2_tlv_pdu_numbers_t),
587
    { NULL }
588
};
589
590
ogs_tlv_desc_t ogs_gtp2_tlv_desc_p_tmsi_0 =
591
{
592
    OGS_TLV_VAR_STR,
593
    "P-TMSI",
594
    OGS_GTP2_P_TMSI_TYPE,
595
    0,
596
    0,
597
    sizeof(ogs_gtp2_tlv_p_tmsi_t),
598
    { NULL }
599
};
600
601
ogs_tlv_desc_t ogs_gtp2_tlv_desc_p_tmsi_signature_0 =
602
{
603
    OGS_TLV_VAR_STR,
604
    "P-TMSI Signature",
605
    OGS_GTP2_P_TMSI_SIGNATURE_TYPE,
606
    0,
607
    0,
608
    sizeof(ogs_gtp2_tlv_p_tmsi_signature_t),
609
    { NULL }
610
};
611
612
ogs_tlv_desc_t ogs_gtp2_tlv_desc_hop_counter_0 =
613
{
614
    OGS_TLV_VAR_STR,
615
    "Hop Counter",
616
    OGS_GTP2_HOP_COUNTER_TYPE,
617
    0,
618
    0,
619
    sizeof(ogs_gtp2_tlv_hop_counter_t),
620
    { NULL }
621
};
622
623
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ue_time_zone_0 =
624
{
625
    OGS_TLV_VAR_STR,
626
    "UE Time Zone",
627
    OGS_GTP2_UE_TIME_ZONE_TYPE,
628
    0,
629
    0,
630
    sizeof(ogs_gtp2_tlv_ue_time_zone_t),
631
    { NULL }
632
};
633
634
ogs_tlv_desc_t ogs_gtp2_tlv_desc_trace_reference_0 =
635
{
636
    OGS_TLV_VAR_STR,
637
    "Trace Reference",
638
    OGS_GTP2_TRACE_REFERENCE_TYPE,
639
    0,
640
    0,
641
    sizeof(ogs_gtp2_tlv_trace_reference_t),
642
    { NULL }
643
};
644
645
ogs_tlv_desc_t ogs_gtp2_tlv_desc_complete_request_message_0 =
646
{
647
    OGS_TLV_VAR_STR,
648
    "Complete Request Message",
649
    OGS_GTP2_COMPLETE_REQUEST_MESSAGE_TYPE,
650
    0,
651
    0,
652
    sizeof(ogs_gtp2_tlv_complete_request_message_t),
653
    { NULL }
654
};
655
656
ogs_tlv_desc_t ogs_gtp2_tlv_desc_guti_0 =
657
{
658
    OGS_TLV_VAR_STR,
659
    "GUTI",
660
    OGS_GTP2_GUTI_TYPE,
661
    0,
662
    0,
663
    sizeof(ogs_gtp2_tlv_guti_t),
664
    { NULL }
665
};
666
667
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_container_0 =
668
{
669
    OGS_TLV_VAR_STR,
670
    "F-Container",
671
    OGS_GTP2_F_CONTAINER_TYPE,
672
    0,
673
    0,
674
    sizeof(ogs_gtp2_tlv_f_container_t),
675
    { NULL }
676
};
677
678
ogs_tlv_desc_t ogs_gtp2_tlv_desc_f_cause_0 =
679
{
680
    OGS_TLV_VAR_STR,
681
    "F-Cause",
682
    OGS_GTP2_F_CAUSE_TYPE,
683
    0,
684
    0,
685
    sizeof(ogs_gtp2_tlv_f_cause_t),
686
    { NULL }
687
};
688
689
ogs_tlv_desc_t ogs_gtp2_tlv_desc_plmn_id_0 =
690
{
691
    OGS_TLV_VAR_STR,
692
    "PLMN ID",
693
    OGS_GTP2_PLMN_ID_TYPE,
694
    0,
695
    0,
696
    sizeof(ogs_gtp2_tlv_plmn_id_t),
697
    { NULL }
698
};
699
700
ogs_tlv_desc_t ogs_gtp2_tlv_desc_target_identification_0 =
701
{
702
    OGS_TLV_VAR_STR,
703
    "Target Identification",
704
    OGS_GTP2_TARGET_IDENTIFICATION_TYPE,
705
    0,
706
    0,
707
    sizeof(ogs_gtp2_tlv_target_identification_t),
708
    { NULL }
709
};
710
711
ogs_tlv_desc_t ogs_gtp2_tlv_desc_packet_flow_id_0 =
712
{
713
    OGS_TLV_VAR_STR,
714
    "Packet Flow ID",
715
    OGS_GTP2_PACKET_FLOW_ID_TYPE,
716
    0,
717
    0,
718
    sizeof(ogs_gtp2_tlv_packet_flow_id_t),
719
    { NULL }
720
};
721
722
ogs_tlv_desc_t ogs_gtp2_tlv_desc_rab_context_0 =
723
{
724
    OGS_TLV_VAR_STR,
725
    "RAB Context",
726
    OGS_GTP2_RAB_CONTEXT_TYPE,
727
    0,
728
    0,
729
    sizeof(ogs_gtp2_tlv_rab_context_t),
730
    { NULL }
731
};
732
733
ogs_tlv_desc_t ogs_gtp2_tlv_desc_source_rnc_pdcp_context_info_0 =
734
{
735
    OGS_TLV_VAR_STR,
736
    "Source RNC PDCP Context Info",
737
    OGS_GTP2_SOURCE_RNC_PDCP_CONTEXT_INFO_TYPE,
738
    0,
739
    0,
740
    sizeof(ogs_gtp2_tlv_source_rnc_pdcp_context_info_t),
741
    { NULL }
742
};
743
744
ogs_tlv_desc_t ogs_gtp2_tlv_desc_port_number_0 =
745
{
746
    OGS_TLV_UINT16,
747
    "Port Number",
748
    OGS_GTP2_PORT_NUMBER_TYPE,
749
    2,
750
    0,
751
    sizeof(ogs_gtp2_tlv_port_number_t),
752
    { NULL }
753
};
754
755
ogs_tlv_desc_t ogs_gtp2_tlv_desc_port_number_1 =
756
{
757
    OGS_TLV_UINT16,
758
    "Port Number",
759
    OGS_GTP2_PORT_NUMBER_TYPE,
760
    2,
761
    1,
762
    sizeof(ogs_gtp2_tlv_port_number_t),
763
    { NULL }
764
};
765
766
ogs_tlv_desc_t ogs_gtp2_tlv_desc_port_number_2 =
767
{
768
    OGS_TLV_UINT16,
769
    "Port Number",
770
    OGS_GTP2_PORT_NUMBER_TYPE,
771
    2,
772
    2,
773
    sizeof(ogs_gtp2_tlv_port_number_t),
774
    { NULL }
775
};
776
777
ogs_tlv_desc_t ogs_gtp2_tlv_desc_apn_restriction_0 =
778
{
779
    OGS_TLV_UINT8,
780
    "APN Restriction",
781
    OGS_GTP2_APN_RESTRICTION_TYPE,
782
    1,
783
    0,
784
    sizeof(ogs_gtp2_tlv_apn_restriction_t),
785
    { NULL }
786
};
787
788
ogs_tlv_desc_t ogs_gtp2_tlv_desc_selection_mode_0 =
789
{
790
    OGS_TLV_UINT8,
791
    "Selection Mode",
792
    OGS_GTP2_SELECTION_MODE_TYPE,
793
    1,
794
    0,
795
    sizeof(ogs_gtp2_tlv_selection_mode_t),
796
    { NULL }
797
};
798
799
ogs_tlv_desc_t ogs_gtp2_tlv_desc_source_identification_0 =
800
{
801
    OGS_TLV_VAR_STR,
802
    "Source Identification",
803
    OGS_GTP2_SOURCE_IDENTIFICATION_TYPE,
804
    0,
805
    0,
806
    sizeof(ogs_gtp2_tlv_source_identification_t),
807
    { NULL }
808
};
809
810
ogs_tlv_desc_t ogs_gtp2_tlv_desc_change_reporting_action_0 =
811
{
812
    OGS_TLV_VAR_STR,
813
    "Change Reporting Action",
814
    OGS_GTP2_CHANGE_REPORTING_ACTION_TYPE,
815
    0,
816
    0,
817
    sizeof(ogs_gtp2_tlv_change_reporting_action_t),
818
    { NULL }
819
};
820
821
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fq_csid_0 =
822
{
823
    OGS_TLV_VAR_STR,
824
    "FQ-CSID",
825
    OGS_GTP2_FQ_CSID_TYPE,
826
    0,
827
    0,
828
    sizeof(ogs_gtp2_tlv_fq_csid_t),
829
    { NULL }
830
};
831
832
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fq_csid_1 =
833
{
834
    OGS_TLV_VAR_STR,
835
    "FQ-CSID",
836
    OGS_GTP2_FQ_CSID_TYPE,
837
    0,
838
    1,
839
    sizeof(ogs_gtp2_tlv_fq_csid_t),
840
    { NULL }
841
};
842
843
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fq_csid_2 =
844
{
845
    OGS_TLV_VAR_STR,
846
    "FQ-CSID",
847
    OGS_GTP2_FQ_CSID_TYPE,
848
    0,
849
    2,
850
    sizeof(ogs_gtp2_tlv_fq_csid_t),
851
    { NULL }
852
};
853
854
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fq_csid_3 =
855
{
856
    OGS_TLV_VAR_STR,
857
    "FQ-CSID",
858
    OGS_GTP2_FQ_CSID_TYPE,
859
    0,
860
    3,
861
    sizeof(ogs_gtp2_tlv_fq_csid_t),
862
    { NULL }
863
};
864
865
ogs_tlv_desc_t ogs_gtp2_tlv_desc_channel_needed_0 =
866
{
867
    OGS_TLV_VAR_STR,
868
    "Channel needed",
869
    OGS_GTP2_CHANNEL_NEEDED_TYPE,
870
    0,
871
    0,
872
    sizeof(ogs_gtp2_tlv_channel_needed_t),
873
    { NULL }
874
};
875
876
ogs_tlv_desc_t ogs_gtp2_tlv_desc_emlpp_priority_0 =
877
{
878
    OGS_TLV_VAR_STR,
879
    "eMLPP Priority",
880
    OGS_GTP2_EMLPP_PRIORITY_TYPE,
881
    0,
882
    0,
883
    sizeof(ogs_gtp2_tlv_emlpp_priority_t),
884
    { NULL }
885
};
886
887
ogs_tlv_desc_t ogs_gtp2_tlv_desc_node_type_0 =
888
{
889
    OGS_TLV_UINT8,
890
    "Node Type",
891
    OGS_GTP2_NODE_TYPE_TYPE,
892
    1,
893
    0,
894
    sizeof(ogs_gtp2_tlv_node_type_t),
895
    { NULL }
896
};
897
898
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_0 =
899
{
900
    OGS_TLV_VAR_STR,
901
    "FQDN",
902
    OGS_GTP2_FQDN_TYPE,
903
    0,
904
    0,
905
    sizeof(ogs_gtp2_tlv_fqdn_t),
906
    { NULL }
907
};
908
909
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_1 =
910
{
911
    OGS_TLV_VAR_STR,
912
    "FQDN",
913
    OGS_GTP2_FQDN_TYPE,
914
    0,
915
    1,
916
    sizeof(ogs_gtp2_tlv_fqdn_t),
917
    { NULL }
918
};
919
920
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_2 =
921
{
922
    OGS_TLV_VAR_STR,
923
    "FQDN",
924
    OGS_GTP2_FQDN_TYPE,
925
    0,
926
    2,
927
    sizeof(ogs_gtp2_tlv_fqdn_t),
928
    { NULL }
929
};
930
931
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_3 =
932
{
933
    OGS_TLV_VAR_STR,
934
    "FQDN",
935
    OGS_GTP2_FQDN_TYPE,
936
    0,
937
    3,
938
    sizeof(ogs_gtp2_tlv_fqdn_t),
939
    { NULL }
940
};
941
942
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ti_0 =
943
{
944
    OGS_TLV_VAR_STR,
945
    "TI",
946
    OGS_GTP2_TI_TYPE,
947
    0,
948
    0,
949
    sizeof(ogs_gtp2_tlv_ti_t),
950
    { NULL }
951
};
952
953
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_session_duration_0 =
954
{
955
    OGS_TLV_VAR_STR,
956
    "MBMS Session Duration",
957
    OGS_GTP2_MBMS_SESSION_DURATION_TYPE,
958
    0,
959
    0,
960
    sizeof(ogs_gtp2_tlv_mbms_session_duration_t),
961
    { NULL }
962
};
963
964
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_service_area_0 =
965
{
966
    OGS_TLV_VAR_STR,
967
    "MBMS Service Area",
968
    OGS_GTP2_MBMS_SERVICE_AREA_TYPE,
969
    0,
970
    0,
971
    sizeof(ogs_gtp2_tlv_mbms_service_area_t),
972
    { NULL }
973
};
974
975
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_session_identifier_0 =
976
{
977
    OGS_TLV_VAR_STR,
978
    "MBMS Session Identifier",
979
    OGS_GTP2_MBMS_SESSION_IDENTIFIER_TYPE,
980
    0,
981
    0,
982
    sizeof(ogs_gtp2_tlv_mbms_session_identifier_t),
983
    { NULL }
984
};
985
986
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_flow_identifier_0 =
987
{
988
    OGS_TLV_VAR_STR,
989
    "MBMS Flow Identifier",
990
    OGS_GTP2_MBMS_FLOW_IDENTIFIER_TYPE,
991
    0,
992
    0,
993
    sizeof(ogs_gtp2_tlv_mbms_flow_identifier_t),
994
    { NULL }
995
};
996
997
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_ip_multicast_distribution_0 =
998
{
999
    OGS_TLV_VAR_STR,
1000
    "MBMS IP Multicast Distribution",
1001
    OGS_GTP2_MBMS_IP_MULTICAST_DISTRIBUTION_TYPE,
1002
    0,
1003
    0,
1004
    sizeof(ogs_gtp2_tlv_mbms_ip_multicast_distribution_t),
1005
    { NULL }
1006
};
1007
1008
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_distribution_acknowledge_0 =
1009
{
1010
    OGS_TLV_VAR_STR,
1011
    "MBMS Distribution Acknowledge",
1012
    OGS_GTP2_MBMS_DISTRIBUTION_ACKNOWLEDGE_TYPE,
1013
    0,
1014
    0,
1015
    sizeof(ogs_gtp2_tlv_mbms_distribution_acknowledge_t),
1016
    { NULL }
1017
};
1018
1019
ogs_tlv_desc_t ogs_gtp2_tlv_desc_rfsp_index_0 =
1020
{
1021
    OGS_TLV_VAR_STR,
1022
    "RFSP Index",
1023
    OGS_GTP2_RFSP_INDEX_TYPE,
1024
    0,
1025
    0,
1026
    sizeof(ogs_gtp2_tlv_rfsp_index_t),
1027
    { NULL }
1028
};
1029
1030
ogs_tlv_desc_t ogs_gtp2_tlv_desc_uci_0 =
1031
{
1032
    OGS_TLV_VAR_STR,
1033
    "UCI",
1034
    OGS_GTP2_UCI_TYPE,
1035
    0,
1036
    0,
1037
    sizeof(ogs_gtp2_tlv_uci_t),
1038
    { NULL }
1039
};
1040
1041
ogs_tlv_desc_t ogs_gtp2_tlv_desc_csg_information_reporting_action_0 =
1042
{
1043
    OGS_TLV_VAR_STR,
1044
    "CSG Information Reporting Action",
1045
    OGS_GTP2_CSG_INFORMATION_REPORTING_ACTION_TYPE,
1046
    0,
1047
    0,
1048
    sizeof(ogs_gtp2_tlv_csg_information_reporting_action_t),
1049
    { NULL }
1050
};
1051
1052
ogs_tlv_desc_t ogs_gtp2_tlv_desc_csg_id_0 =
1053
{
1054
    OGS_TLV_VAR_STR,
1055
    "CSG ID",
1056
    OGS_GTP2_CSG_ID_TYPE,
1057
    0,
1058
    0,
1059
    sizeof(ogs_gtp2_tlv_csg_id_t),
1060
    { NULL }
1061
};
1062
1063
ogs_tlv_desc_t ogs_gtp2_tlv_desc_cmi_0 =
1064
{
1065
    OGS_TLV_VAR_STR,
1066
    "CMI",
1067
    OGS_GTP2_CMI_TYPE,
1068
    0,
1069
    0,
1070
    sizeof(ogs_gtp2_tlv_cmi_t),
1071
    { NULL }
1072
};
1073
1074
ogs_tlv_desc_t ogs_gtp2_tlv_desc_service_indicator_0 =
1075
{
1076
    OGS_TLV_VAR_STR,
1077
    "Service indicator",
1078
    OGS_GTP2_SERVICE_INDICATOR_TYPE,
1079
    0,
1080
    0,
1081
    sizeof(ogs_gtp2_tlv_service_indicator_t),
1082
    { NULL }
1083
};
1084
1085
ogs_tlv_desc_t ogs_gtp2_tlv_desc_detach_type_0 =
1086
{
1087
    OGS_TLV_VAR_STR,
1088
    "Detach Type",
1089
    OGS_GTP2_DETACH_TYPE_TYPE,
1090
    0,
1091
    0,
1092
    sizeof(ogs_gtp2_tlv_detach_type_t),
1093
    { NULL }
1094
};
1095
1096
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ldn_0 =
1097
{
1098
    OGS_TLV_VAR_STR,
1099
    "LDN",
1100
    OGS_GTP2_LDN_TYPE,
1101
    0,
1102
    0,
1103
    sizeof(ogs_gtp2_tlv_ldn_t),
1104
    { NULL }
1105
};
1106
1107
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ldn_1 =
1108
{
1109
    OGS_TLV_VAR_STR,
1110
    "LDN",
1111
    OGS_GTP2_LDN_TYPE,
1112
    0,
1113
    1,
1114
    sizeof(ogs_gtp2_tlv_ldn_t),
1115
    { NULL }
1116
};
1117
1118
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ldn_2 =
1119
{
1120
    OGS_TLV_VAR_STR,
1121
    "LDN",
1122
    OGS_GTP2_LDN_TYPE,
1123
    0,
1124
    2,
1125
    sizeof(ogs_gtp2_tlv_ldn_t),
1126
    { NULL }
1127
};
1128
1129
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ldn_3 =
1130
{
1131
    OGS_TLV_VAR_STR,
1132
    "LDN",
1133
    OGS_GTP2_LDN_TYPE,
1134
    0,
1135
    3,
1136
    sizeof(ogs_gtp2_tlv_ldn_t),
1137
    { NULL }
1138
};
1139
1140
ogs_tlv_desc_t ogs_gtp2_tlv_desc_node_features_0 =
1141
{
1142
    OGS_TLV_UINT8,
1143
    "Node Features",
1144
    OGS_GTP2_NODE_FEATURES_TYPE,
1145
    1,
1146
    0,
1147
    sizeof(ogs_gtp2_tlv_node_features_t),
1148
    { NULL }
1149
};
1150
1151
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_time_to_data_transfer_0 =
1152
{
1153
    OGS_TLV_VAR_STR,
1154
    "MBMS Time to Data Transfer",
1155
    OGS_GTP2_MBMS_TIME_TO_DATA_TRANSFER_TYPE,
1156
    0,
1157
    0,
1158
    sizeof(ogs_gtp2_tlv_mbms_time_to_data_transfer_t),
1159
    { NULL }
1160
};
1161
1162
ogs_tlv_desc_t ogs_gtp2_tlv_desc_throttling_0 =
1163
{
1164
    OGS_TLV_VAR_STR,
1165
    "Throttling",
1166
    OGS_GTP2_THROTTLING_TYPE,
1167
    0,
1168
    0,
1169
    sizeof(ogs_gtp2_tlv_throttling_t),
1170
    { NULL }
1171
};
1172
1173
ogs_tlv_desc_t ogs_gtp2_tlv_desc_arp_0 =
1174
{
1175
    OGS_TLV_VAR_STR,
1176
    "ARP",
1177
    OGS_GTP2_ARP_TYPE,
1178
    0,
1179
    0,
1180
    sizeof(ogs_gtp2_tlv_arp_t),
1181
    { NULL }
1182
};
1183
1184
ogs_tlv_desc_t ogs_gtp2_tlv_desc_epc_timer_0 =
1185
{
1186
    OGS_TLV_VAR_STR,
1187
    "EPC Timer",
1188
    OGS_GTP2_EPC_TIMER_TYPE,
1189
    0,
1190
    0,
1191
    sizeof(ogs_gtp2_tlv_epc_timer_t),
1192
    { NULL }
1193
};
1194
1195
ogs_tlv_desc_t ogs_gtp2_tlv_desc_signalling_priority_indication_0 =
1196
{
1197
    OGS_TLV_VAR_STR,
1198
    "Signalling Priority Indication",
1199
    OGS_GTP2_SIGNALLING_PRIORITY_INDICATION_TYPE,
1200
    0,
1201
    0,
1202
    sizeof(ogs_gtp2_tlv_signalling_priority_indication_t),
1203
    { NULL }
1204
};
1205
1206
ogs_tlv_desc_t ogs_gtp2_tlv_desc_tmgi_0 =
1207
{
1208
    OGS_TLV_VAR_STR,
1209
    "TMGI",
1210
    OGS_GTP2_TMGI_TYPE,
1211
    0,
1212
    0,
1213
    sizeof(ogs_gtp2_tlv_tmgi_t),
1214
    { NULL }
1215
};
1216
1217
ogs_tlv_desc_t ogs_gtp2_tlv_desc_additional_mm_context_for_srvcc_0 =
1218
{
1219
    OGS_TLV_VAR_STR,
1220
    "Additional MM context for SRVCC",
1221
    OGS_GTP2_ADDITIONAL_MM_CONTEXT_FOR_SRVCC_TYPE,
1222
    0,
1223
    0,
1224
    sizeof(ogs_gtp2_tlv_additional_mm_context_for_srvcc_t),
1225
    { NULL }
1226
};
1227
1228
ogs_tlv_desc_t ogs_gtp2_tlv_desc_additional_flags_for_srvcc_0 =
1229
{
1230
    OGS_TLV_VAR_STR,
1231
    "Additional flags for SRVCC",
1232
    OGS_GTP2_ADDITIONAL_FLAGS_FOR_SRVCC_TYPE,
1233
    0,
1234
    0,
1235
    sizeof(ogs_gtp2_tlv_additional_flags_for_srvcc_t),
1236
    { NULL }
1237
};
1238
1239
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mdt_configuration_0 =
1240
{
1241
    OGS_TLV_VAR_STR,
1242
    "MDT Configuration",
1243
    OGS_GTP2_MDT_CONFIGURATION_TYPE,
1244
    0,
1245
    0,
1246
    sizeof(ogs_gtp2_tlv_mdt_configuration_t),
1247
    { NULL }
1248
};
1249
1250
ogs_tlv_desc_t ogs_gtp2_tlv_desc_apco_0 =
1251
{
1252
    OGS_TLV_VAR_STR,
1253
    "APCO",
1254
    OGS_GTP2_APCO_TYPE,
1255
    0,
1256
    0,
1257
    sizeof(ogs_gtp2_tlv_apco_t),
1258
    { NULL }
1259
};
1260
1261
ogs_tlv_desc_t ogs_gtp2_tlv_desc_absolute_time_of_mbms_data_transfer_0 =
1262
{
1263
    OGS_TLV_VAR_STR,
1264
    "Absolute Time of MBMS Data Transfer",
1265
    OGS_GTP2_ABSOLUTE_TIME_OF_MBMS_DATA_TRANSFER_TYPE,
1266
    0,
1267
    0,
1268
    sizeof(ogs_gtp2_tlv_absolute_time_of_mbms_data_transfer_t),
1269
    { NULL }
1270
};
1271
1272
ogs_tlv_desc_t ogs_gtp2_tlv_desc_enb_information_reporting_0 =
1273
{
1274
    OGS_TLV_VAR_STR,
1275
    "eNB Information Reporting",
1276
    OGS_GTP2_ENB_INFORMATION_REPORTING_TYPE,
1277
    0,
1278
    0,
1279
    sizeof(ogs_gtp2_tlv_enb_information_reporting_t),
1280
    { NULL }
1281
};
1282
1283
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ip4cp_0 =
1284
{
1285
    OGS_TLV_VAR_STR,
1286
    "IP4CP",
1287
    OGS_GTP2_IP4CP_TYPE,
1288
    0,
1289
    0,
1290
    sizeof(ogs_gtp2_tlv_ip4cp_t),
1291
    { NULL }
1292
};
1293
1294
ogs_tlv_desc_t ogs_gtp2_tlv_desc_change_to_report_flags_0 =
1295
{
1296
    OGS_TLV_VAR_STR,
1297
    "Change to Report Flags",
1298
    OGS_GTP2_CHANGE_TO_REPORT_FLAGS_TYPE,
1299
    0,
1300
    0,
1301
    sizeof(ogs_gtp2_tlv_change_to_report_flags_t),
1302
    { NULL }
1303
};
1304
1305
ogs_tlv_desc_t ogs_gtp2_tlv_desc_action_indication_0 =
1306
{
1307
    OGS_TLV_VAR_STR,
1308
    "Action Indication",
1309
    OGS_GTP2_ACTION_INDICATION_TYPE,
1310
    0,
1311
    0,
1312
    sizeof(ogs_gtp2_tlv_action_indication_t),
1313
    { NULL }
1314
};
1315
1316
ogs_tlv_desc_t ogs_gtp2_tlv_desc_twan_identifier_0 =
1317
{
1318
    OGS_TLV_VAR_STR,
1319
    "TWAN Identifier",
1320
    OGS_GTP2_TWAN_IDENTIFIER_TYPE,
1321
    0,
1322
    0,
1323
    sizeof(ogs_gtp2_tlv_twan_identifier_t),
1324
    { NULL }
1325
};
1326
1327
ogs_tlv_desc_t ogs_gtp2_tlv_desc_twan_identifier_1 =
1328
{
1329
    OGS_TLV_VAR_STR,
1330
    "TWAN Identifier",
1331
    OGS_GTP2_TWAN_IDENTIFIER_TYPE,
1332
    0,
1333
    1,
1334
    sizeof(ogs_gtp2_tlv_twan_identifier_t),
1335
    { NULL }
1336
};
1337
1338
ogs_tlv_desc_t ogs_gtp2_tlv_desc_uli_timestamp_0 =
1339
{
1340
    OGS_TLV_VAR_STR,
1341
    "ULI Timestamp",
1342
    OGS_GTP2_ULI_TIMESTAMP_TYPE,
1343
    0,
1344
    0,
1345
    sizeof(ogs_gtp2_tlv_uli_timestamp_t),
1346
    { NULL }
1347
};
1348
1349
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_flags_0 =
1350
{
1351
    OGS_TLV_VAR_STR,
1352
    "MBMS Flags",
1353
    OGS_GTP2_MBMS_FLAGS_TYPE,
1354
    0,
1355
    0,
1356
    sizeof(ogs_gtp2_tlv_mbms_flags_t),
1357
    { NULL }
1358
};
1359
1360
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ran_nas_cause_0 =
1361
{
1362
    OGS_TLV_VAR_STR,
1363
    "RAN/NAS Cause",
1364
    OGS_GTP2_RAN_NAS_CAUSE_TYPE,
1365
    0,
1366
    0,
1367
    sizeof(ogs_gtp2_tlv_ran_nas_cause_t),
1368
    { NULL }
1369
};
1370
1371
ogs_tlv_desc_t ogs_gtp2_tlv_desc_cn_operator_selection_entity_0 =
1372
{
1373
    OGS_TLV_VAR_STR,
1374
    "CN Operator Selection Entity",
1375
    OGS_GTP2_CN_OPERATOR_SELECTION_ENTITY_TYPE,
1376
    0,
1377
    0,
1378
    sizeof(ogs_gtp2_tlv_cn_operator_selection_entity_t),
1379
    { NULL }
1380
};
1381
1382
ogs_tlv_desc_t ogs_gtp2_tlv_desc_twmi_0 =
1383
{
1384
    OGS_TLV_VAR_STR,
1385
    "TWMI",
1386
    OGS_GTP2_TWMI_TYPE,
1387
    0,
1388
    0,
1389
    sizeof(ogs_gtp2_tlv_twmi_t),
1390
    { NULL }
1391
};
1392
1393
ogs_tlv_desc_t ogs_gtp2_tlv_desc_node_number_0 =
1394
{
1395
    OGS_TLV_VAR_STR,
1396
    "Node Number",
1397
    OGS_GTP2_NODE_NUMBER_TYPE,
1398
    0,
1399
    0,
1400
    sizeof(ogs_gtp2_tlv_node_number_t),
1401
    { NULL }
1402
};
1403
1404
ogs_tlv_desc_t ogs_gtp2_tlv_desc_node_identifier_0 =
1405
{
1406
    OGS_TLV_VAR_STR,
1407
    "Node Identifier",
1408
    OGS_GTP2_NODE_IDENTIFIER_TYPE,
1409
    0,
1410
    0,
1411
    sizeof(ogs_gtp2_tlv_node_identifier_t),
1412
    { NULL }
1413
};
1414
1415
ogs_tlv_desc_t ogs_gtp2_tlv_desc_presence_reporting_area_action_0 =
1416
{
1417
    OGS_TLV_VAR_STR,
1418
    "Presence Reporting Area Action",
1419
    OGS_GTP2_PRESENCE_REPORTING_AREA_ACTION_TYPE,
1420
    0,
1421
    0,
1422
    sizeof(ogs_gtp2_tlv_presence_reporting_area_action_t),
1423
    { NULL }
1424
};
1425
1426
ogs_tlv_desc_t ogs_gtp2_tlv_desc_presence_reporting_area_information_0 =
1427
{
1428
    OGS_TLV_VAR_STR,
1429
    "Presence Reporting Area Information",
1430
    OGS_GTP2_PRESENCE_REPORTING_AREA_INFORMATION_TYPE,
1431
    0,
1432
    0,
1433
    sizeof(ogs_gtp2_tlv_presence_reporting_area_information_t),
1434
    { NULL }
1435
};
1436
1437
ogs_tlv_desc_t ogs_gtp2_tlv_desc_twan_identifier_timestamp_0 =
1438
{
1439
    OGS_TLV_VAR_STR,
1440
    "TWAN Identifier Timestamp",
1441
    OGS_GTP2_TWAN_IDENTIFIER_TIMESTAMP_TYPE,
1442
    0,
1443
    0,
1444
    sizeof(ogs_gtp2_tlv_twan_identifier_timestamp_t),
1445
    { NULL }
1446
};
1447
1448
ogs_tlv_desc_t ogs_gtp2_tlv_desc_twan_identifier_timestamp_1 =
1449
{
1450
    OGS_TLV_VAR_STR,
1451
    "TWAN Identifier Timestamp",
1452
    OGS_GTP2_TWAN_IDENTIFIER_TIMESTAMP_TYPE,
1453
    0,
1454
    1,
1455
    sizeof(ogs_gtp2_tlv_twan_identifier_timestamp_t),
1456
    { NULL }
1457
};
1458
1459
ogs_tlv_desc_t ogs_gtp2_tlv_desc_metric_0 =
1460
{
1461
    OGS_TLV_VAR_STR,
1462
    "Metric",
1463
    OGS_GTP2_METRIC_TYPE,
1464
    0,
1465
    0,
1466
    sizeof(ogs_gtp2_tlv_metric_t),
1467
    { NULL }
1468
};
1469
1470
ogs_tlv_desc_t ogs_gtp2_tlv_desc_sequence_number_0 =
1471
{
1472
    OGS_TLV_VAR_STR,
1473
    "Sequence Number",
1474
    OGS_GTP2_SEQUENCE_NUMBER_TYPE,
1475
    0,
1476
    0,
1477
    sizeof(ogs_gtp2_tlv_sequence_number_t),
1478
    { NULL }
1479
};
1480
1481
ogs_tlv_desc_t ogs_gtp2_tlv_desc_apn_and_relative_capacity_0 =
1482
{
1483
    OGS_TLV_VAR_STR,
1484
    "APN and Relative Capacity",
1485
    OGS_GTP2_APN_AND_RELATIVE_CAPACITY_TYPE,
1486
    0,
1487
    0,
1488
    sizeof(ogs_gtp2_tlv_apn_and_relative_capacity_t),
1489
    { NULL }
1490
};
1491
1492
ogs_tlv_desc_t ogs_gtp2_tlv_desc_wlan_offloadability_indication_0 =
1493
{
1494
    OGS_TLV_VAR_STR,
1495
    "WLAN Offloadability Indication",
1496
    OGS_GTP2_WLAN_OFFLOADABILITY_INDICATION_TYPE,
1497
    0,
1498
    0,
1499
    sizeof(ogs_gtp2_tlv_wlan_offloadability_indication_t),
1500
    { NULL }
1501
};
1502
1503
ogs_tlv_desc_t ogs_gtp2_tlv_desc_paging_and_service_information_0 =
1504
{
1505
    OGS_TLV_VAR_STR,
1506
    "Paging and Service Information",
1507
    OGS_GTP2_PAGING_AND_SERVICE_INFORMATION_TYPE,
1508
    0,
1509
    0,
1510
    sizeof(ogs_gtp2_tlv_paging_and_service_information_t),
1511
    { NULL }
1512
};
1513
1514
ogs_tlv_desc_t ogs_gtp2_tlv_desc_integer_number_0 =
1515
{
1516
    OGS_TLV_VAR_STR,
1517
    "Integer Number",
1518
    OGS_GTP2_INTEGER_NUMBER_TYPE,
1519
    0,
1520
    0,
1521
    sizeof(ogs_gtp2_tlv_integer_number_t),
1522
    { NULL }
1523
};
1524
1525
ogs_tlv_desc_t ogs_gtp2_tlv_desc_millisecond_time_stamp_0 =
1526
{
1527
    OGS_TLV_VAR_STR,
1528
    "Millisecond Time Stamp",
1529
    OGS_GTP2_MILLISECOND_TIME_STAMP_TYPE,
1530
    0,
1531
    0,
1532
    sizeof(ogs_gtp2_tlv_millisecond_time_stamp_t),
1533
    { NULL }
1534
};
1535
1536
ogs_tlv_desc_t ogs_gtp2_tlv_desc_monitoring_event_information_0 =
1537
{
1538
    OGS_TLV_VAR_STR,
1539
    "Monitoring Event Information",
1540
    OGS_GTP2_MONITORING_EVENT_INFORMATION_TYPE,
1541
    0,
1542
    0,
1543
    sizeof(ogs_gtp2_tlv_monitoring_event_information_t),
1544
    { NULL }
1545
};
1546
1547
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ecgi_list_0 =
1548
{
1549
    OGS_TLV_VAR_STR,
1550
    "ECGI List",
1551
    OGS_GTP2_ECGI_LIST_TYPE,
1552
    0,
1553
    0,
1554
    sizeof(ogs_gtp2_tlv_ecgi_list_t),
1555
    { NULL }
1556
};
1557
1558
ogs_tlv_desc_t ogs_gtp2_tlv_desc_remote_user_id_0 =
1559
{
1560
    OGS_TLV_VAR_STR,
1561
    "Remote User ID",
1562
    OGS_GTP2_REMOTE_USER_ID_TYPE,
1563
    0,
1564
    0,
1565
    sizeof(ogs_gtp2_tlv_remote_user_id_t),
1566
    { NULL }
1567
};
1568
1569
ogs_tlv_desc_t ogs_gtp2_tlv_desc_remote_ue_ip_information_0 =
1570
{
1571
    OGS_TLV_VAR_STR,
1572
    "Remote UE IP Information",
1573
    OGS_GTP2_REMOTE_UE_IP_INFORMATION_TYPE,
1574
    0,
1575
    0,
1576
    sizeof(ogs_gtp2_tlv_remote_ue_ip_information_t),
1577
    { NULL }
1578
};
1579
1580
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ciot_optimizations_support_indication_0 =
1581
{
1582
    OGS_TLV_VAR_STR,
1583
    "CIoT Optimizations Support Indication",
1584
    OGS_GTP2_CIOT_OPTIMIZATIONS_SUPPORT_INDICATION_TYPE,
1585
    0,
1586
    0,
1587
    sizeof(ogs_gtp2_tlv_ciot_optimizations_support_indication_t),
1588
    { NULL }
1589
};
1590
1591
ogs_tlv_desc_t ogs_gtp2_tlv_desc_header_compression_configuration_0 =
1592
{
1593
    OGS_TLV_VAR_STR,
1594
    "Header Compression Configuration",
1595
    OGS_GTP2_HEADER_COMPRESSION_CONFIGURATION_TYPE,
1596
    0,
1597
    0,
1598
    sizeof(ogs_gtp2_tlv_header_compression_configuration_t),
1599
    { NULL }
1600
};
1601
1602
ogs_tlv_desc_t ogs_gtp2_tlv_desc_epco_0 =
1603
{
1604
    OGS_TLV_VAR_STR,
1605
    "ePCO",
1606
    OGS_GTP2_EPCO_TYPE,
1607
    0,
1608
    0,
1609
    sizeof(ogs_gtp2_tlv_epco_t),
1610
    { NULL }
1611
};
1612
1613
ogs_tlv_desc_t ogs_gtp2_tlv_desc_serving_plmn_rate_control_0 =
1614
{
1615
    OGS_TLV_VAR_STR,
1616
    "Serving PLMN Rate Control",
1617
    OGS_GTP2_SERVING_PLMN_RATE_CONTROL_TYPE,
1618
    0,
1619
    0,
1620
    sizeof(ogs_gtp2_tlv_serving_plmn_rate_control_t),
1621
    { NULL }
1622
};
1623
1624
ogs_tlv_desc_t ogs_gtp2_tlv_desc_counter_0 =
1625
{
1626
    OGS_TLV_VAR_STR,
1627
    "Counter",
1628
    OGS_GTP2_COUNTER_TYPE,
1629
    0,
1630
    0,
1631
    sizeof(ogs_gtp2_tlv_counter_t),
1632
    { NULL }
1633
};
1634
1635
ogs_tlv_desc_t ogs_gtp2_tlv_desc_mapped_ue_usage_type_0 =
1636
{
1637
    OGS_TLV_VAR_STR,
1638
    "Mapped UE Usage Type",
1639
    OGS_GTP2_MAPPED_UE_USAGE_TYPE_TYPE,
1640
    0,
1641
    0,
1642
    sizeof(ogs_gtp2_tlv_mapped_ue_usage_type_t),
1643
    { NULL }
1644
};
1645
1646
ogs_tlv_desc_t ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0 =
1647
{
1648
    OGS_TLV_VAR_STR,
1649
    "Secondary RAT Usage Data Report",
1650
    OGS_GTP2_SECONDARY_RAT_USAGE_DATA_REPORT_TYPE,
1651
    0,
1652
    0,
1653
    sizeof(ogs_gtp2_tlv_secondary_rat_usage_data_report_t),
1654
    { NULL }
1655
};
1656
1657
ogs_tlv_desc_t ogs_gtp2_tlv_desc_up_function_selection_indication_flags_0 =
1658
{
1659
    OGS_TLV_VAR_STR,
1660
    "UP Function Selection Indication Flags",
1661
    OGS_GTP2_UP_FUNCTION_SELECTION_INDICATION_FLAGS_TYPE,
1662
    0,
1663
    0,
1664
    sizeof(ogs_gtp2_tlv_up_function_selection_indication_flags_t),
1665
    { NULL }
1666
};
1667
1668
ogs_tlv_desc_t ogs_gtp2_tlv_desc_maximum_packet_loss_rate_0 =
1669
{
1670
    OGS_TLV_VAR_STR,
1671
    "Maximum Packet Loss Rate",
1672
    OGS_GTP2_MAXIMUM_PACKET_LOSS_RATE_TYPE,
1673
    0,
1674
    0,
1675
    sizeof(ogs_gtp2_tlv_maximum_packet_loss_rate_t),
1676
    { NULL }
1677
};
1678
1679
ogs_tlv_desc_t ogs_gtp2_tlv_desc_apn_rate_control_status_0 =
1680
{
1681
    OGS_TLV_VAR_STR,
1682
    "APN Rate Control Status",
1683
    OGS_GTP2_APN_RATE_CONTROL_STATUS_TYPE,
1684
    0,
1685
    0,
1686
    sizeof(ogs_gtp2_tlv_apn_rate_control_status_t),
1687
    { NULL }
1688
};
1689
1690
ogs_tlv_desc_t ogs_gtp2_tlv_desc_extended_trace_information_0 =
1691
{
1692
    OGS_TLV_VAR_STR,
1693
    "Extended Trace Information",
1694
    OGS_GTP2_EXTENDED_TRACE_INFORMATION_TYPE,
1695
    0,
1696
    0,
1697
    sizeof(ogs_gtp2_tlv_extended_trace_information_t),
1698
    { NULL }
1699
};
1700
1701
ogs_tlv_desc_t ogs_gtp2_tlv_desc_monitoring_event_extension_information_0 =
1702
{
1703
    OGS_TLV_VAR_STR,
1704
    "Monitoring Event Extension Information",
1705
    OGS_GTP2_MONITORING_EVENT_EXTENSION_INFORMATION_TYPE,
1706
    0,
1707
    0,
1708
    sizeof(ogs_gtp2_tlv_monitoring_event_extension_information_t),
1709
    { NULL }
1710
};
1711
1712
ogs_tlv_desc_t ogs_gtp2_tlv_desc_additional_rrm_policy_index_0 =
1713
{
1714
    OGS_TLV_VAR_STR,
1715
    "Additional RRM Policy Index",
1716
    OGS_GTP2_ADDITIONAL_RRM_POLICY_INDEX_TYPE,
1717
    0,
1718
    0,
1719
    sizeof(ogs_gtp2_tlv_additional_rrm_policy_index_t),
1720
    { NULL }
1721
};
1722
1723
ogs_tlv_desc_t ogs_gtp2_tlv_desc_services_authorized_0 =
1724
{
1725
    OGS_TLV_VAR_STR,
1726
    "Services Authorized",
1727
    OGS_GTP2_SERVICES_AUTHORIZED_TYPE,
1728
    0,
1729
    0,
1730
    sizeof(ogs_gtp2_tlv_services_authorized_t),
1731
    { NULL }
1732
};
1733
1734
ogs_tlv_desc_t ogs_gtp2_tlv_desc_services_authorized_1 =
1735
{
1736
    OGS_TLV_VAR_STR,
1737
    "Services Authorized",
1738
    OGS_GTP2_SERVICES_AUTHORIZED_TYPE,
1739
    0,
1740
    1,
1741
    sizeof(ogs_gtp2_tlv_services_authorized_t),
1742
    { NULL }
1743
};
1744
1745
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bit_rate_0 =
1746
{
1747
    OGS_TLV_VAR_STR,
1748
    "Bit Rate",
1749
    OGS_GTP2_BIT_RATE_TYPE,
1750
    0,
1751
    0,
1752
    sizeof(ogs_gtp2_tlv_bit_rate_t),
1753
    { NULL }
1754
};
1755
1756
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bit_rate_1 =
1757
{
1758
    OGS_TLV_VAR_STR,
1759
    "Bit Rate",
1760
    OGS_GTP2_BIT_RATE_TYPE,
1761
    0,
1762
    1,
1763
    sizeof(ogs_gtp2_tlv_bit_rate_t),
1764
    { NULL }
1765
};
1766
1767
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pc5_qos_flow_0 =
1768
{
1769
    OGS_TLV_VAR_STR,
1770
    "PC5 QoS Flow",
1771
    OGS_GTP2_PC5_QOS_FLOW_TYPE,
1772
    0,
1773
    0,
1774
    sizeof(ogs_gtp2_tlv_pc5_qos_flow_t),
1775
    { NULL }
1776
};
1777
1778
ogs_tlv_desc_t ogs_gtp2_tlv_desc_sgi_ptp_tunnel_address_0 =
1779
{
1780
    OGS_TLV_VAR_STR,
1781
    "SGi PtP Tunnel Address",
1782
    OGS_GTP2_SGI_PTP_TUNNEL_ADDRESS_TYPE,
1783
    0,
1784
    0,
1785
    sizeof(ogs_gtp2_tlv_sgi_ptp_tunnel_address_t),
1786
    { NULL }
1787
};
1788
1789
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_fqdn_0 =
1790
{
1791
    OGS_TLV_VAR_STR,
1792
    "PGW FQDN",
1793
    OGS_GTP2_PGW_FQDN_TYPE,
1794
    0,
1795
    0,
1796
    sizeof(ogs_gtp2_tlv_pgw_fqdn_t),
1797
    { NULL }
1798
};
1799
1800
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_fqdn_1 =
1801
{
1802
    OGS_TLV_VAR_STR,
1803
    "PGW FQDN",
1804
    OGS_GTP2_PGW_FQDN_TYPE,
1805
    0,
1806
    1,
1807
    sizeof(ogs_gtp2_tlv_pgw_fqdn_t),
1808
    { NULL }
1809
};
1810
1811
ogs_tlv_desc_t ogs_gtp2_tlv_desc_group_id_0 =
1812
{
1813
    OGS_TLV_VAR_STR,
1814
    "Group Id",
1815
    OGS_GTP2_GROUP_ID_TYPE,
1816
    0,
1817
    0,
1818
    sizeof(ogs_gtp2_tlv_group_id_t),
1819
    { NULL }
1820
};
1821
1822
ogs_tlv_desc_t ogs_gtp2_tlv_desc_group_id_1 =
1823
{
1824
    OGS_TLV_VAR_STR,
1825
    "Group Id",
1826
    OGS_GTP2_GROUP_ID_TYPE,
1827
    0,
1828
    1,
1829
    sizeof(ogs_gtp2_tlv_group_id_t),
1830
    { NULL }
1831
};
1832
1833
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pscell_id_0 =
1834
{
1835
    OGS_TLV_VAR_STR,
1836
    "PSCell ID",
1837
    OGS_GTP2_PSCELL_ID_TYPE,
1838
    0,
1839
    0,
1840
    sizeof(ogs_gtp2_tlv_pscell_id_t),
1841
    { NULL }
1842
};
1843
1844
ogs_tlv_desc_t ogs_gtp2_tlv_desc_up_security_policy_0 =
1845
{
1846
    OGS_TLV_VAR_STR,
1847
    "UP Security Policy",
1848
    OGS_GTP2_UP_SECURITY_POLICY_TYPE,
1849
    0,
1850
    0,
1851
    sizeof(ogs_gtp2_tlv_up_security_policy_t),
1852
    { NULL }
1853
};
1854
1855
ogs_tlv_desc_t ogs_gtp2_tlv_desc_alternative_imsi_0 =
1856
{
1857
    OGS_TLV_VAR_STR,
1858
    "Alternative IMSI",
1859
    OGS_GTP2_ALTERNATIVE_IMSI_TYPE,
1860
    0,
1861
    0,
1862
    sizeof(ogs_gtp2_tlv_alternative_imsi_t),
1863
    { NULL }
1864
};
1865
1866
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pc5_qos_parameters_0 =
1867
{
1868
    OGS_TLV_COMPOUND,
1869
    "PC5 QoS Parameters",
1870
    OGS_GTP2_PC5_QOS_PARAMETERS_TYPE,
1871
    0,
1872
    0,
1873
    sizeof(ogs_gtp2_tlv_pc5_qos_parameters_t),
1874
    {
1875
        &ogs_gtp2_tlv_desc_pc5_qos_flow_0,
1876
        &ogs_gtp2_tlv_desc_bit_rate_0,
1877
        NULL,
1878
    }
1879
};
1880
1881
ogs_tlv_desc_t ogs_gtp2_tlv_desc_remote_ue_context_0 =
1882
{
1883
    OGS_TLV_COMPOUND,
1884
    "Remote UE Context",
1885
    OGS_GTP2_REMOTE_UE_CONTEXT_TYPE,
1886
    0,
1887
    0,
1888
    sizeof(ogs_gtp2_tlv_remote_ue_context_t),
1889
    {
1890
        &ogs_gtp2_tlv_desc_remote_user_id_0,
1891
        &ogs_gtp2_tlv_desc_remote_ue_ip_information_0,
1892
        NULL,
1893
    }
1894
};
1895
1896
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_change_info_0 =
1897
{
1898
    OGS_TLV_COMPOUND,
1899
    "PGW Change Info",
1900
    OGS_GTP2_PGW_CHANGE_INFO_TYPE,
1901
    0,
1902
    0,
1903
    sizeof(ogs_gtp2_tlv_pgw_change_info_t),
1904
    {
1905
        &ogs_gtp2_tlv_desc_pgw_fqdn_0,
1906
        &ogs_gtp2_tlv_desc_ip_address_0,
1907
        &ogs_gtp2_tlv_desc_pgw_fqdn_1,
1908
        &ogs_gtp2_tlv_desc_group_id_0,
1909
        &ogs_gtp2_tlv_desc_ip_address_1,
1910
        &ogs_gtp2_tlv_desc_ip_address_3,
1911
        &ogs_gtp2_tlv_desc_fq_csid_0,
1912
        &ogs_gtp2_tlv_desc_ip_address_2,
1913
        &ogs_gtp2_tlv_desc_group_id_1,
1914
        NULL,
1915
    }
1916
};
1917
1918
ogs_tlv_desc_t ogs_gtp2_tlv_desc_v2x_context_0 =
1919
{
1920
    OGS_TLV_COMPOUND,
1921
    "V2X Context",
1922
    OGS_GTP2_V2X_CONTEXT_TYPE,
1923
    0,
1924
    0,
1925
    sizeof(ogs_gtp2_tlv_v2x_context_t),
1926
    {
1927
        &ogs_gtp2_tlv_desc_services_authorized_0,
1928
        &ogs_gtp2_tlv_desc_services_authorized_1,
1929
        &ogs_gtp2_tlv_desc_bit_rate_0,
1930
        &ogs_gtp2_tlv_desc_bit_rate_1,
1931
        &ogs_gtp2_tlv_desc_pc5_qos_parameters_0,
1932
        NULL,
1933
    }
1934
};
1935
1936
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_context_0 =
1937
{
1938
    OGS_TLV_COMPOUND,
1939
    "Bearer Context",
1940
    OGS_GTP2_BEARER_CONTEXT_TYPE,
1941
    0,
1942
    0,
1943
    sizeof(ogs_gtp2_tlv_bearer_context_t),
1944
    {
1945
        &ogs_gtp2_tlv_desc_ebi_0,
1946
        &ogs_gtp2_tlv_desc_bearer_tft_0,
1947
        &ogs_gtp2_tlv_desc_f_teid_0,
1948
        &ogs_gtp2_tlv_desc_f_teid_1,
1949
        &ogs_gtp2_tlv_desc_f_teid_2,
1950
        &ogs_gtp2_tlv_desc_f_teid_3,
1951
        &ogs_gtp2_tlv_desc_f_teid_4,
1952
        &ogs_gtp2_tlv_desc_f_teid_5,
1953
        &ogs_gtp2_tlv_desc_f_teid_6,
1954
        &ogs_gtp2_tlv_desc_bearer_qos_0,
1955
        &ogs_gtp2_tlv_desc_f_teid_7,
1956
        &ogs_gtp2_tlv_desc_cause_0,
1957
        &ogs_gtp2_tlv_desc_charging_id_0,
1958
        &ogs_gtp2_tlv_desc_bearer_flags_0,
1959
        &ogs_gtp2_tlv_desc_pco_0,
1960
        &ogs_gtp2_tlv_desc_epco_0,
1961
        &ogs_gtp2_tlv_desc_maximum_packet_loss_rate_0,
1962
        &ogs_gtp2_tlv_desc_f_teid_8,
1963
        &ogs_gtp2_tlv_desc_f_teid_9,
1964
        &ogs_gtp2_tlv_desc_f_teid_10,
1965
        &ogs_gtp2_tlv_desc_f_teid_11,
1966
        &ogs_gtp2_tlv_desc_ran_nas_cause_0,
1967
        &ogs_gtp2_tlv_desc_apco_0,
1968
        &ogs_gtp2_tlv_desc_f_container_0,
1969
        &ogs_gtp2_tlv_desc_ti_0,
1970
        &ogs_gtp2_tlv_desc_packet_flow_id_0,
1971
        NULL,
1972
    }
1973
};
1974
1975
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_context_1 =
1976
{
1977
    OGS_TLV_COMPOUND,
1978
    "Bearer Context",
1979
    OGS_GTP2_BEARER_CONTEXT_TYPE,
1980
    0,
1981
    1,
1982
    sizeof(ogs_gtp2_tlv_bearer_context_t),
1983
    {
1984
        &ogs_gtp2_tlv_desc_ebi_0,
1985
        &ogs_gtp2_tlv_desc_bearer_tft_0,
1986
        &ogs_gtp2_tlv_desc_f_teid_0,
1987
        &ogs_gtp2_tlv_desc_f_teid_1,
1988
        &ogs_gtp2_tlv_desc_f_teid_2,
1989
        &ogs_gtp2_tlv_desc_f_teid_3,
1990
        &ogs_gtp2_tlv_desc_f_teid_4,
1991
        &ogs_gtp2_tlv_desc_f_teid_5,
1992
        &ogs_gtp2_tlv_desc_f_teid_6,
1993
        &ogs_gtp2_tlv_desc_bearer_qos_0,
1994
        &ogs_gtp2_tlv_desc_f_teid_7,
1995
        &ogs_gtp2_tlv_desc_cause_0,
1996
        &ogs_gtp2_tlv_desc_charging_id_0,
1997
        &ogs_gtp2_tlv_desc_bearer_flags_0,
1998
        &ogs_gtp2_tlv_desc_pco_0,
1999
        &ogs_gtp2_tlv_desc_epco_0,
2000
        &ogs_gtp2_tlv_desc_maximum_packet_loss_rate_0,
2001
        &ogs_gtp2_tlv_desc_f_teid_8,
2002
        &ogs_gtp2_tlv_desc_f_teid_9,
2003
        &ogs_gtp2_tlv_desc_f_teid_10,
2004
        &ogs_gtp2_tlv_desc_f_teid_11,
2005
        &ogs_gtp2_tlv_desc_ran_nas_cause_0,
2006
        &ogs_gtp2_tlv_desc_apco_0,
2007
        &ogs_gtp2_tlv_desc_f_container_0,
2008
        &ogs_gtp2_tlv_desc_ti_0,
2009
        &ogs_gtp2_tlv_desc_packet_flow_id_0,
2010
        NULL,
2011
    }
2012
};
2013
2014
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pdn_connection_0 =
2015
{
2016
    OGS_TLV_COMPOUND,
2017
    "PDN Connection",
2018
    OGS_GTP2_PDN_CONNECTION_TYPE,
2019
    0,
2020
    0,
2021
    sizeof(ogs_gtp2_tlv_pdn_connection_t),
2022
    {
2023
        &ogs_gtp2_tlv_desc_apn_0,
2024
        &ogs_gtp2_tlv_desc_apn_restriction_0,
2025
        &ogs_gtp2_tlv_desc_selection_mode_0,
2026
        &ogs_gtp2_tlv_desc_ip_address_0,
2027
        &ogs_gtp2_tlv_desc_ip_address_1,
2028
        &ogs_gtp2_tlv_desc_ebi_0,
2029
        &ogs_gtp2_tlv_desc_f_teid_0,
2030
        &ogs_gtp2_tlv_desc_fqdn_0,
2031
        &ogs_gtp2_tlv_desc_bearer_context_0,
2032
        &ogs_gtp2_tlv_desc_ambr_0,
2033
        &ogs_gtp2_tlv_desc_charging_characteristics_0,
2034
        &ogs_gtp2_tlv_desc_change_reporting_action_0,
2035
        &ogs_gtp2_tlv_desc_csg_information_reporting_action_0,
2036
        &ogs_gtp2_tlv_desc_enb_information_reporting_0,
2037
        &ogs_gtp2_tlv_desc_indication_0,
2038
        &ogs_gtp2_tlv_desc_signalling_priority_indication_0,
2039
        &ogs_gtp2_tlv_desc_change_to_report_flags_0,
2040
        &ogs_gtp2_tlv_desc_fqdn_1,
2041
        &ogs_gtp2_tlv_desc_presence_reporting_area_action_0,
2042
        &ogs_gtp2_tlv_desc_wlan_offloadability_indication_0,
2043
        &ogs_gtp2_tlv_desc_remote_ue_context_0,
2044
        &ogs_gtp2_tlv_desc_pdn_type_0,
2045
        &ogs_gtp2_tlv_desc_header_compression_configuration_0,
2046
        &ogs_gtp2_tlv_desc_pgw_change_info_0,
2047
        &ogs_gtp2_tlv_desc_up_security_policy_0,
2048
        NULL,
2049
    }
2050
};
2051
2052
ogs_tlv_desc_t ogs_gtp2_tlv_desc_overload_control_information_0 =
2053
{
2054
    OGS_TLV_COMPOUND,
2055
    "Overload Control Information",
2056
    OGS_GTP2_OVERLOAD_CONTROL_INFORMATION_TYPE,
2057
    0,
2058
    0,
2059
    sizeof(ogs_gtp2_tlv_overload_control_information_t),
2060
    {
2061
        &ogs_gtp2_tlv_desc_sequence_number_0,
2062
        &ogs_gtp2_tlv_desc_metric_0,
2063
        &ogs_gtp2_tlv_desc_epc_timer_0,
2064
        &ogs_gtp2_tlv_desc_apn_0,
2065
        NULL,
2066
    }
2067
};
2068
2069
ogs_tlv_desc_t ogs_gtp2_tlv_desc_overload_control_information_1 =
2070
{
2071
    OGS_TLV_COMPOUND,
2072
    "Overload Control Information",
2073
    OGS_GTP2_OVERLOAD_CONTROL_INFORMATION_TYPE,
2074
    0,
2075
    1,
2076
    sizeof(ogs_gtp2_tlv_overload_control_information_t),
2077
    {
2078
        &ogs_gtp2_tlv_desc_sequence_number_0,
2079
        &ogs_gtp2_tlv_desc_metric_0,
2080
        &ogs_gtp2_tlv_desc_epc_timer_0,
2081
        &ogs_gtp2_tlv_desc_apn_0,
2082
        NULL,
2083
    }
2084
};
2085
2086
ogs_tlv_desc_t ogs_gtp2_tlv_desc_overload_control_information_2 =
2087
{
2088
    OGS_TLV_COMPOUND,
2089
    "Overload Control Information",
2090
    OGS_GTP2_OVERLOAD_CONTROL_INFORMATION_TYPE,
2091
    0,
2092
    2,
2093
    sizeof(ogs_gtp2_tlv_overload_control_information_t),
2094
    {
2095
        &ogs_gtp2_tlv_desc_sequence_number_0,
2096
        &ogs_gtp2_tlv_desc_metric_0,
2097
        &ogs_gtp2_tlv_desc_epc_timer_0,
2098
        &ogs_gtp2_tlv_desc_apn_0,
2099
        NULL,
2100
    }
2101
};
2102
2103
ogs_tlv_desc_t ogs_gtp2_tlv_desc_load_control_information_0 =
2104
{
2105
    OGS_TLV_COMPOUND,
2106
    "Load Control Information",
2107
    OGS_GTP2_LOAD_CONTROL_INFORMATION_TYPE,
2108
    0,
2109
    0,
2110
    sizeof(ogs_gtp2_tlv_load_control_information_t),
2111
    {
2112
        &ogs_gtp2_tlv_desc_sequence_number_0,
2113
        &ogs_gtp2_tlv_desc_metric_0,
2114
        &ogs_gtp2_tlv_desc_apn_and_relative_capacity_0,
2115
        NULL,
2116
    }
2117
};
2118
2119
ogs_tlv_desc_t ogs_gtp2_tlv_desc_load_control_information_1 =
2120
{
2121
    OGS_TLV_COMPOUND,
2122
    "Load Control Information",
2123
    OGS_GTP2_LOAD_CONTROL_INFORMATION_TYPE,
2124
    0,
2125
    1,
2126
    sizeof(ogs_gtp2_tlv_load_control_information_t),
2127
    {
2128
        &ogs_gtp2_tlv_desc_sequence_number_0,
2129
        &ogs_gtp2_tlv_desc_metric_0,
2130
        &ogs_gtp2_tlv_desc_apn_and_relative_capacity_0,
2131
        NULL,
2132
    }
2133
};
2134
2135
ogs_tlv_desc_t ogs_gtp2_tlv_desc_load_control_information_2 =
2136
{
2137
    OGS_TLV_COMPOUND,
2138
    "Load Control Information",
2139
    OGS_GTP2_LOAD_CONTROL_INFORMATION_TYPE,
2140
    0,
2141
    2,
2142
    sizeof(ogs_gtp2_tlv_load_control_information_t),
2143
    {
2144
        &ogs_gtp2_tlv_desc_sequence_number_0,
2145
        &ogs_gtp2_tlv_desc_metric_0,
2146
        &ogs_gtp2_tlv_desc_apn_and_relative_capacity_0,
2147
        NULL,
2148
    }
2149
};
2150
2151
ogs_tlv_desc_t ogs_gtp2_tlv_desc_scef_pdn_connection_0 =
2152
{
2153
    OGS_TLV_COMPOUND,
2154
    "SCEF PDN Connection",
2155
    OGS_GTP2_SCEF_PDN_CONNECTION_TYPE,
2156
    0,
2157
    0,
2158
    sizeof(ogs_gtp2_tlv_scef_pdn_connection_t),
2159
    {
2160
        &ogs_gtp2_tlv_desc_apn_0,
2161
        &ogs_gtp2_tlv_desc_ebi_0,
2162
        &ogs_gtp2_tlv_desc_node_identifier_0,
2163
        NULL,
2164
    }
2165
};
2166
2167
ogs_tlv_desc_t ogs_gtp2_tlv_desc_echo_request =
2168
{
2169
    OGS_TLV_MESSAGE,
2170
    "Echo Request",
2171
    0, 0, 0, 0, {
2172
        &ogs_gtp2_tlv_desc_recovery_0,
2173
        &ogs_gtp2_tlv_desc_node_features_0,
2174
    NULL,
2175
}};
2176
2177
ogs_tlv_desc_t ogs_gtp2_tlv_desc_echo_response =
2178
{
2179
    OGS_TLV_MESSAGE,
2180
    "Echo Response",
2181
    0, 0, 0, 0, {
2182
        &ogs_gtp2_tlv_desc_recovery_0,
2183
        &ogs_gtp2_tlv_desc_node_features_0,
2184
    NULL,
2185
}};
2186
2187
ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_session_request =
2188
{
2189
    OGS_TLV_MESSAGE,
2190
    "Create Session Request",
2191
    0, 0, 0, 0, {
2192
        &ogs_gtp2_tlv_desc_imsi_0,
2193
        &ogs_gtp2_tlv_desc_msisdn_0,
2194
        &ogs_gtp2_tlv_desc_mei_0,
2195
        &ogs_gtp2_tlv_desc_uli_0,
2196
        &ogs_gtp2_tlv_desc_serving_network_0,
2197
        &ogs_gtp2_tlv_desc_rat_type_0,
2198
        &ogs_gtp2_tlv_desc_indication_0,
2199
        &ogs_gtp2_tlv_desc_f_teid_0,
2200
        &ogs_gtp2_tlv_desc_f_teid_1,
2201
        &ogs_gtp2_tlv_desc_apn_0,
2202
        &ogs_gtp2_tlv_desc_selection_mode_0,
2203
        &ogs_gtp2_tlv_desc_pdn_type_0,
2204
        &ogs_gtp2_tlv_desc_paa_0,
2205
        &ogs_gtp2_tlv_desc_apn_restriction_0,
2206
        &ogs_gtp2_tlv_desc_ambr_0,
2207
        &ogs_gtp2_tlv_desc_ebi_0,
2208
        &ogs_gtp2_tlv_desc_twmi_0,
2209
        &ogs_gtp2_tlv_desc_pco_0,
2210
        &ogs_gtp2_tlv_desc_bearer_context_0,
2211
        &ogs_tlv_desc_more8,
2212
        &ogs_gtp2_tlv_desc_bearer_context_1,
2213
        &ogs_gtp2_tlv_desc_trace_information_0,
2214
        &ogs_gtp2_tlv_desc_recovery_0,
2215
        &ogs_gtp2_tlv_desc_fq_csid_0,
2216
        &ogs_gtp2_tlv_desc_fq_csid_1,
2217
        &ogs_gtp2_tlv_desc_fq_csid_2,
2218
        &ogs_gtp2_tlv_desc_fq_csid_3,
2219
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2220
        &ogs_gtp2_tlv_desc_uci_0,
2221
        &ogs_gtp2_tlv_desc_charging_characteristics_0,
2222
        &ogs_gtp2_tlv_desc_ldn_0,
2223
        &ogs_gtp2_tlv_desc_ldn_1,
2224
        &ogs_gtp2_tlv_desc_ldn_2,
2225
        &ogs_gtp2_tlv_desc_ldn_3,
2226
        &ogs_gtp2_tlv_desc_signalling_priority_indication_0,
2227
        &ogs_gtp2_tlv_desc_ip_address_0,
2228
        &ogs_gtp2_tlv_desc_port_number_0,
2229
        &ogs_gtp2_tlv_desc_apco_0,
2230
        &ogs_gtp2_tlv_desc_ip_address_1,
2231
        &ogs_gtp2_tlv_desc_port_number_1,
2232
        &ogs_gtp2_tlv_desc_ip_address_2,
2233
        &ogs_gtp2_tlv_desc_twan_identifier_0,
2234
        &ogs_gtp2_tlv_desc_ip_address_3,
2235
        &ogs_gtp2_tlv_desc_cn_operator_selection_entity_0,
2236
        &ogs_gtp2_tlv_desc_presence_reporting_area_information_0,
2237
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2238
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2239
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2240
        &ogs_gtp2_tlv_desc_millisecond_time_stamp_0,
2241
        &ogs_gtp2_tlv_desc_integer_number_0,
2242
        &ogs_gtp2_tlv_desc_twan_identifier_1,
2243
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_0,
2244
        &ogs_gtp2_tlv_desc_f_container_0,
2245
        &ogs_gtp2_tlv_desc_remote_ue_context_0,
2246
        &ogs_gtp2_tlv_desc_node_identifier_0,
2247
        &ogs_gtp2_tlv_desc_epco_0,
2248
        &ogs_gtp2_tlv_desc_serving_plmn_rate_control_0,
2249
        &ogs_gtp2_tlv_desc_counter_0,
2250
        &ogs_gtp2_tlv_desc_port_number_2,
2251
        &ogs_gtp2_tlv_desc_mapped_ue_usage_type_0,
2252
        &ogs_gtp2_tlv_desc_uli_1,
2253
        &ogs_gtp2_tlv_desc_fqdn_0,
2254
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2255
        &ogs_gtp2_tlv_desc_up_function_selection_indication_flags_0,
2256
        &ogs_gtp2_tlv_desc_apn_rate_control_status_0,
2257
    NULL,
2258
}};
2259
2260
ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_session_response =
2261
{
2262
    OGS_TLV_MESSAGE,
2263
    "Create Session Response",
2264
    0, 0, 0, 0, {
2265
        &ogs_gtp2_tlv_desc_cause_0,
2266
        &ogs_gtp2_tlv_desc_change_reporting_action_0,
2267
        &ogs_gtp2_tlv_desc_csg_information_reporting_action_0,
2268
        &ogs_gtp2_tlv_desc_enb_information_reporting_0,
2269
        &ogs_gtp2_tlv_desc_f_teid_0,
2270
        &ogs_gtp2_tlv_desc_f_teid_1,
2271
        &ogs_gtp2_tlv_desc_paa_0,
2272
        &ogs_gtp2_tlv_desc_apn_restriction_0,
2273
        &ogs_gtp2_tlv_desc_ambr_0,
2274
        &ogs_gtp2_tlv_desc_ebi_0,
2275
        &ogs_gtp2_tlv_desc_pco_0,
2276
        &ogs_gtp2_tlv_desc_bearer_context_0,
2277
        &ogs_tlv_desc_more8,
2278
        &ogs_gtp2_tlv_desc_bearer_context_1,
2279
        &ogs_gtp2_tlv_desc_recovery_0,
2280
        &ogs_gtp2_tlv_desc_fqdn_0,
2281
        &ogs_gtp2_tlv_desc_ip_address_0,
2282
        &ogs_gtp2_tlv_desc_fq_csid_0,
2283
        &ogs_gtp2_tlv_desc_fq_csid_1,
2284
        &ogs_gtp2_tlv_desc_ldn_0,
2285
        &ogs_gtp2_tlv_desc_ldn_1,
2286
        &ogs_gtp2_tlv_desc_epc_timer_0,
2287
        &ogs_gtp2_tlv_desc_apco_0,
2288
        &ogs_gtp2_tlv_desc_ip4cp_0,
2289
        &ogs_gtp2_tlv_desc_indication_0,
2290
        &ogs_gtp2_tlv_desc_presence_reporting_area_action_0,
2291
        &ogs_gtp2_tlv_desc_load_control_information_0,
2292
        &ogs_gtp2_tlv_desc_load_control_information_1,
2293
        &ogs_gtp2_tlv_desc_load_control_information_2,
2294
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2295
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2296
        &ogs_gtp2_tlv_desc_f_container_0,
2297
        &ogs_gtp2_tlv_desc_charging_id_0,
2298
        &ogs_gtp2_tlv_desc_epco_0,
2299
        &ogs_gtp2_tlv_desc_fqdn_1,
2300
        &ogs_gtp2_tlv_desc_sgi_ptp_tunnel_address_0,
2301
        &ogs_gtp2_tlv_desc_pgw_change_info_0,
2302
        &ogs_gtp2_tlv_desc_fqdn_3,
2303
        &ogs_gtp2_tlv_desc_ip_address_1,
2304
        &ogs_gtp2_tlv_desc_up_security_policy_0,
2305
    NULL,
2306
}};
2307
2308
ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_request =
2309
{
2310
    OGS_TLV_MESSAGE,
2311
    "Modify Bearer Request",
2312
    0, 0, 0, 0, {
2313
        &ogs_gtp2_tlv_desc_mei_0,
2314
        &ogs_gtp2_tlv_desc_uli_0,
2315
        &ogs_gtp2_tlv_desc_serving_network_0,
2316
        &ogs_gtp2_tlv_desc_rat_type_0,
2317
        &ogs_gtp2_tlv_desc_indication_0,
2318
        &ogs_gtp2_tlv_desc_f_teid_0,
2319
        &ogs_gtp2_tlv_desc_ambr_0,
2320
        &ogs_gtp2_tlv_desc_delay_value_0,
2321
        &ogs_gtp2_tlv_desc_bearer_context_0,
2322
        &ogs_tlv_desc_more8,
2323
        &ogs_gtp2_tlv_desc_bearer_context_1,
2324
        &ogs_gtp2_tlv_desc_recovery_0,
2325
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2326
        &ogs_gtp2_tlv_desc_fq_csid_0,
2327
        &ogs_gtp2_tlv_desc_fq_csid_1,
2328
        &ogs_gtp2_tlv_desc_uci_0,
2329
        &ogs_gtp2_tlv_desc_ip_address_1,
2330
        &ogs_gtp2_tlv_desc_port_number_1,
2331
        &ogs_gtp2_tlv_desc_ldn_0,
2332
        &ogs_gtp2_tlv_desc_ldn_1,
2333
        &ogs_gtp2_tlv_desc_ip_address_0,
2334
        &ogs_gtp2_tlv_desc_port_number_0,
2335
        &ogs_gtp2_tlv_desc_ip_address_2,
2336
        &ogs_gtp2_tlv_desc_cn_operator_selection_entity_0,
2337
        &ogs_gtp2_tlv_desc_presence_reporting_area_information_0,
2338
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2339
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2340
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2341
        &ogs_gtp2_tlv_desc_serving_plmn_rate_control_0,
2342
        &ogs_gtp2_tlv_desc_counter_0,
2343
        &ogs_gtp2_tlv_desc_imsi_0,
2344
        &ogs_gtp2_tlv_desc_uli_1,
2345
        &ogs_gtp2_tlv_desc_twan_identifier_0,
2346
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_0,
2347
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2348
        &ogs_gtp2_tlv_desc_pscell_id_0,
2349
    NULL,
2350
}};
2351
2352
ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_response =
2353
{
2354
    OGS_TLV_MESSAGE,
2355
    "Modify Bearer Response",
2356
    0, 0, 0, 0, {
2357
        &ogs_gtp2_tlv_desc_cause_0,
2358
        &ogs_gtp2_tlv_desc_msisdn_0,
2359
        &ogs_gtp2_tlv_desc_ebi_0,
2360
        &ogs_gtp2_tlv_desc_apn_restriction_0,
2361
        &ogs_gtp2_tlv_desc_pco_0,
2362
        &ogs_gtp2_tlv_desc_bearer_context_0,
2363
        &ogs_tlv_desc_more8,
2364
        &ogs_gtp2_tlv_desc_bearer_context_1,
2365
        &ogs_gtp2_tlv_desc_change_reporting_action_0,
2366
        &ogs_gtp2_tlv_desc_csg_information_reporting_action_0,
2367
        &ogs_gtp2_tlv_desc_enb_information_reporting_0,
2368
        &ogs_gtp2_tlv_desc_fqdn_0,
2369
        &ogs_gtp2_tlv_desc_ip_address_0,
2370
        &ogs_gtp2_tlv_desc_fq_csid_0,
2371
        &ogs_gtp2_tlv_desc_fq_csid_1,
2372
        &ogs_gtp2_tlv_desc_recovery_0,
2373
        &ogs_gtp2_tlv_desc_ldn_0,
2374
        &ogs_gtp2_tlv_desc_ldn_1,
2375
        &ogs_gtp2_tlv_desc_indication_0,
2376
        &ogs_gtp2_tlv_desc_presence_reporting_area_action_0,
2377
        &ogs_gtp2_tlv_desc_load_control_information_0,
2378
        &ogs_gtp2_tlv_desc_load_control_information_1,
2379
        &ogs_gtp2_tlv_desc_load_control_information_2,
2380
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2381
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2382
        &ogs_gtp2_tlv_desc_charging_id_0,
2383
        &ogs_gtp2_tlv_desc_pgw_change_info_0,
2384
    NULL,
2385
}};
2386
2387
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_session_request =
2388
{
2389
    OGS_TLV_MESSAGE,
2390
    "Delete Session Request",
2391
    0, 0, 0, 0, {
2392
        &ogs_gtp2_tlv_desc_cause_0,
2393
        &ogs_gtp2_tlv_desc_ebi_0,
2394
        &ogs_gtp2_tlv_desc_uli_0,
2395
        &ogs_gtp2_tlv_desc_indication_0,
2396
        &ogs_gtp2_tlv_desc_pco_0,
2397
        &ogs_gtp2_tlv_desc_node_type_0,
2398
        &ogs_gtp2_tlv_desc_f_teid_0,
2399
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2400
        &ogs_gtp2_tlv_desc_uli_timestamp_0,
2401
        &ogs_gtp2_tlv_desc_ran_nas_cause_0,
2402
        &ogs_gtp2_tlv_desc_twan_identifier_0,
2403
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_0,
2404
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2405
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2406
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2407
        &ogs_gtp2_tlv_desc_twan_identifier_1,
2408
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_1,
2409
        &ogs_gtp2_tlv_desc_ip_address_0,
2410
        &ogs_gtp2_tlv_desc_port_number_0,
2411
        &ogs_gtp2_tlv_desc_epco_0,
2412
        &ogs_gtp2_tlv_desc_port_number_1,
2413
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2414
        &ogs_gtp2_tlv_desc_pscell_id_0,
2415
    NULL,
2416
}};
2417
2418
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_session_response =
2419
{
2420
    OGS_TLV_MESSAGE,
2421
    "Delete Session Response",
2422
    0, 0, 0, 0, {
2423
        &ogs_gtp2_tlv_desc_cause_0,
2424
        &ogs_gtp2_tlv_desc_recovery_0,
2425
        &ogs_gtp2_tlv_desc_pco_0,
2426
        &ogs_gtp2_tlv_desc_indication_0,
2427
        &ogs_gtp2_tlv_desc_load_control_information_0,
2428
        &ogs_gtp2_tlv_desc_load_control_information_1,
2429
        &ogs_gtp2_tlv_desc_load_control_information_2,
2430
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2431
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2432
        &ogs_gtp2_tlv_desc_epco_0,
2433
        &ogs_gtp2_tlv_desc_apn_rate_control_status_0,
2434
    NULL,
2435
}};
2436
2437
ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_command =
2438
{
2439
    OGS_TLV_MESSAGE,
2440
    "Modify Bearer Command",
2441
    0, 0, 0, 0, {
2442
        &ogs_gtp2_tlv_desc_ambr_0,
2443
        &ogs_gtp2_tlv_desc_bearer_context_0,
2444
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2445
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2446
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2447
        &ogs_gtp2_tlv_desc_f_teid_0,
2448
    NULL,
2449
}};
2450
2451
ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_failure_indication =
2452
{
2453
    OGS_TLV_MESSAGE,
2454
    "Modify Bearer Failure Indication",
2455
    0, 0, 0, 0, {
2456
        &ogs_gtp2_tlv_desc_cause_0,
2457
        &ogs_gtp2_tlv_desc_recovery_0,
2458
        &ogs_gtp2_tlv_desc_indication_0,
2459
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2460
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2461
    NULL,
2462
}};
2463
2464
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_command =
2465
{
2466
    OGS_TLV_MESSAGE,
2467
    "Delete Bearer Command",
2468
    0, 0, 0, 0, {
2469
        &ogs_gtp2_tlv_desc_bearer_context_0,
2470
        &ogs_gtp2_tlv_desc_uli_0,
2471
        &ogs_gtp2_tlv_desc_uli_timestamp_0,
2472
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2473
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2474
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2475
        &ogs_gtp2_tlv_desc_f_teid_0,
2476
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2477
        &ogs_gtp2_tlv_desc_pscell_id_0,
2478
    NULL,
2479
}};
2480
2481
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_failure_indication =
2482
{
2483
    OGS_TLV_MESSAGE,
2484
    "Delete Bearer Failure Indication",
2485
    0, 0, 0, 0, {
2486
        &ogs_gtp2_tlv_desc_cause_0,
2487
        &ogs_gtp2_tlv_desc_bearer_context_0,
2488
        &ogs_gtp2_tlv_desc_recovery_0,
2489
        &ogs_gtp2_tlv_desc_indication_0,
2490
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2491
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2492
    NULL,
2493
}};
2494
2495
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_resource_command =
2496
{
2497
    OGS_TLV_MESSAGE,
2498
    "Bearer Resource Command",
2499
    0, 0, 0, 0, {
2500
        &ogs_gtp2_tlv_desc_ebi_0,
2501
        &ogs_gtp2_tlv_desc_pti_0,
2502
        &ogs_gtp2_tlv_desc_flow_qos_0,
2503
        &ogs_gtp2_tlv_desc_tad_0,
2504
        &ogs_gtp2_tlv_desc_rat_type_0,
2505
        &ogs_gtp2_tlv_desc_serving_network_0,
2506
        &ogs_gtp2_tlv_desc_uli_0,
2507
        &ogs_gtp2_tlv_desc_ebi_1,
2508
        &ogs_gtp2_tlv_desc_indication_0,
2509
        &ogs_gtp2_tlv_desc_f_teid_0,
2510
        &ogs_gtp2_tlv_desc_f_teid_1,
2511
        &ogs_gtp2_tlv_desc_pco_0,
2512
        &ogs_gtp2_tlv_desc_signalling_priority_indication_0,
2513
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2514
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2515
        &ogs_gtp2_tlv_desc_f_container_0,
2516
        &ogs_gtp2_tlv_desc_epco_0,
2517
        &ogs_gtp2_tlv_desc_f_teid_2,
2518
        &ogs_gtp2_tlv_desc_pscell_id_0,
2519
    NULL,
2520
}};
2521
2522
ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_resource_failure_indication =
2523
{
2524
    OGS_TLV_MESSAGE,
2525
    "Bearer Resource Failure Indication",
2526
    0, 0, 0, 0, {
2527
        &ogs_gtp2_tlv_desc_cause_0,
2528
        &ogs_gtp2_tlv_desc_ebi_0,
2529
        &ogs_gtp2_tlv_desc_pti_0,
2530
        &ogs_gtp2_tlv_desc_indication_0,
2531
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2532
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2533
        &ogs_gtp2_tlv_desc_recovery_0,
2534
        &ogs_gtp2_tlv_desc_f_container_0,
2535
    NULL,
2536
}};
2537
2538
ogs_tlv_desc_t ogs_gtp2_tlv_desc_downlink_data_notification_failure_indication =
2539
{
2540
    OGS_TLV_MESSAGE,
2541
    "Downlink Data Notification Failure Indication",
2542
    0, 0, 0, 0, {
2543
        &ogs_gtp2_tlv_desc_cause_0,
2544
        &ogs_gtp2_tlv_desc_node_type_0,
2545
        &ogs_gtp2_tlv_desc_imsi_0,
2546
    NULL,
2547
}};
2548
2549
ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_bearer_request =
2550
{
2551
    OGS_TLV_MESSAGE,
2552
    "Create Bearer Request",
2553
    0, 0, 0, 0, {
2554
        &ogs_gtp2_tlv_desc_pti_0,
2555
        &ogs_gtp2_tlv_desc_ebi_0,
2556
        &ogs_gtp2_tlv_desc_pco_0,
2557
        &ogs_gtp2_tlv_desc_bearer_context_0,
2558
        &ogs_gtp2_tlv_desc_fq_csid_0,
2559
        &ogs_gtp2_tlv_desc_fq_csid_1,
2560
        &ogs_gtp2_tlv_desc_change_reporting_action_0,
2561
        &ogs_gtp2_tlv_desc_csg_information_reporting_action_0,
2562
        &ogs_gtp2_tlv_desc_enb_information_reporting_0,
2563
        &ogs_gtp2_tlv_desc_presence_reporting_area_action_0,
2564
        &ogs_gtp2_tlv_desc_indication_0,
2565
        &ogs_gtp2_tlv_desc_load_control_information_0,
2566
        &ogs_gtp2_tlv_desc_load_control_information_1,
2567
        &ogs_gtp2_tlv_desc_load_control_information_2,
2568
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2569
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2570
        &ogs_gtp2_tlv_desc_f_container_0,
2571
        &ogs_gtp2_tlv_desc_pgw_change_info_0,
2572
    NULL,
2573
}};
2574
2575
ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_bearer_response =
2576
{
2577
    OGS_TLV_MESSAGE,
2578
    "Create Bearer Response",
2579
    0, 0, 0, 0, {
2580
        &ogs_gtp2_tlv_desc_cause_0,
2581
        &ogs_gtp2_tlv_desc_bearer_context_0,
2582
        &ogs_gtp2_tlv_desc_recovery_0,
2583
        &ogs_gtp2_tlv_desc_fq_csid_0,
2584
        &ogs_gtp2_tlv_desc_fq_csid_1,
2585
        &ogs_gtp2_tlv_desc_fq_csid_2,
2586
        &ogs_gtp2_tlv_desc_fq_csid_3,
2587
        &ogs_gtp2_tlv_desc_pco_0,
2588
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2589
        &ogs_gtp2_tlv_desc_uli_0,
2590
        &ogs_gtp2_tlv_desc_twan_identifier_0,
2591
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2592
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2593
        &ogs_gtp2_tlv_desc_presence_reporting_area_information_0,
2594
        &ogs_gtp2_tlv_desc_ip_address_0,
2595
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2596
        &ogs_gtp2_tlv_desc_twan_identifier_1,
2597
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_1,
2598
        &ogs_gtp2_tlv_desc_port_number_0,
2599
        &ogs_gtp2_tlv_desc_f_container_0,
2600
        &ogs_gtp2_tlv_desc_port_number_1,
2601
        &ogs_gtp2_tlv_desc_pscell_id_0,
2602
    NULL,
2603
}};
2604
2605
ogs_tlv_desc_t ogs_gtp2_tlv_desc_update_bearer_request =
2606
{
2607
    OGS_TLV_MESSAGE,
2608
    "Update Bearer Request",
2609
    0, 0, 0, 0, {
2610
        &ogs_gtp2_tlv_desc_bearer_context_0,
2611
        &ogs_gtp2_tlv_desc_pti_0,
2612
        &ogs_gtp2_tlv_desc_pco_0,
2613
        &ogs_gtp2_tlv_desc_ambr_0,
2614
        &ogs_gtp2_tlv_desc_change_reporting_action_0,
2615
        &ogs_gtp2_tlv_desc_csg_information_reporting_action_0,
2616
        &ogs_gtp2_tlv_desc_enb_information_reporting_0,
2617
        &ogs_gtp2_tlv_desc_indication_0,
2618
        &ogs_gtp2_tlv_desc_fq_csid_0,
2619
        &ogs_gtp2_tlv_desc_fq_csid_1,
2620
        &ogs_gtp2_tlv_desc_presence_reporting_area_action_0,
2621
        &ogs_gtp2_tlv_desc_load_control_information_0,
2622
        &ogs_gtp2_tlv_desc_load_control_information_1,
2623
        &ogs_gtp2_tlv_desc_load_control_information_2,
2624
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2625
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2626
        &ogs_gtp2_tlv_desc_f_container_0,
2627
        &ogs_gtp2_tlv_desc_pgw_change_info_0,
2628
    NULL,
2629
}};
2630
2631
ogs_tlv_desc_t ogs_gtp2_tlv_desc_update_bearer_response =
2632
{
2633
    OGS_TLV_MESSAGE,
2634
    "Update Bearer Response",
2635
    0, 0, 0, 0, {
2636
        &ogs_gtp2_tlv_desc_cause_0,
2637
        &ogs_gtp2_tlv_desc_bearer_context_0,
2638
        &ogs_gtp2_tlv_desc_pco_0,
2639
        &ogs_gtp2_tlv_desc_recovery_0,
2640
        &ogs_gtp2_tlv_desc_fq_csid_0,
2641
        &ogs_gtp2_tlv_desc_fq_csid_1,
2642
        &ogs_gtp2_tlv_desc_fq_csid_2,
2643
        &ogs_gtp2_tlv_desc_fq_csid_3,
2644
        &ogs_gtp2_tlv_desc_indication_0,
2645
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2646
        &ogs_gtp2_tlv_desc_uli_0,
2647
        &ogs_gtp2_tlv_desc_twan_identifier_0,
2648
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2649
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2650
        &ogs_gtp2_tlv_desc_presence_reporting_area_information_0,
2651
        &ogs_gtp2_tlv_desc_ip_address_0,
2652
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2653
        &ogs_gtp2_tlv_desc_twan_identifier_1,
2654
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_1,
2655
        &ogs_gtp2_tlv_desc_port_number_0,
2656
        &ogs_gtp2_tlv_desc_f_container_0,
2657
        &ogs_gtp2_tlv_desc_port_number_1,
2658
        &ogs_gtp2_tlv_desc_pscell_id_0,
2659
    NULL,
2660
}};
2661
2662
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_request =
2663
{
2664
    OGS_TLV_MESSAGE,
2665
    "Delete Bearer Request",
2666
    0, 0, 0, 0, {
2667
        &ogs_gtp2_tlv_desc_ebi_0,
2668
        &ogs_gtp2_tlv_desc_ebi_1,
2669
        &ogs_gtp2_tlv_desc_bearer_context_0,
2670
        &ogs_gtp2_tlv_desc_pti_0,
2671
        &ogs_gtp2_tlv_desc_pco_0,
2672
        &ogs_gtp2_tlv_desc_fq_csid_0,
2673
        &ogs_gtp2_tlv_desc_fq_csid_1,
2674
        &ogs_gtp2_tlv_desc_cause_0,
2675
        &ogs_gtp2_tlv_desc_indication_0,
2676
        &ogs_gtp2_tlv_desc_load_control_information_0,
2677
        &ogs_gtp2_tlv_desc_load_control_information_1,
2678
        &ogs_gtp2_tlv_desc_load_control_information_2,
2679
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2680
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2681
        &ogs_gtp2_tlv_desc_f_container_0,
2682
        &ogs_gtp2_tlv_desc_apn_rate_control_status_0,
2683
        &ogs_gtp2_tlv_desc_epco_0,
2684
        &ogs_gtp2_tlv_desc_pgw_change_info_0,
2685
    NULL,
2686
}};
2687
2688
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_response =
2689
{
2690
    OGS_TLV_MESSAGE,
2691
    "Delete Bearer Response",
2692
    0, 0, 0, 0, {
2693
        &ogs_gtp2_tlv_desc_cause_0,
2694
        &ogs_gtp2_tlv_desc_ebi_0,
2695
        &ogs_gtp2_tlv_desc_bearer_context_0,
2696
        &ogs_gtp2_tlv_desc_recovery_0,
2697
        &ogs_gtp2_tlv_desc_fq_csid_0,
2698
        &ogs_gtp2_tlv_desc_fq_csid_1,
2699
        &ogs_gtp2_tlv_desc_fq_csid_2,
2700
        &ogs_gtp2_tlv_desc_fq_csid_3,
2701
        &ogs_gtp2_tlv_desc_pco_0,
2702
        &ogs_gtp2_tlv_desc_ue_time_zone_0,
2703
        &ogs_gtp2_tlv_desc_uli_0,
2704
        &ogs_gtp2_tlv_desc_uli_timestamp_0,
2705
        &ogs_gtp2_tlv_desc_twan_identifier_0,
2706
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_0,
2707
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2708
        &ogs_gtp2_tlv_desc_overload_control_information_1,
2709
        &ogs_gtp2_tlv_desc_ip_address_0,
2710
        &ogs_gtp2_tlv_desc_overload_control_information_2,
2711
        &ogs_gtp2_tlv_desc_twan_identifier_1,
2712
        &ogs_gtp2_tlv_desc_twan_identifier_timestamp_1,
2713
        &ogs_gtp2_tlv_desc_port_number_0,
2714
        &ogs_gtp2_tlv_desc_f_container_0,
2715
        &ogs_gtp2_tlv_desc_port_number_1,
2716
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2717
        &ogs_gtp2_tlv_desc_pscell_id_0,
2718
    NULL,
2719
}};
2720
2721
ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_indirect_data_forwarding_tunnel_request =
2722
{
2723
    OGS_TLV_MESSAGE,
2724
    "Create Indirect Data Forwarding Tunnel Request",
2725
    0, 0, 0, 0, {
2726
        &ogs_gtp2_tlv_desc_imsi_0,
2727
        &ogs_gtp2_tlv_desc_mei_0,
2728
        &ogs_gtp2_tlv_desc_indication_0,
2729
        &ogs_gtp2_tlv_desc_f_teid_0,
2730
        &ogs_gtp2_tlv_desc_bearer_context_0,
2731
        &ogs_tlv_desc_more8,
2732
        &ogs_gtp2_tlv_desc_recovery_0,
2733
    NULL,
2734
}};
2735
2736
ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_indirect_data_forwarding_tunnel_response =
2737
{
2738
    OGS_TLV_MESSAGE,
2739
    "Create Indirect Data Forwarding Tunnel Response",
2740
    0, 0, 0, 0, {
2741
        &ogs_gtp2_tlv_desc_cause_0,
2742
        &ogs_gtp2_tlv_desc_f_teid_0,
2743
        &ogs_gtp2_tlv_desc_bearer_context_0,
2744
        &ogs_tlv_desc_more8,
2745
        &ogs_gtp2_tlv_desc_recovery_0,
2746
    NULL,
2747
}};
2748
2749
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_indirect_data_forwarding_tunnel_request =
2750
{
2751
    OGS_TLV_MESSAGE,
2752
    "Delete Indirect Data Forwarding Tunnel Request",
2753
    0, 0, 0, 0, {
2754
    NULL,
2755
}};
2756
2757
ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_indirect_data_forwarding_tunnel_response =
2758
{
2759
    OGS_TLV_MESSAGE,
2760
    "Delete Indirect Data Forwarding Tunnel Response",
2761
    0, 0, 0, 0, {
2762
        &ogs_gtp2_tlv_desc_cause_0,
2763
        &ogs_gtp2_tlv_desc_recovery_0,
2764
    NULL,
2765
}};
2766
2767
ogs_tlv_desc_t ogs_gtp2_tlv_desc_release_access_bearers_request =
2768
{
2769
    OGS_TLV_MESSAGE,
2770
    "Release Access Bearers Request",
2771
    0, 0, 0, 0, {
2772
        &ogs_gtp2_tlv_desc_ebi_0,
2773
        &ogs_gtp2_tlv_desc_node_type_0,
2774
        &ogs_gtp2_tlv_desc_indication_0,
2775
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2776
        &ogs_gtp2_tlv_desc_pscell_id_0,
2777
    NULL,
2778
}};
2779
2780
ogs_tlv_desc_t ogs_gtp2_tlv_desc_release_access_bearers_response =
2781
{
2782
    OGS_TLV_MESSAGE,
2783
    "Release Access Bearers Response",
2784
    0, 0, 0, 0, {
2785
        &ogs_gtp2_tlv_desc_cause_0,
2786
        &ogs_gtp2_tlv_desc_recovery_0,
2787
        &ogs_gtp2_tlv_desc_indication_0,
2788
        &ogs_gtp2_tlv_desc_load_control_information_0,
2789
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2790
    NULL,
2791
}};
2792
2793
ogs_tlv_desc_t ogs_gtp2_tlv_desc_downlink_data_notification =
2794
{
2795
    OGS_TLV_MESSAGE,
2796
    "Downlink Data Notification",
2797
    0, 0, 0, 0, {
2798
        &ogs_gtp2_tlv_desc_cause_0,
2799
        &ogs_gtp2_tlv_desc_ebi_0,
2800
        &ogs_gtp2_tlv_desc_arp_0,
2801
        &ogs_gtp2_tlv_desc_imsi_0,
2802
        &ogs_gtp2_tlv_desc_f_teid_0,
2803
        &ogs_gtp2_tlv_desc_indication_0,
2804
        &ogs_gtp2_tlv_desc_load_control_information_0,
2805
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2806
        &ogs_gtp2_tlv_desc_paging_and_service_information_0,
2807
        &ogs_gtp2_tlv_desc_integer_number_0,
2808
    NULL,
2809
}};
2810
2811
ogs_tlv_desc_t ogs_gtp2_tlv_desc_downlink_data_notification_acknowledge =
2812
{
2813
    OGS_TLV_MESSAGE,
2814
    "Downlink Data Notification Acknowledge",
2815
    0, 0, 0, 0, {
2816
        &ogs_gtp2_tlv_desc_cause_0,
2817
        &ogs_gtp2_tlv_desc_delay_value_0,
2818
        &ogs_gtp2_tlv_desc_recovery_0,
2819
        &ogs_gtp2_tlv_desc_throttling_0,
2820
        &ogs_gtp2_tlv_desc_imsi_0,
2821
        &ogs_gtp2_tlv_desc_epc_timer_0,
2822
        &ogs_gtp2_tlv_desc_integer_number_0,
2823
    NULL,
2824
}};
2825
2826
ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_access_bearers_request =
2827
{
2828
    OGS_TLV_MESSAGE,
2829
    "Modify Access Bearers Request",
2830
    0, 0, 0, 0, {
2831
        &ogs_gtp2_tlv_desc_indication_0,
2832
        &ogs_gtp2_tlv_desc_f_teid_0,
2833
        &ogs_gtp2_tlv_desc_delay_value_0,
2834
        &ogs_gtp2_tlv_desc_bearer_context_0,
2835
        &ogs_gtp2_tlv_desc_bearer_context_1,
2836
        &ogs_gtp2_tlv_desc_recovery_0,
2837
        &ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
2838
        &ogs_gtp2_tlv_desc_pscell_id_0,
2839
    NULL,
2840
}};
2841
2842
ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_access_bearers_response =
2843
{
2844
    OGS_TLV_MESSAGE,
2845
    "Modify Access Bearers Response",
2846
    0, 0, 0, 0, {
2847
        &ogs_gtp2_tlv_desc_cause_0,
2848
        &ogs_gtp2_tlv_desc_bearer_context_0,
2849
        &ogs_gtp2_tlv_desc_bearer_context_1,
2850
        &ogs_gtp2_tlv_desc_recovery_0,
2851
        &ogs_gtp2_tlv_desc_indication_0,
2852
        &ogs_gtp2_tlv_desc_load_control_information_0,
2853
        &ogs_gtp2_tlv_desc_overload_control_information_0,
2854
    NULL,
2855
}};
2856
2857
2858
int ogs_gtp2_parse_msg(ogs_gtp2_message_t *gtp2_message, ogs_pkbuf_t *pkbuf)
2859
479
{
2860
479
    int rv = OGS_ERROR;
2861
479
    ogs_gtp2_header_t *h = NULL;
2862
479
    uint16_t size = 0;
2863
2864
479
    ogs_assert(gtp2_message);
2865
479
    ogs_assert(pkbuf);
2866
479
    ogs_assert(pkbuf->len);
2867
2868
479
    h = (ogs_gtp2_header_t *)pkbuf->data;
2869
479
    ogs_assert(h);
2870
2871
479
    memset(gtp2_message, 0, sizeof(ogs_gtp2_message_t));
2872
2873
479
    if (h->teid_presence)
2874
11
        size = OGS_GTPV2C_HEADER_LEN;
2875
468
    else
2876
468
        size = OGS_GTPV2C_HEADER_LEN-OGS_GTP2_TEID_LEN;
2877
2878
479
    if (ogs_pkbuf_pull(pkbuf, size) == NULL) {
2879
6
        ogs_error("ogs_pkbuf_pull() failed [len:%d]", pkbuf->len);
2880
6
        return OGS_ERROR;
2881
6
    }
2882
473
    memcpy(&gtp2_message->h, pkbuf->data - size, size);
2883
2884
473
    if (h->teid_presence)
2885
8
        gtp2_message->h.teid = be32toh(gtp2_message->h.teid);
2886
2887
473
    if (pkbuf->len == 0) {
2888
2
        ogs_assert(ogs_pkbuf_push(pkbuf, size));
2889
2
        return OGS_OK;
2890
2
    }
2891
2892
471
    switch(gtp2_message->h.type) {
2893
27
    case OGS_GTP2_ECHO_REQUEST_TYPE:
2894
27
        rv = ogs_tlv_parse_msg(&gtp2_message->echo_request,
2895
27
                &ogs_gtp2_tlv_desc_echo_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2896
27
        break;
2897
11
    case OGS_GTP2_ECHO_RESPONSE_TYPE:
2898
11
        rv = ogs_tlv_parse_msg(&gtp2_message->echo_response,
2899
11
                &ogs_gtp2_tlv_desc_echo_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2900
11
        break;
2901
103
    case OGS_GTP2_CREATE_SESSION_REQUEST_TYPE:
2902
103
        rv = ogs_tlv_parse_msg(&gtp2_message->create_session_request,
2903
103
                &ogs_gtp2_tlv_desc_create_session_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2904
103
        break;
2905
59
    case OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE:
2906
59
        rv = ogs_tlv_parse_msg(&gtp2_message->create_session_response,
2907
59
                &ogs_gtp2_tlv_desc_create_session_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2908
59
        break;
2909
72
    case OGS_GTP2_MODIFY_BEARER_REQUEST_TYPE:
2910
72
        rv = ogs_tlv_parse_msg(&gtp2_message->modify_bearer_request,
2911
72
                &ogs_gtp2_tlv_desc_modify_bearer_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2912
72
        break;
2913
78
    case OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE:
2914
78
        rv = ogs_tlv_parse_msg(&gtp2_message->modify_bearer_response,
2915
78
                &ogs_gtp2_tlv_desc_modify_bearer_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2916
78
        break;
2917
6
    case OGS_GTP2_DELETE_SESSION_REQUEST_TYPE:
2918
6
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_session_request,
2919
6
                &ogs_gtp2_tlv_desc_delete_session_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2920
6
        break;
2921
3
    case OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE:
2922
3
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_session_response,
2923
3
                &ogs_gtp2_tlv_desc_delete_session_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2924
3
        break;
2925
5
    case OGS_GTP2_MODIFY_BEARER_COMMAND_TYPE:
2926
5
        rv = ogs_tlv_parse_msg(&gtp2_message->modify_bearer_command,
2927
5
                &ogs_gtp2_tlv_desc_modify_bearer_command, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2928
5
        break;
2929
4
    case OGS_GTP2_MODIFY_BEARER_FAILURE_INDICATION_TYPE:
2930
4
        rv = ogs_tlv_parse_msg(&gtp2_message->modify_bearer_failure_indication,
2931
4
                &ogs_gtp2_tlv_desc_modify_bearer_failure_indication, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2932
4
        break;
2933
3
    case OGS_GTP2_DELETE_BEARER_COMMAND_TYPE:
2934
3
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_bearer_command,
2935
3
                &ogs_gtp2_tlv_desc_delete_bearer_command, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2936
3
        break;
2937
2
    case OGS_GTP2_DELETE_BEARER_FAILURE_INDICATION_TYPE:
2938
2
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_bearer_failure_indication,
2939
2
                &ogs_gtp2_tlv_desc_delete_bearer_failure_indication, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2940
2
        break;
2941
3
    case OGS_GTP2_BEARER_RESOURCE_COMMAND_TYPE:
2942
3
        rv = ogs_tlv_parse_msg(&gtp2_message->bearer_resource_command,
2943
3
                &ogs_gtp2_tlv_desc_bearer_resource_command, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2944
3
        break;
2945
3
    case OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE:
2946
3
        rv = ogs_tlv_parse_msg(&gtp2_message->bearer_resource_failure_indication,
2947
3
                &ogs_gtp2_tlv_desc_bearer_resource_failure_indication, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2948
3
        break;
2949
6
    case OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_FAILURE_INDICATION_TYPE:
2950
6
        rv = ogs_tlv_parse_msg(&gtp2_message->downlink_data_notification_failure_indication,
2951
6
                &ogs_gtp2_tlv_desc_downlink_data_notification_failure_indication, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2952
6
        break;
2953
2
    case OGS_GTP2_CREATE_BEARER_REQUEST_TYPE:
2954
2
        rv = ogs_tlv_parse_msg(&gtp2_message->create_bearer_request,
2955
2
                &ogs_gtp2_tlv_desc_create_bearer_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2956
2
        break;
2957
20
    case OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE:
2958
20
        rv = ogs_tlv_parse_msg(&gtp2_message->create_bearer_response,
2959
20
                &ogs_gtp2_tlv_desc_create_bearer_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2960
20
        break;
2961
15
    case OGS_GTP2_UPDATE_BEARER_REQUEST_TYPE:
2962
15
        rv = ogs_tlv_parse_msg(&gtp2_message->update_bearer_request,
2963
15
                &ogs_gtp2_tlv_desc_update_bearer_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2964
15
        break;
2965
5
    case OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE:
2966
5
        rv = ogs_tlv_parse_msg(&gtp2_message->update_bearer_response,
2967
5
                &ogs_gtp2_tlv_desc_update_bearer_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2968
5
        break;
2969
3
    case OGS_GTP2_DELETE_BEARER_REQUEST_TYPE:
2970
3
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_bearer_request,
2971
3
                &ogs_gtp2_tlv_desc_delete_bearer_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2972
3
        break;
2973
5
    case OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE:
2974
5
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_bearer_response,
2975
5
                &ogs_gtp2_tlv_desc_delete_bearer_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2976
5
        break;
2977
1
    case OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST_TYPE:
2978
1
        rv = ogs_tlv_parse_msg(&gtp2_message->create_indirect_data_forwarding_tunnel_request,
2979
1
                &ogs_gtp2_tlv_desc_create_indirect_data_forwarding_tunnel_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2980
1
        break;
2981
2
    case OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE:
2982
2
        rv = ogs_tlv_parse_msg(&gtp2_message->create_indirect_data_forwarding_tunnel_response,
2983
2
                &ogs_gtp2_tlv_desc_create_indirect_data_forwarding_tunnel_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2984
2
        break;
2985
2
    case OGS_GTP2_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST_TYPE:
2986
2
        break;
2987
1
    case OGS_GTP2_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE:
2988
1
        rv = ogs_tlv_parse_msg(&gtp2_message->delete_indirect_data_forwarding_tunnel_response,
2989
1
                &ogs_gtp2_tlv_desc_delete_indirect_data_forwarding_tunnel_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2990
1
        break;
2991
1
    case OGS_GTP2_RELEASE_ACCESS_BEARERS_REQUEST_TYPE:
2992
1
        rv = ogs_tlv_parse_msg(&gtp2_message->release_access_bearers_request,
2993
1
                &ogs_gtp2_tlv_desc_release_access_bearers_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2994
1
        break;
2995
2
    case OGS_GTP2_RELEASE_ACCESS_BEARERS_RESPONSE_TYPE:
2996
2
        rv = ogs_tlv_parse_msg(&gtp2_message->release_access_bearers_response,
2997
2
                &ogs_gtp2_tlv_desc_release_access_bearers_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
2998
2
        break;
2999
9
    case OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_TYPE:
3000
9
        rv = ogs_tlv_parse_msg(&gtp2_message->downlink_data_notification,
3001
9
                &ogs_gtp2_tlv_desc_downlink_data_notification, pkbuf, OGS_TLV_MODE_T1_L2_I1);
3002
9
        break;
3003
2
    case OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_ACKNOWLEDGE_TYPE:
3004
2
        rv = ogs_tlv_parse_msg(&gtp2_message->downlink_data_notification_acknowledge,
3005
2
                &ogs_gtp2_tlv_desc_downlink_data_notification_acknowledge, pkbuf, OGS_TLV_MODE_T1_L2_I1);
3006
2
        break;
3007
3
    case OGS_GTP2_MODIFY_ACCESS_BEARERS_REQUEST_TYPE:
3008
3
        rv = ogs_tlv_parse_msg(&gtp2_message->modify_access_bearers_request,
3009
3
                &ogs_gtp2_tlv_desc_modify_access_bearers_request, pkbuf, OGS_TLV_MODE_T1_L2_I1);
3010
3
        break;
3011
5
    case OGS_GTP2_MODIFY_ACCESS_BEARERS_RESPONSE_TYPE:
3012
5
        rv = ogs_tlv_parse_msg(&gtp2_message->modify_access_bearers_response,
3013
5
                &ogs_gtp2_tlv_desc_modify_access_bearers_response, pkbuf, OGS_TLV_MODE_T1_L2_I1);
3014
5
        break;
3015
8
    default:
3016
8
        ogs_warn("Not implemented(type:%d)", gtp2_message->h.type);
3017
8
        break;
3018
471
    }
3019
3020
471
    ogs_assert(ogs_pkbuf_push(pkbuf, size));
3021
3022
471
    return rv;
3023
471
}
3024
3025
ogs_pkbuf_t *ogs_gtp2_build_msg(ogs_gtp2_message_t *gtp2_message)
3026
0
{
3027
0
    ogs_pkbuf_t *pkbuf = NULL;
3028
3029
0
    ogs_assert(gtp2_message);
3030
0
    switch(gtp2_message->h.type) {
3031
0
    case OGS_GTP2_ECHO_REQUEST_TYPE:
3032
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_echo_request,
3033
0
                &gtp2_message->echo_request, OGS_TLV_MODE_T1_L2_I1);
3034
0
        break;
3035
0
    case OGS_GTP2_ECHO_RESPONSE_TYPE:
3036
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_echo_response,
3037
0
                &gtp2_message->echo_response, OGS_TLV_MODE_T1_L2_I1);
3038
0
        break;
3039
0
    case OGS_GTP2_CREATE_SESSION_REQUEST_TYPE:
3040
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_create_session_request,
3041
0
                &gtp2_message->create_session_request, OGS_TLV_MODE_T1_L2_I1);
3042
0
        break;
3043
0
    case OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE:
3044
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_create_session_response,
3045
0
                &gtp2_message->create_session_response, OGS_TLV_MODE_T1_L2_I1);
3046
0
        break;
3047
0
    case OGS_GTP2_MODIFY_BEARER_REQUEST_TYPE:
3048
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_modify_bearer_request,
3049
0
                &gtp2_message->modify_bearer_request, OGS_TLV_MODE_T1_L2_I1);
3050
0
        break;
3051
0
    case OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE:
3052
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_modify_bearer_response,
3053
0
                &gtp2_message->modify_bearer_response, OGS_TLV_MODE_T1_L2_I1);
3054
0
        break;
3055
0
    case OGS_GTP2_DELETE_SESSION_REQUEST_TYPE:
3056
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_session_request,
3057
0
                &gtp2_message->delete_session_request, OGS_TLV_MODE_T1_L2_I1);
3058
0
        break;
3059
0
    case OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE:
3060
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_session_response,
3061
0
                &gtp2_message->delete_session_response, OGS_TLV_MODE_T1_L2_I1);
3062
0
        break;
3063
0
    case OGS_GTP2_MODIFY_BEARER_COMMAND_TYPE:
3064
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_modify_bearer_command,
3065
0
                &gtp2_message->modify_bearer_command, OGS_TLV_MODE_T1_L2_I1);
3066
0
        break;
3067
0
    case OGS_GTP2_MODIFY_BEARER_FAILURE_INDICATION_TYPE:
3068
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_modify_bearer_failure_indication,
3069
0
                &gtp2_message->modify_bearer_failure_indication, OGS_TLV_MODE_T1_L2_I1);
3070
0
        break;
3071
0
    case OGS_GTP2_DELETE_BEARER_COMMAND_TYPE:
3072
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_bearer_command,
3073
0
                &gtp2_message->delete_bearer_command, OGS_TLV_MODE_T1_L2_I1);
3074
0
        break;
3075
0
    case OGS_GTP2_DELETE_BEARER_FAILURE_INDICATION_TYPE:
3076
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_bearer_failure_indication,
3077
0
                &gtp2_message->delete_bearer_failure_indication, OGS_TLV_MODE_T1_L2_I1);
3078
0
        break;
3079
0
    case OGS_GTP2_BEARER_RESOURCE_COMMAND_TYPE:
3080
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_bearer_resource_command,
3081
0
                &gtp2_message->bearer_resource_command, OGS_TLV_MODE_T1_L2_I1);
3082
0
        break;
3083
0
    case OGS_GTP2_BEARER_RESOURCE_FAILURE_INDICATION_TYPE:
3084
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_bearer_resource_failure_indication,
3085
0
                &gtp2_message->bearer_resource_failure_indication, OGS_TLV_MODE_T1_L2_I1);
3086
0
        break;
3087
0
    case OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_FAILURE_INDICATION_TYPE:
3088
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_downlink_data_notification_failure_indication,
3089
0
                &gtp2_message->downlink_data_notification_failure_indication, OGS_TLV_MODE_T1_L2_I1);
3090
0
        break;
3091
0
    case OGS_GTP2_CREATE_BEARER_REQUEST_TYPE:
3092
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_create_bearer_request,
3093
0
                &gtp2_message->create_bearer_request, OGS_TLV_MODE_T1_L2_I1);
3094
0
        break;
3095
0
    case OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE:
3096
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_create_bearer_response,
3097
0
                &gtp2_message->create_bearer_response, OGS_TLV_MODE_T1_L2_I1);
3098
0
        break;
3099
0
    case OGS_GTP2_UPDATE_BEARER_REQUEST_TYPE:
3100
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_update_bearer_request,
3101
0
                &gtp2_message->update_bearer_request, OGS_TLV_MODE_T1_L2_I1);
3102
0
        break;
3103
0
    case OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE:
3104
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_update_bearer_response,
3105
0
                &gtp2_message->update_bearer_response, OGS_TLV_MODE_T1_L2_I1);
3106
0
        break;
3107
0
    case OGS_GTP2_DELETE_BEARER_REQUEST_TYPE:
3108
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_bearer_request,
3109
0
                &gtp2_message->delete_bearer_request, OGS_TLV_MODE_T1_L2_I1);
3110
0
        break;
3111
0
    case OGS_GTP2_DELETE_BEARER_RESPONSE_TYPE:
3112
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_bearer_response,
3113
0
                &gtp2_message->delete_bearer_response, OGS_TLV_MODE_T1_L2_I1);
3114
0
        break;
3115
0
    case OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST_TYPE:
3116
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_create_indirect_data_forwarding_tunnel_request,
3117
0
                &gtp2_message->create_indirect_data_forwarding_tunnel_request, OGS_TLV_MODE_T1_L2_I1);
3118
0
        break;
3119
0
    case OGS_GTP2_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE:
3120
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_create_indirect_data_forwarding_tunnel_response,
3121
0
                &gtp2_message->create_indirect_data_forwarding_tunnel_response, OGS_TLV_MODE_T1_L2_I1);
3122
0
        break;
3123
0
    case OGS_GTP2_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_REQUEST_TYPE:
3124
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_indirect_data_forwarding_tunnel_request,
3125
0
                &gtp2_message->delete_indirect_data_forwarding_tunnel_request, OGS_TLV_MODE_T1_L2_I1);
3126
0
        break;
3127
0
    case OGS_GTP2_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_RESPONSE_TYPE:
3128
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_delete_indirect_data_forwarding_tunnel_response,
3129
0
                &gtp2_message->delete_indirect_data_forwarding_tunnel_response, OGS_TLV_MODE_T1_L2_I1);
3130
0
        break;
3131
0
    case OGS_GTP2_RELEASE_ACCESS_BEARERS_REQUEST_TYPE:
3132
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_release_access_bearers_request,
3133
0
                &gtp2_message->release_access_bearers_request, OGS_TLV_MODE_T1_L2_I1);
3134
0
        break;
3135
0
    case OGS_GTP2_RELEASE_ACCESS_BEARERS_RESPONSE_TYPE:
3136
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_release_access_bearers_response,
3137
0
                &gtp2_message->release_access_bearers_response, OGS_TLV_MODE_T1_L2_I1);
3138
0
        break;
3139
0
    case OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_TYPE:
3140
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_downlink_data_notification,
3141
0
                &gtp2_message->downlink_data_notification, OGS_TLV_MODE_T1_L2_I1);
3142
0
        break;
3143
0
    case OGS_GTP2_DOWNLINK_DATA_NOTIFICATION_ACKNOWLEDGE_TYPE:
3144
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_downlink_data_notification_acknowledge,
3145
0
                &gtp2_message->downlink_data_notification_acknowledge, OGS_TLV_MODE_T1_L2_I1);
3146
0
        break;
3147
0
    case OGS_GTP2_MODIFY_ACCESS_BEARERS_REQUEST_TYPE:
3148
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_modify_access_bearers_request,
3149
0
                &gtp2_message->modify_access_bearers_request, OGS_TLV_MODE_T1_L2_I1);
3150
0
        break;
3151
0
    case OGS_GTP2_MODIFY_ACCESS_BEARERS_RESPONSE_TYPE:
3152
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp2_tlv_desc_modify_access_bearers_response,
3153
0
                &gtp2_message->modify_access_bearers_response, OGS_TLV_MODE_T1_L2_I1);
3154
0
        break;
3155
0
    default:
3156
0
        ogs_warn("Not implemented(type:%d)", gtp2_message->h.type);
3157
0
        break;
3158
0
    }
3159
3160
0
    return pkbuf;
3161
0
}