|
@@ -45,14 +45,20 @@ func VXLANUDPPort() uint32 {
|
|
|
|
|
|
// AppendVNIList appends the VNI values encoded as a CSV string to slice.
|
|
// AppendVNIList appends the VNI values encoded as a CSV string to slice.
|
|
func AppendVNIList(vnis []uint32, csv string) ([]uint32, error) {
|
|
func AppendVNIList(vnis []uint32, csv string) ([]uint32, error) {
|
|
- vniStrings := strings.Split(csv, ",")
|
|
|
|
- for _, vniStr := range vniStrings {
|
|
|
|
|
|
+ for {
|
|
|
|
+ var (
|
|
|
|
+ vniStr string
|
|
|
|
+ found bool
|
|
|
|
+ )
|
|
|
|
+ vniStr, csv, found = strings.Cut(csv, ",")
|
|
vni, err := strconv.Atoi(vniStr)
|
|
vni, err := strconv.Atoi(vniStr)
|
|
if err != nil {
|
|
if err != nil {
|
|
return vnis, fmt.Errorf("invalid vxlan id value %q passed", vniStr)
|
|
return vnis, fmt.Errorf("invalid vxlan id value %q passed", vniStr)
|
|
}
|
|
}
|
|
|
|
|
|
vnis = append(vnis, uint32(vni))
|
|
vnis = append(vnis, uint32(vni))
|
|
|
|
+ if !found {
|
|
|
|
+ return vnis, nil
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- return vnis, nil
|
|
|
|
}
|
|
}
|