From e6e6c11c78a341dab682aacbf8577e3fb234223e Mon Sep 17 00:00:00 2001
From: Pim van Pelt <pim@ipng.nl>
Date: Tue, 8 Mar 2022 13:50:37 +0000
Subject: [PATCH] Only signal NL_EVENT_READ once per read cycle, not once per
 netlink message - from https://gerrit.fd.io/r/c/vpp/+/35525

---
 lcpng_netlink.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lcpng_netlink.c b/lcpng_netlink.c
index 0b46d27..db4e1e2 100644
--- a/lcpng_netlink.c
+++ b/lcpng_netlink.c
@@ -382,10 +382,6 @@ lcp_nl_callback (struct nl_msg *msg, void *arg)
   msg_info->msg = msg;
   nlmsg_get (msg);
 
-  /* notify process node */
-  vlib_process_signal_event (vlib_get_main (), lcp_nl_process_node.index,
-			     NL_EVENT_READ, 0);
-
   return 0;
 }
 
@@ -466,6 +462,13 @@ lcp_nl_read_cb (clib_file_t *f)
       vlib_process_signal_event (vlib_get_main (), lcp_nl_process_node.index,
 				 NL_EVENT_READ_ERR, 0);
     }
+  else
+    {
+      /* notify process node */
+      vlib_process_signal_event (vlib_get_main (), lcp_nl_process_node.index,
+				 NL_EVENT_READ, 0);
+    }
+
   return 0;
 }