From 5ca9424d60dfdcdfa222a1b04ea65244729a16c8 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 3 Jul 2024 18:34:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BD=91=E5=85=83=E5=85=AC=E5=85=B1?= =?UTF-8?q?=E5=8F=82=E6=95=B0n3/n6IP=E4=B8=8D=E6=90=BA=E5=B8=A6/=E5=AD=90?= =?UTF-8?q?=E7=BD=91=E6=8E=A9=E7=A0=81=E5=A4=84=E7=90=86=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/framework/utils/parse/parse.go | 4 ++-- .../network_element/service/ne_info.impl.go | 24 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) 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