]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
tc: make qdisc_util arg const
authorStephen Hemminger <stephen@networkplumber.org>
Mon, 11 Mar 2024 23:08:34 +0000 (16:08 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 12 Mar 2024 22:11:43 +0000 (15:11 -0700)
The callbacks in qdisc_util should not be modifying underlying
qdisc operations structure.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
34 files changed:
tc/q_cake.c
tc/q_cbs.c
tc/q_choke.c
tc/q_clsact.c
tc/q_codel.c
tc/q_drr.c
tc/q_etf.c
tc/q_ets.c
tc/q_fifo.c
tc/q_fq.c
tc/q_fq_codel.c
tc/q_fq_pie.c
tc/q_gred.c
tc/q_hfsc.c
tc/q_hhf.c
tc/q_htb.c
tc/q_ingress.c
tc/q_mqprio.c
tc/q_multiq.c
tc/q_netem.c
tc/q_pie.c
tc/q_plug.c
tc/q_prio.c
tc/q_qfq.c
tc/q_red.c
tc/q_sfb.c
tc/q_sfq.c
tc/q_skbprio.c
tc/q_taprio.c
tc/q_tbf.c
tc/tc.c
tc/tc_class.c
tc/tc_qdisc.c
tc/tc_util.h

index c438b765ec56ec2121bc9c63347b1bebcc79c2c3..e2b8de55e5a27d6d64e09872ede53ba0ed661eee 100644 (file)
@@ -88,7 +88,7 @@ static void explain(void)
                "                (* marks defaults)\n");
 }
 
-static int cake_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int cake_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                          struct nlmsghdr *n, const char *dev)
 {
        struct cake_preset *preset, *preset_set = NULL;
@@ -415,7 +415,7 @@ static void cake_print_mode(unsigned int value, unsigned int max,
        }
 }
 
-static int cake_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int cake_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_CAKE_MAX + 1];
        unsigned int interval = 0;
@@ -614,7 +614,7 @@ static void cake_print_json_tin(struct rtattr **tstat)
 #undef PRINT_TSTAT_JSON
 }
 
-static int cake_print_xstats(struct qdisc_util *qu, FILE *f,
+static int cake_print_xstats(const struct qdisc_util *qu, FILE *f,
                             struct rtattr *xstats)
 {
        struct rtattr *st[TCA_CAKE_STATS_MAX + 1];
index 788535c6a022a494dedb13701ae6f4112fc251f8..5adfee7f2505747ac5b76e9d59a4d17f35ffd3d6 100644 (file)
@@ -29,7 +29,7 @@ static void explain1(const char *arg, const char *val)
        fprintf(stderr, "cbs: illegal value for \"%s\": \"%s\"\n", arg, val);
 }
 
-static int cbs_parse_opt(struct qdisc_util *qu, int argc,
+static int cbs_parse_opt(const struct qdisc_util *qu, int argc,
                         char **argv, struct nlmsghdr *n, const char *dev)
 {
        struct tc_cbs_qopt opt = {};
@@ -103,7 +103,7 @@ static int cbs_parse_opt(struct qdisc_util *qu, int argc,
        return 0;
 }
 
-static int cbs_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int cbs_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_CBS_MAX+1];
        struct tc_cbs_qopt *qopt;
index 7653eb7ef9c869ba02d52e459694af6d50f92db0..a16f5f680a46e05e425bbe15573eeff46e2edc86 100644 (file)
@@ -27,7 +27,7 @@ static void explain(void)
                "                [ min PACKETS ] [ max PACKETS ] [ burst PACKETS ]\n");
 }
 
-static int choke_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int choke_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                           struct nlmsghdr *n, const char *dev)
 {
        struct tc_red_qopt opt = {};
@@ -162,7 +162,7 @@ static int choke_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int choke_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int choke_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_CHOKE_MAX+1];
        const struct tc_red_qopt *qopt;
@@ -203,7 +203,7 @@ static int choke_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int choke_print_xstats(struct qdisc_util *qu, FILE *f,
+static int choke_print_xstats(const struct qdisc_util *qu, FILE *f,
                              struct rtattr *xstats)
 {
        struct tc_choke_xstats *st;
index 341f653f60b13cc95f6efcc69143dcd1da730d41..5bd9eb20ed0df819ab1ccc531411d197dddc99e9 100644 (file)
@@ -10,7 +10,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... clsact\n");
 }
 
-static int clsact_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int clsact_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                            struct nlmsghdr *n, const char *dev)
 {
        if (argc > 0) {
@@ -22,7 +22,7 @@ static int clsact_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int clsact_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int clsact_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        return 0;
 }
index 03b6f92f117c254b55d6810f2fe451955fb286bf..15029b4cf5d1f87b01dc366104f7a123e3afdbfd 100644 (file)
@@ -28,7 +28,7 @@ static void explain(void)
                "                [ ce_threshold TIME ]\n");
 }
 
-static int codel_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int codel_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                           struct nlmsghdr *n, const char *dev)
 {
        unsigned int limit = 0;
@@ -95,7 +95,7 @@ static int codel_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int codel_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_CODEL_MAX + 1];
        unsigned int limit;
@@ -147,7 +147,7 @@ static int codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int codel_print_xstats(struct qdisc_util *qu, FILE *f,
+static int codel_print_xstats(const struct qdisc_util *qu, FILE *f,
                              struct rtattr *xstats)
 {
        struct tc_codel_xstats _st = {}, *st;
index 03c4744f6f26f4ab90fdbe517a1c3ebfd918ec44..add684d551f85a9519ba01ed08a64f049e9a7ca2 100644 (file)
@@ -28,7 +28,7 @@ static void explain2(void)
 }
 
 
-static int drr_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int drr_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        while (argc) {
@@ -44,7 +44,7 @@ static int drr_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int drr_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
+static int drr_parse_class_opt(const struct qdisc_util *qu, int argc, char **argv,
                               struct nlmsghdr *n, const char *dev)
 {
        struct rtattr *tail;
@@ -75,7 +75,7 @@ static int drr_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int drr_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int drr_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_DRR_MAX + 1];
 
@@ -90,7 +90,7 @@ static int drr_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int drr_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
+static int drr_print_xstats(const struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
 {
        struct tc_drr_stats *x;
 
index d16188daabbdc757054574ab985bf037b929c276..4e89f723428b003b73929c10b708c2ed7728438d 100644 (file)
@@ -39,7 +39,7 @@ static void explain_clockid(const char *val)
                val);
 }
 
-static int etf_parse_opt(struct qdisc_util *qu, int argc,
+static int etf_parse_opt(const struct qdisc_util *qu, int argc,
                         char **argv, struct nlmsghdr *n, const char *dev)
 {
        struct tc_etf_qopt opt = {
@@ -107,7 +107,7 @@ static int etf_parse_opt(struct qdisc_util *qu, int argc,
        return 0;
 }
 
-static int etf_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int etf_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_ETF_MAX+1];
        struct tc_etf_qopt *qopt;
index 7380bb2f08b06b4db864e816c4b6b340f068fe34..dea5f04465017bfc6330f90bad41751f6cc296ea 100644 (file)
@@ -57,7 +57,7 @@ static int parse_nbands(const char *arg, __u8 *pnbands, const char *what)
        return 0;
 }
 
-static int ets_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int ets_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        __u8 nbands = 0;
@@ -182,7 +182,7 @@ parse_priomap:
        return 0;
 }
 
-static int ets_parse_copt(struct qdisc_util *qu, int argc, char **argv,
+static int ets_parse_copt(const struct qdisc_util *qu, int argc, char **argv,
                          struct nlmsghdr *n, const char *dev)
 {
        unsigned int quantum = 0;
@@ -276,7 +276,7 @@ static int ets_print_opt_priomap(struct rtattr *opt)
        return 0;
 }
 
-static int ets_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int ets_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_ETS_MAX + 1];
        __u8 nbands;
@@ -310,7 +310,7 @@ static int ets_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return ets_print_opt_priomap(tb[TCA_ETS_PRIOMAP]);
 }
 
-static int ets_print_copt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int ets_print_copt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_ETS_MAX + 1];
        __u32 quantum;
index 9b2c5348d3753f69b3b0668746df5405a63def55..489208dcf74f6544cc06918fc53c2742faa10c3f 100644 (file)
@@ -22,7 +22,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... <[p|b]fifo | pfifo_head_drop> [ limit NUMBER ]\n");
 }
 
-static int fifo_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int fifo_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                          struct nlmsghdr *n, const char *dev)
 {
        int ok = 0;
@@ -52,7 +52,7 @@ static int fifo_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int fifo_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int fifo_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct tc_fifo_qopt *qopt;
 
index 7f8a2b80d441857ecadc19ea77545092b7f4f02f..f549be20f19f474acbc6c609bd99dbe543df48de 100644 (file)
--- a/tc/q_fq.c
+++ b/tc/q_fq.c
@@ -47,7 +47,7 @@ static unsigned int ilog2(unsigned int val)
        return res;
 }
 
-static int fq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int fq_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                        struct nlmsghdr *n, const char *dev)
 {
        struct tc_prio_qopt prio2band;
@@ -337,7 +337,7 @@ static int fq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int fq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int fq_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_FQ_MAX + 1];
        unsigned int plimit, flow_plimit;
@@ -490,7 +490,7 @@ static int fq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int fq_print_xstats(struct qdisc_util *qu, FILE *f,
+static int fq_print_xstats(const struct qdisc_util *qu, FILE *f,
                           struct rtattr *xstats)
 {
        struct tc_fq_qd_stats *st, _st;
index 9c9d7bc132a3dc086c5ed1f6fab4e72acad82689..a619d2b346b16875e0291ae1a9fc585ff7e05909 100644 (file)
@@ -29,7 +29,7 @@ static void explain(void)
                                        "[ drop_batch SIZE ]\n");
 }
 
-static int fq_codel_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int fq_codel_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                              struct nlmsghdr *n, const char *dev)
 {
        unsigned int drop_batch = 0;
@@ -157,7 +157,7 @@ static int fq_codel_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int fq_codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int fq_codel_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_FQ_CODEL_MAX + 1];
        unsigned int limit;
@@ -250,7 +250,7 @@ static int fq_codel_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt
        return 0;
 }
 
-static int fq_codel_print_xstats(struct qdisc_util *qu, FILE *f,
+static int fq_codel_print_xstats(const struct qdisc_util *qu, FILE *f,
                                 struct rtattr *xstats)
 {
        struct tc_fq_codel_xstats _st = {}, *st;
index 9cbef47eef887f49faae5f820817e393a18b1687..dc2710cdbbe65868ecdf17a2e6c83143356f3a4b 100644 (file)
@@ -36,7 +36,7 @@ static void explain(void)
 #define ALPHA_MAX 32
 #define BETA_MAX 32
 
-static int fq_pie_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int fq_pie_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                            struct nlmsghdr *n, const char *dev)
 {
        unsigned int limit = 0;
@@ -172,7 +172,7 @@ static int fq_pie_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int fq_pie_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int fq_pie_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_FQ_PIE_MAX + 1];
        unsigned int limit = 0;
@@ -269,7 +269,7 @@ static int fq_pie_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int fq_pie_print_xstats(struct qdisc_util *qu, FILE *f,
+static int fq_pie_print_xstats(const struct qdisc_util *qu, FILE *f,
                               struct rtattr *xstats)
 {
        struct tc_fq_pie_xstats _st = {}, *st;
index f6a3f05eb95eb41a17ba06bc4fdf05fdfa77fe19..84fc91244aed2a2b8a20bf77d6b7f4321a3f4400 100644 (file)
@@ -39,7 +39,7 @@ static void explain(void)
                "           [ probability PROBABILITY ] [ bandwidth KBPS ] [ecn] [harddrop]\n");
 }
 
-static int init_gred(struct qdisc_util *qu, int argc, char **argv,
+static int init_gred(const struct qdisc_util *qu, int argc, char **argv,
                     struct nlmsghdr *n)
 {
 
@@ -115,7 +115,7 @@ static int init_gred(struct qdisc_util *qu, int argc, char **argv,
 /*
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 */
-static int gred_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev)
+static int gred_parse_opt(const struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev)
 {
        struct rtattr *tail, *entry, *vqs;
        int ok = 0;
@@ -406,7 +406,7 @@ gred_print_stats(struct tc_gred_info *info, struct tc_gred_qopt *qopt)
        print_size(PRINT_ANY, "bytes", "(%s) ", bytes);
 }
 
-static int gred_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int gred_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct tc_gred_info infos[MAX_DPs] = {};
        struct rtattr *tb[TCA_GRED_MAX + 1];
index 609d925a42e58c061b99cdc718c4ae35b32df80c..aed7130cc8e60a19fd33f5c903031d25cd3a68ac 100644 (file)
@@ -65,7 +65,7 @@ explain1(char *arg)
 }
 
 static int
-hfsc_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+hfsc_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
               struct nlmsghdr *n, const char *dev)
 {
        struct tc_hfsc_qopt qopt = {};
@@ -97,7 +97,7 @@ hfsc_parse_opt(struct qdisc_util *qu, int argc, char **argv,
 }
 
 static int
-hfsc_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+hfsc_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct tc_hfsc_qopt *qopt;
 
@@ -114,7 +114,7 @@ hfsc_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 }
 
 static int
-hfsc_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
+hfsc_print_xstats(const struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
 {
        struct tc_hfsc_stats *st;
 
@@ -136,7 +136,7 @@ hfsc_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
 }
 
 static int
-hfsc_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
+hfsc_parse_class_opt(const struct qdisc_util *qu, int argc, char **argv,
                     struct nlmsghdr *n, const char *dev)
 {
        struct tc_service_curve rsc = {}, fsc = {}, usc = {};
@@ -220,7 +220,7 @@ hfsc_print_sc(FILE *f, char *name, struct tc_service_curve *sc)
 }
 
 static int
-hfsc_print_class_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+hfsc_print_class_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_HFSC_MAX+1];
        struct tc_service_curve *rsc = NULL, *fsc = NULL, *usc = NULL;
index 95e49f3dd720702bd9b47dd5d677ee19bb0189c1..939e490939e64926f55adebb20a686cd7fb2b04a 100644 (file)
@@ -26,7 +26,7 @@ static void explain(void)
                "               [ non_hh_weight NUMBER ]\n");
 }
 
-static int hhf_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int hhf_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        unsigned int limit = 0;
@@ -117,7 +117,7 @@ static int hhf_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int hhf_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int hhf_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_HHF_MAX + 1];
        unsigned int limit;
@@ -179,7 +179,7 @@ static int hhf_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int hhf_print_xstats(struct qdisc_util *qu, FILE *f,
+static int hhf_print_xstats(const struct qdisc_util *qu, FILE *f,
                            struct rtattr *xstats)
 {
        struct tc_hhf_xstats *st;
index 9afb293d94559246cfe604d08624b70658a3c303..545152ff2a745c1af700517f719895bd0516612c 100644 (file)
@@ -53,7 +53,7 @@ static void explain1(char *arg)
        explain();
 }
 
-static int htb_parse_opt(struct qdisc_util *qu, int argc,
+static int htb_parse_opt(const struct qdisc_util *qu, int argc,
                         char **argv, struct nlmsghdr *n, const char *dev)
 {
        unsigned int direct_qlen = ~0U;
@@ -107,7 +107,7 @@ static int htb_parse_opt(struct qdisc_util *qu, int argc,
        return 0;
 }
 
-static int htb_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
+static int htb_parse_class_opt(const struct qdisc_util *qu, int argc, char **argv,
                               struct nlmsghdr *n, const char *dev)
 {
        struct tc_htb_opt opt = {};
@@ -263,7 +263,7 @@ static int htb_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int htb_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int htb_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_HTB_MAX + 1];
        struct tc_htb_opt *hopt;
@@ -354,7 +354,7 @@ static int htb_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int htb_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
+static int htb_print_xstats(const struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
 {
        struct tc_htb_xstats *st;
 
index 3df4914c7d64ecf79285a49e951948d75f310790..294b0051225c7d4b4d0c6efaaf2c1ef2e98f1f32 100644 (file)
@@ -16,7 +16,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... ingress\n");
 }
 
-static int ingress_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int ingress_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                             struct nlmsghdr *n, const char *dev)
 {
        while (argc > 0) {
@@ -33,7 +33,7 @@ static int ingress_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int ingress_print_opt(struct qdisc_util *qu, FILE *f,
+static int ingress_print_opt(const struct qdisc_util *qu, FILE *f,
                             struct rtattr *opt)
 {
        print_string(PRINT_FP, NULL, "---------------- ", NULL);
index 7a4417f5363b968f381538781f90cab619f70b6b..493c6eb5d6417b66a033a78a2da8046ea300cf94 100644 (file)
@@ -46,7 +46,7 @@ static void add_tc_entries(struct nlmsghdr *n, __u32 fp[TC_QOPT_MAX_QUEUE],
        }
 }
 
-static int mqprio_parse_opt(struct qdisc_util *qu, int argc,
+static int mqprio_parse_opt(const struct qdisc_util *qu, int argc,
                            char **argv, struct nlmsghdr *n, const char *dev)
 {
        int idx;
@@ -314,7 +314,7 @@ static void dump_tc_entries(FILE *f, struct rtattr *opt, int len)
        }
 }
 
-static int mqprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int mqprio_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        int i;
        struct tc_mqprio_qopt *qopt;
index b1e6c9a83708ffc64740f3b01412adab7712d785..63fffed42cf27f553a4ecaa1ed786129bad5e2c6 100644 (file)
@@ -28,7 +28,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... multiq [help]\n");
 }
 
-static int multiq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int multiq_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                            struct nlmsghdr *n, const char *dev)
 {
        struct tc_multiq_qopt opt = {};
@@ -48,7 +48,7 @@ static int multiq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int multiq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int multiq_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct tc_multiq_qopt *qopt;
 
index 4ce9ab6e529bc0d6c37e86b66b4aa5efadc427a1..3954d1f3e486224f94e34d016605762f4c46bea1 100644 (file)
@@ -190,7 +190,7 @@ static int get_ticks(__u32 *ticks, const char *str)
        return 0;
 }
 
-static int netem_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int netem_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                           struct nlmsghdr *n, const char *dev)
 {
        int dist_size = 0;
@@ -661,7 +661,7 @@ random_loss_model:
        return 0;
 }
 
-static int netem_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int netem_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        const struct tc_netem_corr *cor = NULL;
        const struct tc_netem_reorder *reorder = NULL;
index 177cdcae0f2e2ee45ef863ba6e35cbf8f8a7c72a..04c9aa614b2bda047e63a5a6201e6a5c3a4b60f4 100644 (file)
@@ -30,7 +30,7 @@ static void explain(void)
 #define ALPHA_MAX 32
 #define BETA_MAX 32
 
-static int pie_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int pie_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        unsigned int limit   = 0;
@@ -124,7 +124,7 @@ static int pie_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int pie_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int pie_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_PIE_MAX + 1];
        unsigned int limit;
@@ -198,7 +198,7 @@ static int pie_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int pie_print_xstats(struct qdisc_util *qu, FILE *f,
+static int pie_print_xstats(const struct qdisc_util *qu, FILE *f,
                            struct rtattr *xstats)
 {
        struct tc_pie_xstats *st;
index 8adf9b9604e7a899177b5ef7553d3a74f7c3e09f..257735a2dd67259259f24983b95f9df9f1c936d2 100644 (file)
@@ -22,7 +22,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... plug [block | release | release_indefinite | limit NUMBER]\n");
 }
 
-static int plug_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int plug_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                          struct nlmsghdr *n, const char *dev)
 {
        struct tc_plug_qopt opt = {};
@@ -62,7 +62,7 @@ static int plug_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int plug_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int plug_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        /* dummy implementation as sch_plug does not implement a dump op */
        return 0;
index a3781ffe8b2c52bbf38477e62aae040c0e5797fc..41bd98a58b1b59cca7fee3b43fcdb2e79dd48653 100644 (file)
@@ -22,7 +22,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... prio bands NUMBER priomap P1 P2...[multiqueue]\n");
 }
 
-static int prio_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int prio_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                          struct nlmsghdr *n, const char *dev)
 {
        int pmap_mode = 0;
@@ -89,7 +89,7 @@ static int prio_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-int prio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+int prio_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        int i;
        struct tc_prio_qopt *qopt;
index c9955cc96a97ca34bb36ef066245a75609f3f8af..d4c0a5916587e9d50895626965e7e3ac5c239d99 100644 (file)
@@ -30,7 +30,7 @@ static void explain_class(void)
        fprintf(stderr, "Usage: ... qfq weight NUMBER maxpkt BYTES\n");
 }
 
-static int qfq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int qfq_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        if (argc > 0) {
@@ -43,7 +43,7 @@ static int qfq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int qfq_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
+static int qfq_parse_class_opt(const struct qdisc_util *qu, int argc, char **argv,
                               struct nlmsghdr *n, const char *dev)
 {
        struct rtattr *tail;
@@ -80,7 +80,7 @@ static int qfq_parse_class_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int qfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int qfq_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_QFQ_MAX + 1];
 
index f760253d13b2c35cc789c872902ee2d632d049a1..1aa6d2b174a259cc3af31d93d8ab62aa41a66dc6 100644 (file)
@@ -40,7 +40,7 @@ static struct qevent_util qevents[] = {
        {},
 };
 
-static int red_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int red_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        struct nla_bitfield32 flags_bf = {
@@ -180,7 +180,7 @@ static int red_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int red_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int red_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_RED_MAX + 1];
        struct nla_bitfield32 *flags_bf;
@@ -232,7 +232,7 @@ static int red_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int red_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
+static int red_print_xstats(const struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
 {
 #ifdef TC_RED_ECN
        struct tc_red_xstats *st;
@@ -252,7 +252,7 @@ static int red_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstat
        return 0;
 }
 
-static int red_has_block(struct qdisc_util *qu, struct rtattr *opt, __u32 block_idx, bool *p_has)
+static int red_has_block(const struct qdisc_util *qu, struct rtattr *opt, __u32 block_idx, bool *p_has)
 {
        struct rtattr *tb[TCA_RED_MAX + 1];
 
index a2eef281e10f55c0c4cb1604e9b1250444012409..6a26b71a83e18477f92a5ffa0f2f6676d38faa12 100644 (file)
@@ -40,7 +40,7 @@ static int get_prob(__u32 *val, const char *arg)
        return 0;
 }
 
-static int sfb_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int sfb_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        struct tc_sfb_qopt opt = {
@@ -131,7 +131,7 @@ static int sfb_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int sfb_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int sfb_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[__TCA_SFB_MAX];
        struct tc_sfb_qopt *qopt;
@@ -173,7 +173,7 @@ static int sfb_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int sfb_print_xstats(struct qdisc_util *qu, FILE *f,
+static int sfb_print_xstats(const struct qdisc_util *qu, FILE *f,
                            struct rtattr *xstats)
 {
        struct tc_sfb_xstats *st;
index 17bf8f63f105abfba8de96b112200eb421578b82..37ebd977cb9abf7fcc92caff0e870a3e50c2d909 100644 (file)
@@ -30,7 +30,7 @@ static void explain(void)
                "               [ ecn ] [ harddrop ]\n");
 }
 
-static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev)
+static int sfq_parse_opt(const struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev)
 {
        int ok = 0, red = 0;
        struct tc_sfq_qopt_v1 opt = {};
@@ -196,7 +196,7 @@ static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
        return 0;
 }
 
-static int sfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int sfq_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct tc_sfq_qopt *qopt;
        struct tc_sfq_qopt_v1 *qopt_ext = NULL;
@@ -255,7 +255,7 @@ static int sfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int sfq_print_xstats(struct qdisc_util *qu, FILE *f,
+static int sfq_print_xstats(const struct qdisc_util *qu, FILE *f,
                            struct rtattr *xstats)
 {
        struct tc_sfq_xstats *st;
index b0ba180ab9c4426b8b12bade023e81d5479ee15e..910ea998330a8cd22fc02d5a904aa7afc76a44ab 100644 (file)
@@ -23,7 +23,7 @@ static void explain(void)
        fprintf(stderr, "Usage: ... <skbprio> [ limit NUMBER ]\n");
 }
 
-static int skbprio_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int skbprio_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                             struct nlmsghdr *n, const char *dev)
 {
        int ok = 0;
@@ -58,7 +58,7 @@ static int skbprio_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int skbprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int skbprio_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct tc_skbprio_qopt *qopt;
 
index c47fe244369f2e2b801a539f62e46c8c474e33bf..416a222a8ef6383a80e37b8755e3b451355465a8 100644 (file)
@@ -134,7 +134,7 @@ static void add_tc_entries(struct nlmsghdr *n, __u32 max_sdu[TC_QOPT_MAX_QUEUE],
        }
 }
 
-static int taprio_parse_opt(struct qdisc_util *qu, int argc,
+static int taprio_parse_opt(const struct qdisc_util *qu, int argc,
                            char **argv, struct nlmsghdr *n, const char *dev)
 {
        __u32 max_sdu[TC_QOPT_MAX_QUEUE] = { };
@@ -545,7 +545,7 @@ static void dump_tc_entries(FILE *f, struct rtattr *opt)
        }
 }
 
-static int taprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int taprio_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_TAPRIO_ATTR_MAX + 1];
        struct tc_mqprio_qopt *qopt = 0;
@@ -623,7 +623,7 @@ static int taprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        return 0;
 }
 
-static int taprio_print_xstats(struct qdisc_util *qu, FILE *f,
+static int taprio_print_xstats(const struct qdisc_util *qu, FILE *f,
                               struct rtattr *xstats)
 {
        struct rtattr *tb[TCA_TAPRIO_OFFLOAD_STATS_MAX + 1], *nla;
index f621756d96e625249f30cc52cd8c0030b28ea39f..9356dfd2abcbf1f55a9ac29d398fa744424a4ab1 100644 (file)
@@ -31,7 +31,7 @@ static void explain1(const char *arg, const char *val)
 }
 
 
-static int tbf_parse_opt(struct qdisc_util *qu, int argc, char **argv,
+static int tbf_parse_opt(const struct qdisc_util *qu, int argc, char **argv,
                         struct nlmsghdr *n, const char *dev)
 {
        struct tc_tbf_qopt opt = {};
@@ -245,7 +245,7 @@ static int tbf_parse_opt(struct qdisc_util *qu, int argc, char **argv,
        return 0;
 }
 
-static int tbf_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
+static int tbf_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt)
 {
        struct rtattr *tb[TCA_TBF_MAX+1];
        struct tc_tbf_qopt *qopt;
diff --git a/tc/tc.c b/tc/tc.c
index 7a746cf5115e55e2a076942c920aaae735fdad85..5191b4bd8cded04011b03f04b39577d7b643b150 100644 (file)
--- a/tc/tc.c
+++ b/tc/tc.c
@@ -48,7 +48,7 @@ static void *BODY;    /* cached handle dlopen(NULL) */
 static struct qdisc_util *qdisc_list;
 static struct filter_util *filter_list;
 
-static int print_noqopt(struct qdisc_util *qu, FILE *f,
+static int print_noqopt(const struct qdisc_util *qu, FILE *f,
                        struct rtattr *opt)
 {
        if (opt && RTA_PAYLOAD(opt))
@@ -57,7 +57,7 @@ static int print_noqopt(struct qdisc_util *qu, FILE *f,
        return 0;
 }
 
-static int parse_noqopt(struct qdisc_util *qu, int argc, char **argv,
+static int parse_noqopt(const struct qdisc_util *qu, int argc, char **argv,
                        struct nlmsghdr *n, const char *dev)
 {
        if (argc) {
@@ -102,7 +102,7 @@ static int parse_nofopt(struct filter_util *qu, char *fhandle,
        return 0;
 }
 
-struct qdisc_util *get_qdisc_kind(const char *str)
+const struct qdisc_util *get_qdisc_kind(const char *str)
 {
        void *dlh;
        char buf[256];
index f6a3d134f59581eb0efbfa2748be959578ca77b3..6d707d8c924f4b5e90201d4de8e9779f82ce17f3 100644 (file)
@@ -61,7 +61,7 @@ static int tc_class_modify(int cmd, unsigned int flags, int argc, char **argv)
                .n.nlmsg_type = cmd,
                .t.tcm_family = AF_UNSPEC,
        };
-       struct qdisc_util *q = NULL;
+       const struct qdisc_util *q = NULL;
        struct tc_estimator est = {};
        char  d[IFNAMSIZ] = {};
        char  k[FILTER_NAMESZ] = {};
@@ -213,7 +213,7 @@ static void graph_cls_show(FILE *fp, char *buf, struct hlist_head *root_list,
        struct hlist_node *n, *tmp_cls;
        char cls_id_str[256] = {};
        struct rtattr *tb[TCA_MAX + 1];
-       struct qdisc_util *q;
+       const struct qdisc_util *q;
        char str[300] = {};
 
        hlist_for_each_safe(n, tmp_cls, root_list) {
@@ -298,7 +298,7 @@ int print_class(struct nlmsghdr *n, void *arg)
        struct tcmsg *t = NLMSG_DATA(n);
        int len = n->nlmsg_len;
        struct rtattr *tb[TCA_MAX + 1];
-       struct qdisc_util *q;
+       const struct qdisc_util *q;
        char abuf[256];
 
        if (n->nlmsg_type != RTM_NEWTCLASS && n->nlmsg_type != RTM_DELTCLASS) {
index 84fd659f7d1fbe1dda640448079ad636bf35aea4..7eb9a31baa31fb91a8141c9eca1135e76a52fa8b 100644 (file)
@@ -42,7 +42,7 @@ static int usage(void)
 
 static int tc_qdisc_modify(int cmd, unsigned int flags, int argc, char **argv)
 {
-       struct qdisc_util *q = NULL;
+       const struct qdisc_util *q = NULL;
        struct tc_estimator est = {};
        struct {
                struct tc_sizespec      szopts;
@@ -217,7 +217,7 @@ int print_qdisc(struct nlmsghdr *n, void *arg)
        struct tcmsg *t = NLMSG_DATA(n);
        int len = n->nlmsg_len;
        struct rtattr *tb[TCA_MAX+1];
-       struct qdisc_util *q;
+       const struct qdisc_util *q;
        char abuf[256];
 
        if (n->nlmsg_type != RTM_NEWQDISC && n->nlmsg_type != RTM_DELQDISC) {
@@ -476,7 +476,7 @@ static int tc_qdisc_block_exists_cb(struct nlmsghdr *n, void *arg)
        struct tcmsg *t = NLMSG_DATA(n);
        struct rtattr *tb[TCA_MAX+1];
        int len = n->nlmsg_len;
-       struct qdisc_util *q;
+       const struct qdisc_util *q;
        const char *kind;
        int err;
 
index 623d9888a5ad5bede7c54b9f270a9d19a5046270..bcd661ea4626727feaad53f98137cdf470fd5f95 100644 (file)
@@ -29,19 +29,20 @@ enum
 #define FILTER_NAMESZ  16
 
 struct qdisc_util {
-       struct  qdisc_util *next;
+       struct qdisc_util *next;
        const char *id;
-       int (*parse_qopt)(struct qdisc_util *qu, int argc,
+       int (*parse_qopt)(const struct qdisc_util *qu, int argc,
                          char **argv, struct nlmsghdr *n, const char *dev);
-       int (*print_qopt)(struct qdisc_util *qu,
+       int (*print_qopt)(const struct qdisc_util *qu,
                          FILE *f, struct rtattr *opt);
-       int (*print_xstats)(struct qdisc_util *qu,
+       int (*print_xstats)(const struct qdisc_util *qu,
                            FILE *f, struct rtattr *xstats);
 
-       int (*parse_copt)(struct qdisc_util *qu, int argc,
+       int (*parse_copt)(const struct qdisc_util *qu, int argc,
                          char **argv, struct nlmsghdr *n, const char *dev);
-       int (*print_copt)(struct qdisc_util *qu, FILE *f, struct rtattr *opt);
-       int (*has_block)(struct qdisc_util *qu, struct rtattr *opt, __u32 block_idx, bool *p_has);
+       int (*print_copt)(const struct qdisc_util *qu, FILE *f, struct rtattr *opt);
+       int (*has_block)(const struct qdisc_util *qu, struct rtattr *opt,
+                        __u32 block_idx, bool *p_has);
 };
 
 extern __u16 f_proto;
@@ -72,7 +73,7 @@ struct exec_util {
 
 const char *get_tc_lib(void);
 
-struct qdisc_util *get_qdisc_kind(const char *str);
+const struct qdisc_util *get_qdisc_kind(const char *str);
 struct filter_util *get_filter_kind(const char *str);
 
 int get_qdisc_handle(__u32 *h, const char *str);
@@ -115,7 +116,7 @@ int police_print_xstats(struct action_util *a, FILE *f, struct rtattr *tb);
 int tc_print_action(FILE *f, const struct rtattr *tb, unsigned short tot_acts);
 int parse_action(int *argc_p, char ***argv_p, int tca_id, struct nlmsghdr *n);
 void print_tm(FILE *f, const struct tcf_t *tm);
-int prio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt);
+int prio_print_opt(const struct qdisc_util *qu, FILE *f, struct rtattr *opt);
 
 int cls_names_init(char *path);
 void cls_names_uninit(void);