unetd: cli: fix editing service config attributes
authorFelix Fietkau <nbd@nbd.name>
Tue, 11 Mar 2025 11:46:25 +0000 (12:46 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 11 Mar 2025 12:45:05 +0000 (13:45 +0100)
They must be set on the config object instead of the main service object

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/unetd/files/unet.uc

index 023ea3e6b8c149a8994a2e1df17e5ca02446375a..06437c282c9e569fdb855a34fa18d2ff1197cf49 100644 (file)
@@ -937,6 +937,12 @@ function is_vxlan_service(ctx, argv, named, spec)
        return type == "vxlan";
 }
 
+function get_config_object(ctx, spec, obj, argv)
+{
+       obj.config ??= {};
+       return obj.config;
+}
+
 const service_editor = {
        change_cb: function(ctx, argv) {
                ctx.data.netdata.changed = true;
@@ -964,6 +970,7 @@ const service_editor = {
                        help: "VXLAN ID",
                        attribute: "id",
                        available: is_vxlan_service,
+                       get_object: get_config_object,
                        args: {
                                type: "int",
                                min: 0,
@@ -974,6 +981,7 @@ const service_editor = {
                        help: "VXLAN port",
                        attribute: "port",
                        available: is_vxlan_service,
+                       get_object: get_config_object,
                        args: {
                                type: "int",
                                min: 1,
@@ -984,6 +992,7 @@ const service_editor = {
                        help: "VXLAN tunnel MTU",
                        attribute: "mtu",
                        available: is_vxlan_service,
+                       get_object: get_config_object,
                        args: {
                                type: "int",
                                min: 1280,
@@ -994,6 +1003,7 @@ const service_editor = {
                        help: "Member allowed to receive broad-/multicast and unknown unicast",
                        attribute: "forward_ports",
                        available: is_vxlan_service,
+                       get_object: get_config_object,
                        multiple: true,
                        args: {
                                type: "enum",