mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-11-03 00:06:16 +00:00
taprio: add support for setting txtime_delay.
This adds support for setting the txtime_delay parameter which is useful for the txtime offload mode of taprio. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
ee000bf217
commit
a5e6ee3b34
@ -52,7 +52,7 @@ static void explain(void)
|
||||
" [num_tc NUMBER] [map P0 P1 ...] "
|
||||
" [queues COUNT@OFFSET COUNT@OFFSET COUNT@OFFSET ...] "
|
||||
" [ [sched-entry index cmd gate-mask interval] ... ] "
|
||||
" [base-time time] "
|
||||
" [base-time time] [txtime-delay delay]"
|
||||
"\n"
|
||||
"CLOCKID must be a valid SYS-V id (i.e. CLOCK_TAI)\n");
|
||||
}
|
||||
@ -160,6 +160,7 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc,
|
||||
struct list_head sched_entries;
|
||||
struct rtattr *tail, *l;
|
||||
__u32 taprio_flags = 0;
|
||||
__u32 txtime_delay = 0;
|
||||
__s64 cycle_time = 0;
|
||||
__s64 base_time = 0;
|
||||
int err, idx;
|
||||
@ -293,6 +294,17 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc,
|
||||
return -1;
|
||||
}
|
||||
|
||||
} else if (strcmp(*argv, "txtime-delay") == 0) {
|
||||
NEXT_ARG();
|
||||
if (txtime_delay != 0) {
|
||||
fprintf(stderr, "taprio: duplicate \"txtime-delay\" specification\n");
|
||||
return -1;
|
||||
}
|
||||
if (get_u32(&txtime_delay, *argv, 0)) {
|
||||
PREV_ARG();
|
||||
return -1;
|
||||
}
|
||||
|
||||
} else if (strcmp(*argv, "help") == 0) {
|
||||
explain();
|
||||
return -1;
|
||||
@ -315,6 +327,9 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc,
|
||||
if (opt.num_tc > 0)
|
||||
addattr_l(n, 1024, TCA_TAPRIO_ATTR_PRIOMAP, &opt, sizeof(opt));
|
||||
|
||||
if (txtime_delay)
|
||||
addattr_l(n, 1024, TCA_TAPRIO_ATTR_TXTIME_DELAY, &txtime_delay, sizeof(txtime_delay));
|
||||
|
||||
if (base_time)
|
||||
addattr_l(n, 1024, TCA_TAPRIO_ATTR_SCHED_BASE_TIME, &base_time, sizeof(base_time));
|
||||
|
||||
@ -464,6 +479,13 @@ static int taprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
|
||||
print_0xhex(PRINT_ANY, "flags", " flags %#x", flags);
|
||||
}
|
||||
|
||||
if (tb[TCA_TAPRIO_ATTR_TXTIME_DELAY]) {
|
||||
__u32 txtime_delay;
|
||||
|
||||
txtime_delay = rta_getattr_s32(tb[TCA_TAPRIO_ATTR_TXTIME_DELAY]);
|
||||
print_uint(PRINT_ANY, "txtime_delay", " txtime delay %d", txtime_delay);
|
||||
}
|
||||
|
||||
print_schedule(f, tb);
|
||||
|
||||
if (tb[TCA_TAPRIO_ATTR_ADMIN_SCHED]) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user