diff --git a/VERSION b/VERSION
index 48e7fae..a520544 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.5.3-dev2
+4.5.3-dev3
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index 725acec..3ded77b 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -3664,7 +3664,18 @@
 	return &singleValResp
 }
 
-func (dh *DeviceHandler) setOltOffloadStats(ctx context.Context, congig *extension.AppOffloadConfig) *extension.SingleSetValueResponse {
+func (dh *DeviceHandler) setOltOffload(ctx context.Context, congig *extension.AppOffloadConfig) *extension.SingleSetValueResponse {
+
+	singleValResp := extension.SingleSetValueResponse{
+		Response: &extension.SetValueResponse{
+			Status: extension.SetValueResponse_OK,
+		},
+	}
+
+	return &singleValResp
+}
+
+func (dh *DeviceHandler) setOnuOffload(ctx context.Context, config *extension.AppOffloadOnuConfig) *extension.SingleSetValueResponse {
 
 	singleValResp := extension.SingleSetValueResponse{
 		Response: &extension.SetValueResponse{
diff --git a/internal/pkg/core/openolt.go b/internal/pkg/core/openolt.go
index ec47cd0..88e3efe 100644
--- a/internal/pkg/core/openolt.go
+++ b/internal/pkg/core/openolt.go
@@ -455,7 +455,9 @@
 	if handler := oo.getDeviceHandler(request.TargetId); handler != nil {
 		switch reqType := request.GetRequest().GetRequest().(type) {
 		case *extension.SetValueRequest_AppOffloadConfig:
-			return handler.setOltOffloadStats(ctx, reqType.AppOffloadConfig), nil
+			return handler.setOltOffload(ctx, reqType.AppOffloadConfig), nil
+		case *extension.SetValueRequest_AppOffloadOnuConfig:
+			return handler.setOnuOffload(ctx, reqType.AppOffloadOnuConfig), nil
 		default:
 			return errResp(extension.SetValueResponse_ERROR, extension.SetValueResponse_UNSUPPORTED), nil
 		}
