All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] net/filter-buffer: make interval change take effect immediately
@ 2025-12-25  7:24 Jason Wang
  2025-12-25  7:24 ` [PATCH 2/2] tests/qtest: add test for filter-buffer interval change Jason Wang
  2025-12-25  9:56 ` [PATCH 1/2] net/filter-buffer: make interval change take effect immediately Zhang Chen
  0 siblings, 2 replies; 13+ messages in thread
From: Jason Wang @ 2025-12-25  7:24 UTC (permalink / raw)
  To: jasowang, zhangckid, lizhijian; +Cc: qemu-devel, lulu

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.

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 net/filter-buffer.c | 6 ++++++
 1 file changed, 6 insertions(+)

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)
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-12-29  3:01 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-25  7:24 [PATCH 1/2] net/filter-buffer: make interval change take effect immediately Jason Wang
2025-12-25  7:24 ` [PATCH 2/2] tests/qtest: add test for filter-buffer interval change Jason Wang
2025-12-25 10:26   ` Zhang Chen
2025-12-26  1:36     ` Jason Wang
2025-12-26  3:14       ` Zhang Chen
2025-12-26  6:26         ` Jason Wang
2025-12-26  6:29           ` Jason Wang
2025-12-26  7:18             ` Zhang Chen
2025-12-26  7:28               ` Jason Wang
2025-12-26  7:50                 ` Zhang Chen
2025-12-26 20:59   ` Fabiano Rosas
2025-12-29  3:00     ` Jason Wang
2025-12-25  9:56 ` [PATCH 1/2] net/filter-buffer: make interval change take effect immediately Zhang Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.