diff --git a/home/nipa/nipa_out/946098/ynl/old-code/netdev-user.c b/home/nipa/nipa_out/946098/ynl/new-code/netdev-user.c
index d1b9508ea8a0..236605df3e7e 100644
--- a/home/nipa/nipa_out/946098/ynl/old-code/netdev-user.c
+++ b/home/nipa/nipa_out/946098/ynl/new-code/netdev-user.c
@@ -106,6 +106,19 @@ const char *netdev_qstats_scope_str(enum netdev_qstats_scope value)
 	return netdev_qstats_scope_strmap[value];
 }
 
+static const char * const netdev_napi_threaded_strmap[] = {
+	[0] = "disable",
+	[1] = "enable",
+	[2] = "busy-poll-enable",
+};
+
+const char *netdev_napi_threaded_str(enum netdev_napi_threaded value)
+{
+	if (value < 0 || value >= (int)YNL_ARRAY_SIZE(netdev_napi_threaded_strmap))
+		return NULL;
+	return netdev_napi_threaded_strmap[value];
+}
+
 /* Policies */
 const struct ynl_policy_attr netdev_io_uring_provider_info_policy[NETDEV_A_IO_URING_PROVIDER_INFO_MAX + 1] = {
 };
@@ -216,6 +229,7 @@ const struct ynl_policy_attr netdev_napi_policy[NETDEV_A_NAPI_MAX + 1] = {
 	[NETDEV_A_NAPI_DEFER_HARD_IRQS] = { .name = "defer-hard-irqs", .type = YNL_PT_U32, },
 	[NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT] = { .name = "gro-flush-timeout", .type = YNL_PT_UINT, },
 	[NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT] = { .name = "irq-suspend-timeout", .type = YNL_PT_UINT, },
+	[NETDEV_A_NAPI_THREADED] = { .name = "threaded", .type = YNL_PT_U32, },
 };
 
 const struct ynl_policy_nest netdev_napi_nest = {
@@ -1038,6 +1052,11 @@ int netdev_napi_get_rsp_parse(const struct nlmsghdr *nlh,
 				return YNL_PARSE_CB_ERROR;
 			dst->_present.irq_suspend_timeout = 1;
 			dst->irq_suspend_timeout = ynl_attr_get_uint(attr);
+		} else if (type == NETDEV_A_NAPI_THREADED) {
+			if (ynl_attr_validate(yarg, attr))
+				return YNL_PARSE_CB_ERROR;
+			dst->_present.threaded = 1;
+			dst->threaded = ynl_attr_get_u32(attr);
 		}
 	}
 
@@ -1327,6 +1346,8 @@ int netdev_napi_set(struct ynl_sock *ys, struct netdev_napi_set_req *req)
 		ynl_attr_put_uint(nlh, NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT, req->gro_flush_timeout);
 	if (req->_present.irq_suspend_timeout)
 		ynl_attr_put_uint(nlh, NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT, req->irq_suspend_timeout);
+	if (req->_present.threaded)
+		ynl_attr_put_u32(nlh, NETDEV_A_NAPI_THREADED, req->threaded);
 
 	err = ynl_exec(ys, nlh, &yrs);
 	if (err < 0)
diff --git a/home/nipa/nipa_out/946098/ynl/old-code/netdev-user.h b/home/nipa/nipa_out/946098/ynl/new-code/netdev-user.h
index bb14a9c81982..f3fa5308880b 100644
--- a/home/nipa/nipa_out/946098/ynl/old-code/netdev-user.h
+++ b/home/nipa/nipa_out/946098/ynl/new-code/netdev-user.h
@@ -22,6 +22,7 @@ const char *netdev_xdp_rx_metadata_str(enum netdev_xdp_rx_metadata value);
 const char *netdev_xsk_flags_str(enum netdev_xsk_flags value);
 const char *netdev_queue_type_str(enum netdev_queue_type value);
 const char *netdev_qstats_scope_str(enum netdev_qstats_scope value);
+const char *netdev_napi_threaded_str(enum netdev_napi_threaded value);
 
 /* Common nested types */
 struct netdev_io_uring_provider_info {
@@ -419,6 +420,7 @@ struct netdev_napi_get_rsp {
 		__u32 defer_hard_irqs:1;
 		__u32 gro_flush_timeout:1;
 		__u32 irq_suspend_timeout:1;
+		__u32 threaded:1;
 	} _present;
 
 	__u32 id;
@@ -428,6 +430,7 @@ struct netdev_napi_get_rsp {
 	__u32 defer_hard_irqs;
 	__u64 gro_flush_timeout;
 	__u64 irq_suspend_timeout;
+	enum netdev_napi_threaded threaded;
 };
 
 void netdev_napi_get_rsp_free(struct netdev_napi_get_rsp *rsp);
@@ -603,12 +606,14 @@ struct netdev_napi_set_req {
 		__u32 defer_hard_irqs:1;
 		__u32 gro_flush_timeout:1;
 		__u32 irq_suspend_timeout:1;
+		__u32 threaded:1;
 	} _present;
 
 	__u32 id;
 	__u32 defer_hard_irqs;
 	__u64 gro_flush_timeout;
 	__u64 irq_suspend_timeout;
+	enum netdev_napi_threaded threaded;
 };
 
 static inline struct netdev_napi_set_req *netdev_napi_set_req_alloc(void)
@@ -644,6 +649,13 @@ netdev_napi_set_req_set_irq_suspend_timeout(struct netdev_napi_set_req *req,
 	req->_present.irq_suspend_timeout = 1;
 	req->irq_suspend_timeout = irq_suspend_timeout;
 }
+static inline void
+netdev_napi_set_req_set_threaded(struct netdev_napi_set_req *req,
+				 enum netdev_napi_threaded threaded)
+{
+	req->_present.threaded = 1;
+	req->threaded = threaded;
+}
 
 /*
  * Set configurable NAPI instance settings.