diff --git a/home/nipa/nipa_out/930771/ynl/old-code/ethtool-user.c b/home/nipa/nipa_out/930771/ynl/new-code/ethtool-user.c
index e6a9dea635e2..dd23ea6dbe1e 100644
--- a/home/nipa/nipa_out/930771/ynl/old-code/ethtool-user.c
+++ b/home/nipa/nipa_out/930771/ynl/new-code/ethtool-user.c
@@ -907,7 +907,7 @@ const struct ynl_policy_attr ethtool_tsconfig_policy[ETHTOOL_A_TSCONFIG_MAX + 1]
 	[ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER] = { .name = "hwtstamp-provider", .type = YNL_PT_NEST, .nest = &ethtool_ts_hwtstamp_provider_nest, },
 	[ETHTOOL_A_TSCONFIG_TX_TYPES] = { .name = "tx-types", .type = YNL_PT_NEST, .nest = &ethtool_bitset_nest, },
 	[ETHTOOL_A_TSCONFIG_RX_FILTERS] = { .name = "rx-filters", .type = YNL_PT_NEST, .nest = &ethtool_bitset_nest, },
-	[ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS] = { .name = "hwtstamp-flags", .type = YNL_PT_U32, },
+	[ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS] = { .name = "hwtstamp-flags", .type = YNL_PT_NEST, .nest = &ethtool_bitset_nest, },
 };
 
 const struct ynl_policy_nest ethtool_tsconfig_nest = {
@@ -7270,6 +7270,7 @@ void ethtool_tsconfig_get_rsp_free(struct ethtool_tsconfig_get_rsp *rsp)
 	ethtool_ts_hwtstamp_provider_free(&rsp->hwtstamp_provider);
 	ethtool_bitset_free(&rsp->tx_types);
 	ethtool_bitset_free(&rsp->rx_filters);
+	ethtool_bitset_free(&rsp->hwtstamp_flags);
 	free(rsp);
 }
 
@@ -7326,7 +7327,11 @@ int ethtool_tsconfig_get_rsp_parse(const struct nlmsghdr *nlh,
 			if (ynl_attr_validate(yarg, attr))
 				return YNL_PARSE_CB_ERROR;
 			dst->_present.hwtstamp_flags = 1;
-			dst->hwtstamp_flags = ynl_attr_get_u32(attr);
+
+			parg.rsp_policy = &ethtool_bitset_nest;
+			parg.data = &dst->hwtstamp_flags;
+			if (ethtool_bitset_parse(&parg, attr))
+				return YNL_PARSE_CB_ERROR;
 		}
 	}
 
@@ -7384,6 +7389,7 @@ void ethtool_tsconfig_get_list_free(struct ethtool_tsconfig_get_list *rsp)
 		ethtool_ts_hwtstamp_provider_free(&rsp->obj.hwtstamp_provider);
 		ethtool_bitset_free(&rsp->obj.tx_types);
 		ethtool_bitset_free(&rsp->obj.rx_filters);
+		ethtool_bitset_free(&rsp->obj.hwtstamp_flags);
 		free(rsp);
 	}
 }
@@ -7428,6 +7434,7 @@ void ethtool_tsconfig_set_req_free(struct ethtool_tsconfig_set_req *req)
 	ethtool_ts_hwtstamp_provider_free(&req->hwtstamp_provider);
 	ethtool_bitset_free(&req->tx_types);
 	ethtool_bitset_free(&req->rx_filters);
+	ethtool_bitset_free(&req->hwtstamp_flags);
 	free(req);
 }
 
@@ -7437,6 +7444,7 @@ void ethtool_tsconfig_set_rsp_free(struct ethtool_tsconfig_set_rsp *rsp)
 	ethtool_ts_hwtstamp_provider_free(&rsp->hwtstamp_provider);
 	ethtool_bitset_free(&rsp->tx_types);
 	ethtool_bitset_free(&rsp->rx_filters);
+	ethtool_bitset_free(&rsp->hwtstamp_flags);
 	free(rsp);
 }
 
@@ -7493,7 +7501,11 @@ int ethtool_tsconfig_set_rsp_parse(const struct nlmsghdr *nlh,
 			if (ynl_attr_validate(yarg, attr))
 				return YNL_PARSE_CB_ERROR;
 			dst->_present.hwtstamp_flags = 1;
-			dst->hwtstamp_flags = ynl_attr_get_u32(attr);
+
+			parg.rsp_policy = &ethtool_bitset_nest;
+			parg.data = &dst->hwtstamp_flags;
+			if (ethtool_bitset_parse(&parg, attr))
+				return YNL_PARSE_CB_ERROR;
 		}
 	}
 
@@ -7521,7 +7533,7 @@ ethtool_tsconfig_set(struct ynl_sock *ys, struct ethtool_tsconfig_set_req *req)
 	if (req->_present.rx_filters)
 		ethtool_bitset_put(nlh, ETHTOOL_A_TSCONFIG_RX_FILTERS, &req->rx_filters);
 	if (req->_present.hwtstamp_flags)
-		ynl_attr_put_u32(nlh, ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS, req->hwtstamp_flags);
+		ethtool_bitset_put(nlh, ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS, &req->hwtstamp_flags);
 
 	rsp = calloc(1, sizeof(*rsp));
 	yrs.yarg.data = rsp;
diff --git a/home/nipa/nipa_out/930771/ynl/old-code/ethtool-user.h b/home/nipa/nipa_out/930771/ynl/new-code/ethtool-user.h
index 8f4448fd4ddd..a1f62ee5bdac 100644
--- a/home/nipa/nipa_out/930771/ynl/old-code/ethtool-user.h
+++ b/home/nipa/nipa_out/930771/ynl/new-code/ethtool-user.h
@@ -6849,7 +6849,7 @@ struct ethtool_tsconfig_get_rsp {
 	struct ethtool_ts_hwtstamp_provider hwtstamp_provider;
 	struct ethtool_bitset tx_types;
 	struct ethtool_bitset rx_filters;
-	__u32 hwtstamp_flags;
+	struct ethtool_bitset hwtstamp_flags;
 };
 
 void ethtool_tsconfig_get_rsp_free(struct ethtool_tsconfig_get_rsp *rsp);
@@ -6939,7 +6939,7 @@ struct ethtool_tsconfig_set_req {
 	struct ethtool_ts_hwtstamp_provider hwtstamp_provider;
 	struct ethtool_bitset tx_types;
 	struct ethtool_bitset rx_filters;
-	__u32 hwtstamp_flags;
+	struct ethtool_bitset hwtstamp_flags;
 };
 
 static inline struct ethtool_tsconfig_set_req *
@@ -7091,11 +7091,50 @@ ethtool_tsconfig_set_req_set_rx_filters_mask(struct ethtool_tsconfig_set_req *re
 	memcpy(req->rx_filters.mask, mask, req->rx_filters._present.mask_len);
 }
 static inline void
-ethtool_tsconfig_set_req_set_hwtstamp_flags(struct ethtool_tsconfig_set_req *req,
-					    __u32 hwtstamp_flags)
+ethtool_tsconfig_set_req_set_hwtstamp_flags_nomask(struct ethtool_tsconfig_set_req *req)
 {
 	req->_present.hwtstamp_flags = 1;
-	req->hwtstamp_flags = hwtstamp_flags;
+	req->hwtstamp_flags._present.nomask = 1;
+}
+static inline void
+ethtool_tsconfig_set_req_set_hwtstamp_flags_size(struct ethtool_tsconfig_set_req *req,
+						 __u32 size)
+{
+	req->_present.hwtstamp_flags = 1;
+	req->hwtstamp_flags._present.size = 1;
+	req->hwtstamp_flags.size = size;
+}
+static inline void
+__ethtool_tsconfig_set_req_set_hwtstamp_flags_bits_bit(struct ethtool_tsconfig_set_req *req,
+						       struct ethtool_bitset_bit *bit,
+						       unsigned int n_bit)
+{
+	req->_present.hwtstamp_flags = 1;
+	req->hwtstamp_flags._present.bits = 1;
+	free(req->hwtstamp_flags.bits.bit);
+	req->hwtstamp_flags.bits.bit = bit;
+	req->hwtstamp_flags.bits.n_bit = n_bit;
+}
+static inline void
+ethtool_tsconfig_set_req_set_hwtstamp_flags_value(struct ethtool_tsconfig_set_req *req,
+						  const void *value,
+						  size_t len)
+{
+	req->_present.hwtstamp_flags = 1;
+	free(req->hwtstamp_flags.value);
+	req->hwtstamp_flags._present.value_len = len;
+	req->hwtstamp_flags.value = malloc(req->hwtstamp_flags._present.value_len);
+	memcpy(req->hwtstamp_flags.value, value, req->hwtstamp_flags._present.value_len);
+}
+static inline void
+ethtool_tsconfig_set_req_set_hwtstamp_flags_mask(struct ethtool_tsconfig_set_req *req,
+						 const void *mask, size_t len)
+{
+	req->_present.hwtstamp_flags = 1;
+	free(req->hwtstamp_flags.mask);
+	req->hwtstamp_flags._present.mask_len = len;
+	req->hwtstamp_flags.mask = malloc(req->hwtstamp_flags._present.mask_len);
+	memcpy(req->hwtstamp_flags.mask, mask, req->hwtstamp_flags._present.mask_len);
 }
 
 struct ethtool_tsconfig_set_rsp {
@@ -7111,7 +7150,7 @@ struct ethtool_tsconfig_set_rsp {
 	struct ethtool_ts_hwtstamp_provider hwtstamp_provider;
 	struct ethtool_bitset tx_types;
 	struct ethtool_bitset rx_filters;
-	__u32 hwtstamp_flags;
+	struct ethtool_bitset hwtstamp_flags;
 };
 
 void ethtool_tsconfig_set_rsp_free(struct ethtool_tsconfig_set_rsp *rsp);