diff --git a/home/nipa/nipa_out/933717/ynl/old-code/devlink-user.c b/home/nipa/nipa_out/933717/ynl/new-code/devlink-user.c
index 47c8c4cdca1b..c02ff54cf8eb 100644
--- a/home/nipa/nipa_out/933717/ynl/old-code/devlink-user.c
+++ b/home/nipa/nipa_out/933717/ynl/new-code/devlink-user.c
@@ -880,6 +880,8 @@ const struct ynl_policy_attr devlink_policy[DEVLINK_ATTR_MAX + 1] = {
 	[DEVLINK_ATTR_RATE_TX_PRIORITY] = { .name = "rate-tx-priority", .type = YNL_PT_U32, },
 	[DEVLINK_ATTR_RATE_TX_WEIGHT] = { .name = "rate-tx-weight", .type = YNL_PT_U32, },
 	[DEVLINK_ATTR_REGION_DIRECT] = { .name = "region-direct", .type = YNL_PT_FLAG, },
+	[DEVLINK_ATTR_PARENT_DEV_BUS_NAME] = { .name = "parent-dev-bus-name", .type = YNL_PT_NUL_STR, },
+	[DEVLINK_ATTR_PARENT_DEV_NAME] = { .name = "parent-dev-name", .type = YNL_PT_NUL_STR, },
 };
 
 const struct ynl_policy_nest devlink_nest = {
@@ -6747,6 +6749,8 @@ void devlink_rate_set_req_free(struct devlink_rate_set_req *req)
 	free(req->dev_name);
 	free(req->rate_node_name);
 	free(req->rate_parent_node_name);
+	free(req->parent_dev_bus_name);
+	free(req->parent_dev_name);
 	free(req);
 }
 
@@ -6775,6 +6779,10 @@ int devlink_rate_set(struct ynl_sock *ys, struct devlink_rate_set_req *req)
 		ynl_attr_put_u32(nlh, DEVLINK_ATTR_RATE_TX_WEIGHT, req->rate_tx_weight);
 	if (req->_present.rate_parent_node_name_len)
 		ynl_attr_put_str(nlh, DEVLINK_ATTR_RATE_PARENT_NODE_NAME, req->rate_parent_node_name);
+	if (req->_present.parent_dev_bus_name_len)
+		ynl_attr_put_str(nlh, DEVLINK_ATTR_PARENT_DEV_BUS_NAME, req->parent_dev_bus_name);
+	if (req->_present.parent_dev_name_len)
+		ynl_attr_put_str(nlh, DEVLINK_ATTR_PARENT_DEV_NAME, req->parent_dev_name);
 
 	err = ynl_exec(ys, nlh, &yrs);
 	if (err < 0)
@@ -6791,6 +6799,8 @@ void devlink_rate_new_req_free(struct devlink_rate_new_req *req)
 	free(req->dev_name);
 	free(req->rate_node_name);
 	free(req->rate_parent_node_name);
+	free(req->parent_dev_bus_name);
+	free(req->parent_dev_name);
 	free(req);
 }
 
@@ -6819,6 +6829,10 @@ int devlink_rate_new(struct ynl_sock *ys, struct devlink_rate_new_req *req)
 		ynl_attr_put_u32(nlh, DEVLINK_ATTR_RATE_TX_WEIGHT, req->rate_tx_weight);
 	if (req->_present.rate_parent_node_name_len)
 		ynl_attr_put_str(nlh, DEVLINK_ATTR_RATE_PARENT_NODE_NAME, req->rate_parent_node_name);
+	if (req->_present.parent_dev_bus_name_len)
+		ynl_attr_put_str(nlh, DEVLINK_ATTR_PARENT_DEV_BUS_NAME, req->parent_dev_bus_name);
+	if (req->_present.parent_dev_name_len)
+		ynl_attr_put_str(nlh, DEVLINK_ATTR_PARENT_DEV_NAME, req->parent_dev_name);
 
 	err = ynl_exec(ys, nlh, &yrs);
 	if (err < 0)
diff --git a/home/nipa/nipa_out/933717/ynl/old-code/devlink-user.h b/home/nipa/nipa_out/933717/ynl/new-code/devlink-user.h
index e08ff699a3c0..d5be94764515 100644
--- a/home/nipa/nipa_out/933717/ynl/old-code/devlink-user.h
+++ b/home/nipa/nipa_out/933717/ynl/new-code/devlink-user.h
@@ -4789,6 +4789,8 @@ struct devlink_rate_set_req {
 		__u32 rate_tx_priority:1;
 		__u32 rate_tx_weight:1;
 		__u32 rate_parent_node_name_len;
+		__u32 parent_dev_bus_name_len;
+		__u32 parent_dev_name_len;
 	} _present;
 
 	char *bus_name;
@@ -4799,6 +4801,8 @@ struct devlink_rate_set_req {
 	__u32 rate_tx_priority;
 	__u32 rate_tx_weight;
 	char *rate_parent_node_name;
+	char *parent_dev_bus_name;
+	char *parent_dev_name;
 };
 
 static inline struct devlink_rate_set_req *devlink_rate_set_req_alloc(void)
@@ -4875,6 +4879,26 @@ devlink_rate_set_req_set_rate_parent_node_name(struct devlink_rate_set_req *req,
 	memcpy(req->rate_parent_node_name, rate_parent_node_name, req->_present.rate_parent_node_name_len);
 	req->rate_parent_node_name[req->_present.rate_parent_node_name_len] = 0;
 }
+static inline void
+devlink_rate_set_req_set_parent_dev_bus_name(struct devlink_rate_set_req *req,
+					     const char *parent_dev_bus_name)
+{
+	free(req->parent_dev_bus_name);
+	req->_present.parent_dev_bus_name_len = strlen(parent_dev_bus_name);
+	req->parent_dev_bus_name = malloc(req->_present.parent_dev_bus_name_len + 1);
+	memcpy(req->parent_dev_bus_name, parent_dev_bus_name, req->_present.parent_dev_bus_name_len);
+	req->parent_dev_bus_name[req->_present.parent_dev_bus_name_len] = 0;
+}
+static inline void
+devlink_rate_set_req_set_parent_dev_name(struct devlink_rate_set_req *req,
+					 const char *parent_dev_name)
+{
+	free(req->parent_dev_name);
+	req->_present.parent_dev_name_len = strlen(parent_dev_name);
+	req->parent_dev_name = malloc(req->_present.parent_dev_name_len + 1);
+	memcpy(req->parent_dev_name, parent_dev_name, req->_present.parent_dev_name_len);
+	req->parent_dev_name[req->_present.parent_dev_name_len] = 0;
+}
 
 /*
  * Set rate instances.
@@ -4893,6 +4917,8 @@ struct devlink_rate_new_req {
 		__u32 rate_tx_priority:1;
 		__u32 rate_tx_weight:1;
 		__u32 rate_parent_node_name_len;
+		__u32 parent_dev_bus_name_len;
+		__u32 parent_dev_name_len;
 	} _present;
 
 	char *bus_name;
@@ -4903,6 +4929,8 @@ struct devlink_rate_new_req {
 	__u32 rate_tx_priority;
 	__u32 rate_tx_weight;
 	char *rate_parent_node_name;
+	char *parent_dev_bus_name;
+	char *parent_dev_name;
 };
 
 static inline struct devlink_rate_new_req *devlink_rate_new_req_alloc(void)
@@ -4979,6 +5007,26 @@ devlink_rate_new_req_set_rate_parent_node_name(struct devlink_rate_new_req *req,
 	memcpy(req->rate_parent_node_name, rate_parent_node_name, req->_present.rate_parent_node_name_len);
 	req->rate_parent_node_name[req->_present.rate_parent_node_name_len] = 0;
 }
+static inline void
+devlink_rate_new_req_set_parent_dev_bus_name(struct devlink_rate_new_req *req,
+					     const char *parent_dev_bus_name)
+{
+	free(req->parent_dev_bus_name);
+	req->_present.parent_dev_bus_name_len = strlen(parent_dev_bus_name);
+	req->parent_dev_bus_name = malloc(req->_present.parent_dev_bus_name_len + 1);
+	memcpy(req->parent_dev_bus_name, parent_dev_bus_name, req->_present.parent_dev_bus_name_len);
+	req->parent_dev_bus_name[req->_present.parent_dev_bus_name_len] = 0;
+}
+static inline void
+devlink_rate_new_req_set_parent_dev_name(struct devlink_rate_new_req *req,
+					 const char *parent_dev_name)
+{
+	free(req->parent_dev_name);
+	req->_present.parent_dev_name_len = strlen(parent_dev_name);
+	req->parent_dev_name = malloc(req->_present.parent_dev_name_len + 1);
+	memcpy(req->parent_dev_name, parent_dev_name, req->_present.parent_dev_name_len);
+	req->parent_dev_name[req->_present.parent_dev_name_len] = 0;
+}
 
 /*
  * Create rate instances.