diff --git a/tmp/ynl_build-tmp.VvMYLL/old-code/tc-user.c b/tmp/ynl_build-tmp.VvMYLL/new-code/tc-user.c index 346e542f6814..5ad2dcb83812 100644 --- a/tmp/ynl_build-tmp.VvMYLL/old-code/tc-user.c +++ b/tmp/ynl_build-tmp.VvMYLL/new-code/tc-user.c @@ -911,6 +911,7 @@ const struct ynl_policy_attr tc_cake_stats_attrs_policy[TCA_CAKE_STATS_MAX + 1] [TCA_CAKE_STATS_DROP_NEXT_US] = { .name = "drop-next-us", .type = YNL_PT_U32, }, [TCA_CAKE_STATS_P_DROP] = { .name = "p-drop", .type = YNL_PT_U32, }, [TCA_CAKE_STATS_BLUE_TIMER_US] = { .name = "blue-timer-us", .type = YNL_PT_U32, }, + [TCA_CAKE_STATS_ACTIVE_QUEUES] = { .name = "active-queues", .type = YNL_PT_U32, }, }; const struct ynl_policy_nest tc_cake_stats_attrs_nest = { @@ -6209,6 +6210,8 @@ int tc_cake_stats_attrs_put(struct nlmsghdr *nlh, unsigned int attr_type, ynl_attr_put_u32(nlh, TCA_CAKE_STATS_P_DROP, obj->p_drop); if (obj->_present.blue_timer_us) ynl_attr_put_s32(nlh, TCA_CAKE_STATS_BLUE_TIMER_US, obj->blue_timer_us); + if (obj->_present.active_queues) + ynl_attr_put_u32(nlh, TCA_CAKE_STATS_ACTIVE_QUEUES, obj->active_queues); ynl_attr_nest_end(nlh, nest); return 0; @@ -6310,6 +6313,11 @@ int tc_cake_stats_attrs_parse(struct ynl_parse_arg *yarg, return YNL_PARSE_CB_ERROR; dst->_present.blue_timer_us = 1; dst->blue_timer_us = ynl_attr_get_s32(attr); + } else if (type == TCA_CAKE_STATS_ACTIVE_QUEUES) { + if (ynl_attr_validate(yarg, attr)) + return YNL_PARSE_CB_ERROR; + dst->_present.active_queues = 1; + dst->active_queues = ynl_attr_get_u32(attr); } } diff --git a/tmp/ynl_build-tmp.VvMYLL/old-code/tc-user.h b/tmp/ynl_build-tmp.VvMYLL/new-code/tc-user.h index 98cba81cb39d..78fba6dbe157 100644 --- a/tmp/ynl_build-tmp.VvMYLL/old-code/tc-user.h +++ b/tmp/ynl_build-tmp.VvMYLL/new-code/tc-user.h @@ -1379,6 +1379,7 @@ struct tc_cake_stats_attrs { __u32 drop_next_us:1; __u32 p_drop:1; __u32 blue_timer_us:1; + __u32 active_queues:1; } _present; struct { __u32 tin_stats; @@ -1399,6 +1400,7 @@ struct tc_cake_stats_attrs { __s32 drop_next_us; __u32 p_drop; __s32 blue_timer_us; + __u32 active_queues; }; struct tc_flower_key_enc_opts_attrs { @@ -3057,6 +3059,16 @@ tc_act_attrs_set_stats_app_cake_blue_timer_us(struct tc_act_attrs *obj, obj->stats.app.cake.blue_timer_us = blue_timer_us; } static inline void +tc_act_attrs_set_stats_app_cake_active_queues(struct tc_act_attrs *obj, + __u32 active_queues) +{ + obj->_present.stats = 1; + obj->stats._present.app = 1; + obj->stats.app._present.cake = 1; + obj->stats.app.cake._present.active_queues = 1; + obj->stats.app.cake.active_queues = active_queues; +} +static inline void tc_act_attrs_set_stats_app_choke(struct tc_act_attrs *obj, const void *choke, size_t len) {