// Copyright 2019 AT&T Intellectual Property
// Copyright 2019 Nokia
// Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved.
+// Copyright 2023 Capgemini
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
}
nodebInfo.GetGnb().NodeConfigs = e2NodeConfig
+ if nodebInfo.NodeType == entities.Node_GNB {
+ h.logger.Debugf("#E2SetupRequestNotificationHandler buildNodebInfo - entities.Node_GNB %d", entities.Node_GNB)
+
+ gnbNodetype := h.setGnbNodeType(request)
+ h.logger.Debugf("#E2SetupRequestNotificationHandler buildNodebInfo -gnbNodetype %s", gnbNodetype)
+ nodebInfo.GnbNodeType = gnbNodetype
+ nodebInfo.CuUpId = request.GetCuupId()
+ nodebInfo.DuId = request.GetDuId()
+ h.logger.Debugf("#E2SetupRequestNotificationHandler buildNodebInfo -cuupid%s", request.GetCuupId())
+ h.logger.Debugf("#E2SetupRequestNotificationHandler buildNodebInfo -duid %s", request.GetDuId())
+ }
+
ranFuncs := request.ExtractRanFunctionsList()
if ranFuncs != nil {
return nodebInfo, nil
}
+
+func (h *E2SetupRequestNotificationHandler) setGnbNodeType(setupRequest *models.E2SetupRequestMessage) string {
+ gnbNodetype := "gNB"
+ /*Note: Deployment where CU-UP and DU are combined
+ (but do not include the CP-CP) and have a single E2 connection
+ is not supported. The combination of CU-CP, CU-UP, and DU will be
+ treated as a single gNB and expect it to have only the
+ global gNB ID in its E2 Setup ID*/
+ if setupRequest.GetCuupId() != "" && setupRequest.GetDuId() != "" {
+ gnbNodetype = "gNB"
+ } else if setupRequest.GetCuupId() != "" {
+ gnbNodetype = "gNB_CU_UP"
+ } else if setupRequest.GetDuId() != "" {
+ gnbNodetype = "gNB_DU"
+ }
+ return gnbNodetype
+}
+
func (h *E2SetupRequestNotificationHandler) setNodeTypeAndConfiguration(nodebInfo *entities.NodebInfo) error {
for k, v := range gnbTypesMap {
if strings.HasPrefix(nodebInfo.RanName, k) {