Protobuf for node configuration
[ric-plt/nodeb-rnib.git] / entities / e2node_component_config.proto
1 /*
2  * Copyright 2022 Samsung Electronics Co.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /*
18  * This source code is part of the near-RT RIC (RAN Intelligent Controller)
19  * platform project (RICP).
20  */
21
22
23  syntax = "proto3";
24  package entities;
25
26  import "nb_types.proto";
27
28  message E2nodeComponentConfig {
29      oneof E2nodeComponentID {
30         E2nodeComponentInterfaceNG e2nodeComponentInterfaceTypeNG = 1;
31         E2nodeComponentInterfaceXn e2nodeComponentInterfaceTypeXn = 2;
32         E2nodeComponentInterfaceE1 e2nodeComponentInterfaceTypeE1 = 3;
33         E2nodeComponentInterfaceF1 e2nodeComponentInterfaceTypeF1 = 4;
34         E2nodeComponentInterfaceW1 e2nodeComponentInterfaceTypeW1 = 5;
35         E2nodeComponentInterfaceS1 e2nodeComponentInterfaceTypeS1 = 6;
36         E2nodeComponentInterfaceX2 e2nodeComponentInterfaceTypeX2 = 7;
37      }
38      E2nodeComponentInterfaceType e2nodeComponentInterfaceType = 8;
39      bytes e2nodeComponentRequestPart = 9;
40      bytes e2nodeComponentResponsePart = 10;
41  }
42
43  message E2nodeComponentInterfaceNG {
44      string amf_name = 11;
45  }
46
47  message E2nodeComponentInterfaceXn {
48     oneof global_ng_ran_node_id {
49         GlobalNGENBID global_ngenb_id = 12;
50         GlobalGNBID global_gnb_id = 13;
51      }
52  }
53
54  message E2nodeComponentInterfaceE1 {
55     int64 gNB_cu_cp_id = 14;
56  }
57
58  message E2nodeComponentInterfaceF1 {
59     int64 gNB_du_id = 15;
60  }
61
62  message E2nodeComponentInterfaceW1 {
63      int64 ngenb_du_id = 16;
64 }
65
66 message E2nodeComponentInterfaceS1 {
67      string mme_name = 17;
68 }
69
70 message E2nodeComponentInterfaceX2 {
71     GlobalENBID global_enb_id = 18;
72     GlobalENGNBID global_engnb_id = 19;
73 }
74
75 message GlobalENBID {
76     string plmn_identity = 20;
77     string enb_id = 21;
78     EnbType enb_type = 22;
79 }
80
81 message GlobalENGNBID {
82     string plmn_identity = 23;
83     string gnb_id = 24;
84     GnbType gnb_type = 25;
85 }
86
87 message GlobalGNBID {
88     string plmn_identity = 26;
89     string gnb_id = 27;
90     GnbType gnb_type = 28;
91 }
92
93 message GlobalNGENBID {
94     string plmn_identity = 29;
95     string enb_id = 30;
96     EnbType enb_type = 31;
97 }
98
99 enum E2nodeComponentInterfaceType {
100     ng = 0;
101     xn = 1;
102     e1 = 2;
103     f1 = 3;
104     w1 = 5;
105     s1 = 6;
106     x2 = 7;
107 }