diff --git a/IP4Config.go b/IP4Config.go index 242e0f0..fd96569 100644 --- a/IP4Config.go +++ b/IP4Config.go @@ -191,7 +191,7 @@ func (c *ip4Config) GetPropertyRouteData() ([]IP4RouteData, error) { return routes, err } - for _, routeData := range routesData { + for index, routeData := range routesData { route := IP4RouteData{} @@ -222,11 +222,14 @@ func (c *ip4Config) GetPropertyRouteData() ([]IP4RouteData, error) { } route.Metric = uint8(metric) default: + if route.AdditionalAttributes == nil { + route.AdditionalAttributes = make(map[string]string) + } route.AdditionalAttributes[routeDataAttributeName] = routeDataAttribute.String() } } - routes = append(routes, route) + routes[index] = route } return routes, nil } diff --git a/IP6Config.go b/IP6Config.go index 8f46acd..548f2ca 100644 --- a/IP6Config.go +++ b/IP6Config.go @@ -129,7 +129,7 @@ func (c *ip6Config) GetPropertyRouteData() ([]IP6RouteData, error) { return routes, err } - for _, routeData := range routesData { + for index, routeData := range routesData { route := IP6RouteData{} @@ -160,11 +160,14 @@ func (c *ip6Config) GetPropertyRouteData() ([]IP6RouteData, error) { } route.Metric = uint8(metric) default: + if route.AdditionalAttributes == nil { + route.AdditionalAttributes = make(map[string]string) + } route.AdditionalAttributes[routeDataAttributeName] = routeDataAttribute.String() } } - - routes = append(routes, route) + + routes[index] = route } return routes, nil }