Commit 60a8b9b75a for qemu.org

commit 60a8b9b75a5b8db61d348c84ec418aa2b7a648bd
Author: Jason Wang <jasowang@redhat.com>
Date:   Mon Dec 29 16:45:40 2025 +0800

    net/filter-buffer: make interval change take effect immediately

    Previously, when the 'interval' property was modified at runtime via
    QMP, the new value would only take effect after the current timer
    period elapsed. This could lead to unexpected behavior when users
    expect immediate changes.

    Fix this by checking if the timer is already running when setting
    the interval property. If so, reschedule the timer with the new
    interval value immediately.

    Reviewed-by: Zhang Chen <zhangckid@gmail.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>

diff --git a/net/filter-buffer.c b/net/filter-buffer.c
index a36be31dc8..427da24097 100644
--- a/net/filter-buffer.c
+++ b/net/filter-buffer.c
@@ -159,6 +159,7 @@ static void filter_buffer_set_interval(Object *obj, Visitor *v,
                                        Error **errp)
 {
     FilterBufferState *s = FILTER_BUFFER(obj);
+    NetFilterState *nf = NETFILTER(obj);
     uint32_t value;

     if (!visit_type_uint32(v, name, &value, errp)) {
@@ -170,6 +171,11 @@ static void filter_buffer_set_interval(Object *obj, Visitor *v,
         return;
     }
     s->interval = value;
+
+    if (nf->netdev && nf->on) {
+        timer_mod(&s->release_timer,
+                  qemu_clock_get_us(QEMU_CLOCK_VIRTUAL) + s->interval);
+    }
 }

 static void filter_buffer_class_init(ObjectClass *oc, const void *data)