@@ -89,28 +89,27 @@ func updateDeviceGroupInNetworkSlices(groupName string) error {
89
89
func deviceGroupPostHelper (requestDeviceGroup configmodels.DeviceGroups , msgOp int , groupName string ) (int , error ) {
90
90
logger .ConfigLog .Infof ("received device group: %s" , groupName )
91
91
92
- ipdomain := & requestDeviceGroup .IpDomainExpanded
92
+ ipdomains := & requestDeviceGroup .IpDomainExpanded
93
93
logger .ConfigLog .Infof ("imsis.size: %v, Imsis: %s" , len (requestDeviceGroup .Imsis ), requestDeviceGroup .Imsis )
94
- logger . ConfigLog . Infof ( "IP Domain Name: %s" , requestDeviceGroup . IpDomainName )
95
- logger .ConfigLog .Infof ("IP Domain details: %+v" , ipdomain )
96
- logger .ConfigLog .Infof ("dnn name : %s " , ipdomain .Dnn )
97
- logger .ConfigLog .Infof ("ue pool : %s " , ipdomain .UeIpPool )
98
- logger .ConfigLog .Infof ("dns Primary: %s " , ipdomain .DnsPrimary )
99
- logger .ConfigLog .Infof ("dns Secondary: %s " , ipdomain .DnsSecondary )
100
- logger .ConfigLog .Infof ("ip mtu : %v" , ipdomain .Mtu )
101
- logger . ConfigLog . Infof ( "device Group Name: %s" , groupName )
102
-
103
- if ipdomain .UeDnnQos != nil {
104
- ipdomain .UeDnnQos .DnnMbrDownlink = convertToBps ( ipdomain . UeDnnQos . DnnMbrDownlink , ipdomain . UeDnnQos . BitrateUnit )
105
- if ipdomain . UeDnnQos . DnnMbrDownlink < 0 {
106
- ipdomain . UeDnnQos . DnnMbrDownlink = math . MaxInt64
107
- }
108
- logger . ConfigLog . Infof ( "MbrDownLink: %v" , ipdomain .UeDnnQos .DnnMbrDownlink )
109
- ipdomain .UeDnnQos .DnnMbrUplink = convertToBps ( ipdomain . UeDnnQos . DnnMbrUplink , ipdomain . UeDnnQos . BitrateUnit )
110
- if ipdomain . UeDnnQos . DnnMbrUplink < 0 {
111
- ipdomain . UeDnnQos . DnnMbrUplink = math . MaxInt64
94
+ for i , ipdomain := range * ipdomains {
95
+ logger .ConfigLog .Infof ("IP Domain details [%d] : %+v" , i , ipdomain )
96
+ logger .ConfigLog .Infof ("DNN Name : %v " , ipdomain .Dnn )
97
+ logger .ConfigLog .Infof ("UE Pool : %v " , ipdomain .UeIpPool )
98
+ logger .ConfigLog .Infof ("DNS Primary : %v " , ipdomain .DnsPrimary )
99
+ logger .ConfigLog .Infof ("DNS Secondary : %v " , ipdomain .DnsSecondary )
100
+ logger .ConfigLog .Infof ("IP MTU : %v" , ipdomain .Mtu )
101
+ if ipdomain . UeDnnQos != nil {
102
+ ipdomain . UeDnnQos . DnnMbrDownlink = convertToBps ( ipdomain . UeDnnQos . DnnMbrDownlink , ipdomain . UeDnnQos . BitrateUnit )
103
+ if ipdomain .UeDnnQos . DnnMbrDownlink < 0 {
104
+ ipdomain .UeDnnQos .DnnMbrDownlink = math . MaxInt64
105
+ }
106
+ logger . ConfigLog . Infof ( "MBR DownLink : %v" , ipdomain . UeDnnQos . DnnMbrDownlink )
107
+ ipdomain . UeDnnQos . DnnMbrUplink = convertToBps ( ipdomain . UeDnnQos . DnnMbrUplink , ipdomain . UeDnnQos . BitrateUnit )
108
+ if ipdomain .UeDnnQos .DnnMbrUplink < 0 {
109
+ ipdomain .UeDnnQos .DnnMbrUplink = math . MaxInt64
110
+ }
111
+ logger . ConfigLog . Infof ( "MBR UpLink : %v" , ipdomain . UeDnnQos . DnnMbrUplink )
112
112
}
113
- logger .ConfigLog .Infof ("MbrUpLink: %v" , ipdomain .UeDnnQos .DnnMbrUplink )
114
113
}
115
114
116
115
prevDevGroup := getDeviceGroupByName (groupName )
@@ -214,18 +213,25 @@ func syncDeviceGroupSubscriber(devGroup *configmodels.DeviceGroups, prevDevGroup
214
213
Sst : int32 (sVal ),
215
214
}
216
215
var errorOccured bool
216
+ dnnMap := make (map [string ][]configmodels.DeviceGroupsIpDomainExpandedUeDnnQos )
217
217
for _ , imsi := range devGroup .Imsis {
218
218
/* update all current IMSIs */
219
219
subscriberAuthData := DatabaseSubscriberAuthenticationData {}
220
220
if subscriberAuthData .SubscriberAuthenticationDataGet ("imsi-" + imsi ) != nil {
221
- dnn := devGroup .IpDomainExpanded .Dnn
221
+ for _ , ipDomain := range devGroup .IpDomainExpanded {
222
+ dnn := ipDomain .Dnn
223
+
224
+ // Ensure UeDnnQos is not nil before appending
225
+ if ipDomain .UeDnnQos != nil {
226
+ dnnMap [dnn ] = append (dnnMap [dnn ], * ipDomain .UeDnnQos ) // Directly append the UeDnnQos
227
+ }
228
+ }
222
229
err = updatePolicyAndProvisionedData (
223
230
imsi ,
224
231
slice .SiteInfo .Plmn .Mcc ,
225
232
slice .SiteInfo .Plmn .Mnc ,
226
233
snssai ,
227
- dnn ,
228
- devGroup .IpDomainExpanded .UeDnnQos ,
234
+ dnnMap ,
229
235
)
230
236
if err != nil {
231
237
logger .DbLog .Errorf ("updatePolicyAndProvisionedData failed for IMSI %s: %+v" , imsi , err )
0 commit comments