diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2023-01-11 09:13:00 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2023-01-11 09:14:29 -0800 |
commit | 4dc60c0179204e966b9328a323205fbf668d120b (patch) | |
tree | cd0cb708571d6624b38f772642f5fd6cd38e0bc4 /tc | |
parent | e2e81aa20f734bada7ca245ad88ff7a6ae6f2630 (diff) | |
download | iproute2-4dc60c0179204e966b9328a323205fbf668d120b.tar.gz |
tc: remove support for rr qdisc
The Round-Robin qdisc was removed in kernel version 2.6.27.
Remove code and man page references from iproute.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Diffstat (limited to 'tc')
-rw-r--r-- | tc/Makefile | 1 | ||||
-rw-r--r-- | tc/q_rr.c | 119 |
2 files changed, 0 insertions, 120 deletions
diff --git a/tc/Makefile b/tc/Makefile index 5a517af2..98d2ee59 100644 --- a/tc/Makefile +++ b/tc/Makefile @@ -15,7 +15,6 @@ TCMODULES += q_prio.o TCMODULES += q_skbprio.o TCMODULES += q_tbf.o TCMODULES += q_cbq.o -TCMODULES += q_rr.o TCMODULES += q_multiq.o TCMODULES += q_netem.o TCMODULES += q_choke.o diff --git a/tc/q_rr.c b/tc/q_rr.c deleted file mode 100644 index 843a4fae..00000000 --- a/tc/q_rr.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * q_rr.c RR. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - * - * Authors: PJ Waskiewicz, <peter.p.waskiewicz.jr@intel.com> - * Original Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> (from PRIO) - */ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <fcntl.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <string.h> - -#include "utils.h" -#include "tc_util.h" - -static void explain(void) -{ - fprintf(stderr, "Usage: ... rr bands NUMBER priomap P1 P2... [multiqueue]\n"); -} - - -static int rr_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) -{ - int pmap_mode = 0; - int idx = 0; - struct tc_prio_qopt opt = {3, { 1, 2, 2, 2, 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 } }; - struct rtattr *nest; - unsigned char mq = 0; - - while (argc > 0) { - if (strcmp(*argv, "bands") == 0) { - if (pmap_mode) - explain(); - NEXT_ARG(); - if (get_integer(&opt.bands, *argv, 10)) { - fprintf(stderr, "Illegal \"bands\"\n"); - return -1; - } - } else if (strcmp(*argv, "priomap") == 0) { - if (pmap_mode) { - fprintf(stderr, "Error: duplicate priomap\n"); - return -1; - } - pmap_mode = 1; - } else if (strcmp(*argv, "help") == 0) { - explain(); - return -1; - } else if (strcmp(*argv, "multiqueue") == 0) { - mq = 1; - } else { - unsigned int band; - - if (!pmap_mode) { - fprintf(stderr, "What is \"%s\"?\n", *argv); - explain(); - return -1; - } - if (get_unsigned(&band, *argv, 10)) { - fprintf(stderr, "Illegal \"priomap\" element\n"); - return -1; - } - if (band > opt.bands) { - fprintf(stderr, "\"priomap\" element is out of bands\n"); - return -1; - } - if (idx > TC_PRIO_MAX) { - fprintf(stderr, "\"priomap\" index > TC_RR_MAX=%u\n", TC_PRIO_MAX); - return -1; - } - opt.priomap[idx++] = band; - } - argc--; argv++; - } - - nest = addattr_nest_compat(n, 1024, TCA_OPTIONS, &opt, sizeof(opt)); - if (mq) - addattr_l(n, 1024, TCA_PRIO_MQ, NULL, 0); - addattr_nest_compat_end(n, nest); - return 0; -} - -static int rr_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) -{ - int i; - struct tc_prio_qopt *qopt; - struct rtattr *tb[TCA_PRIO_MAX + 1]; - - if (opt == NULL) - return 0; - - if (parse_rtattr_nested_compat(tb, TCA_PRIO_MAX, opt, qopt, - sizeof(*qopt))) - return -1; - - fprintf(f, "bands %u priomap ", qopt->bands); - for (i = 0; i <= TC_PRIO_MAX; i++) - fprintf(f, " %d", qopt->priomap[i]); - - if (tb[TCA_PRIO_MQ]) - fprintf(f, " multiqueue: %s ", - rta_getattr_u8(tb[TCA_PRIO_MQ]) ? "on" : "off"); - - return 0; -} - -struct qdisc_util rr_qdisc_util = { - .id = "rr", - .parse_qopt = rr_parse_opt, - .print_qopt = rr_print_opt, -}; |