diff --git a/src/framework/utils/parse/parse.go b/src/framework/utils/parse/parse.go index 8eb27dcb..67fb8317 100644 --- a/src/framework/utils/parse/parse.go +++ b/src/framework/utils/parse/parse.go @@ -172,10 +172,10 @@ func Color(colorStr string) *color.RGBA { } } -// ConvertIPMask 转换IP网络地址掩码 24 -> 255.255.255.0 +// ConvertIPMask 转换IP网络地址掩码 24->"255.255.255.0" 20->"255.255.240.0" func ConvertIPMask(bits int64) string { if bits < 0 || bits > 32 { - return "Invalid Mask Bits" + return "255.255.255.255" } // 构建一个32位的uint32类型掩码,指定前bits位为1,其余为0 diff --git a/src/modules/network_element/service/ne_info.impl.go b/src/modules/network_element/service/ne_info.impl.go index 8909a85b..7b5041ca 100644 --- a/src/modules/network_element/service/ne_info.impl.go +++ b/src/modules/network_element/service/ne_info.impl.go @@ -705,20 +705,30 @@ func (r *NeInfoImpl) neConfPara5GDataConvert(content map[string]any) map[string] } n3IPAmdMask := external["upfn3_ip"].(string) - n3Arr := strings.Split(n3IPAmdMask, "/") + n3Arr := strings.SplitN(n3IPAmdMask, "/", 2) n3IP := n3Arr[0] - n3Mask := parse.ConvertIPMask(parse.Number(n3Arr[1])) + n3Mask := "255.255.255.0" + if len(n3Arr) > 1 { + n3Mask = parse.ConvertIPMask(parse.Number(n3Arr[1])) + } n6IPAmdMask := external["upfn6_ip"].(string) - n6Arr := strings.Split(n6IPAmdMask, "/") + n6Arr := strings.SplitN(n6IPAmdMask, "/", 2) n6IP := n6Arr[0] - n6Mask := parse.ConvertIPMask(parse.Number(n6Arr[1])) + n6Mask := "255.255.255.0" + if len(n6Arr) > 1 { + n6Mask = parse.ConvertIPMask(parse.Number(n6Arr[1])) + } ueIPAmdMask := external["ue_pool"].(string) - ueArr := strings.Split(ueIPAmdMask, "/") + ueArr := strings.SplitN(ueIPAmdMask, "/", 2) ueIP := ueArr[0] - ueCicr := ueArr[1] - ueMask := parse.ConvertIPMask(parse.Number(ueArr[1])) + ueCicr := "24" + ueMask := "255.255.255.0" + if len(ueArr) > 1 { + ueCicr = ueArr[1] + ueMask = parse.ConvertIPMask(parse.Number(ueArr[1])) + } return map[string]string{ // basic