From: Daan De Meyer Date: Sat, 19 Apr 2025 10:12:20 +0000 (+0200) Subject: network: Remove circular header dependencies in network/tc X-Git-Tag: v258-rc1~756^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=72673948f3afdcce5ec0abb83c5901f8c35df4e2;p=thirdparty%2Fsystemd.git network: Remove circular header dependencies in network/tc Include the headers in the implementation file (and the gperf file) instead of in the qdisc.h header. I opted to keep them separate from the other headers since they're slightly different than regular headers. --- diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf index c1aff5c02d2..a788186ea67 100644 --- a/src/network/networkd-network-gperf.gperf +++ b/src/network/networkd-network-gperf.gperf @@ -41,6 +41,27 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include "qdisc.h" #include "tclass.h" #include "vlan-util.h" + +#include "cake.h" +#include "codel.h" +#include "ets.h" +#include "fifo.h" +#include "fq-codel.h" +#include "fq-pie.h" +#include "fq.h" +#include "gred.h" +#include "hhf.h" +#include "htb.h" +#include "mq.h" +#include "multiq.h" +#include "pie.h" +#include "qfq.h" +#include "netem.h" +#include "drr.h" +#include "sfb.h" +#include "sfq.h" +#include "tbf.h" +#include "teql.h" %} struct ConfigPerfItem; %null_strings diff --git a/src/network/tc/codel.c b/src/network/tc/codel.c index 53ccf66e419..2bba46f2e9f 100644 --- a/src/network/tc/codel.c +++ b/src/network/tc/codel.c @@ -4,10 +4,10 @@ #include #include "alloc-util.h" +#include "codel.h" #include "conf-parser.h" #include "netlink-util.h" #include "parse-util.h" -#include "qdisc.h" #include "string-util.h" static int controlled_delay_init(QDisc *qdisc) { diff --git a/src/network/tc/drr.h b/src/network/tc/drr.h index c96cc4db007..4719bf6c4f9 100644 --- a/src/network/tc/drr.h +++ b/src/network/tc/drr.h @@ -3,6 +3,7 @@ #pragma once #include "qdisc.h" +#include "tclass.h" typedef struct DeficitRoundRobinScheduler { QDisc meta; diff --git a/src/network/tc/fq-codel.c b/src/network/tc/fq-codel.c index 9255cde4650..4f5f09dfe58 100644 --- a/src/network/tc/fq-codel.c +++ b/src/network/tc/fq-codel.c @@ -5,9 +5,9 @@ #include "alloc-util.h" #include "conf-parser.h" +#include "fq-codel.h" #include "netlink-util.h" #include "parse-util.h" -#include "qdisc.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/tc/gred.c b/src/network/tc/gred.c index 198905a1521..550c2da0f41 100644 --- a/src/network/tc/gred.c +++ b/src/network/tc/gred.c @@ -5,9 +5,9 @@ #include "alloc-util.h" #include "conf-parser.h" +#include "gred.h" #include "netlink-util.h" #include "parse-util.h" -#include "qdisc.h" #include "string-util.h" static int generic_random_early_detection_init(QDisc *qdisc) { diff --git a/src/network/tc/multiq.c b/src/network/tc/multiq.c index c70d8c59061..5e637e9e514 100644 --- a/src/network/tc/multiq.c +++ b/src/network/tc/multiq.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "multiq.h" static int multi_queueing_fill_message(Link *link, QDisc *qdisc, sd_netlink_message *req) { diff --git a/src/network/tc/qdisc.c b/src/network/tc/qdisc.c index 3bcc3930662..3b7bcfd48a0 100644 --- a/src/network/tc/qdisc.c +++ b/src/network/tc/qdisc.c @@ -18,6 +18,27 @@ #include "strv.h" #include "tc-util.h" +#include "cake.h" +#include "codel.h" +#include "ets.h" +#include "fifo.h" +#include "fq-codel.h" +#include "fq-pie.h" +#include "fq.h" +#include "gred.h" +#include "hhf.h" +#include "htb.h" +#include "mq.h" +#include "multiq.h" +#include "pie.h" +#include "qfq.h" +#include "netem.h" +#include "drr.h" +#include "sfb.h" +#include "sfq.h" +#include "tbf.h" +#include "teql.h" + const QDiscVTable * const qdisc_vtable[_QDISC_KIND_MAX] = { [QDISC_KIND_BFIFO] = &bfifo_vtable, [QDISC_KIND_CAKE] = &cake_vtable, diff --git a/src/network/tc/qdisc.h b/src/network/tc/qdisc.h index 80b95c2aab4..5a2b1be5f42 100644 --- a/src/network/tc/qdisc.h +++ b/src/network/tc/qdisc.h @@ -97,24 +97,3 @@ DEFINE_SECTION_CLEANUP_FUNCTIONS(QDisc, qdisc_unref); CONFIG_PARSER_PROTOTYPE(config_parse_qdisc_parent); CONFIG_PARSER_PROTOTYPE(config_parse_qdisc_handle); - -#include "cake.h" -#include "codel.h" -#include "ets.h" -#include "fifo.h" -#include "fq-codel.h" -#include "fq-pie.h" -#include "fq.h" -#include "gred.h" -#include "hhf.h" -#include "htb.h" -#include "mq.h" -#include "multiq.h" -#include "pie.h" -#include "qfq.h" -#include "netem.h" -#include "drr.h" -#include "sfb.h" -#include "sfq.h" -#include "tbf.h" -#include "teql.h" diff --git a/src/network/tc/qfq.h b/src/network/tc/qfq.h index 0f013a9863d..2e6599391ac 100644 --- a/src/network/tc/qfq.h +++ b/src/network/tc/qfq.h @@ -4,6 +4,7 @@ #include "conf-parser.h" #include "qdisc.h" +#include "tclass.h" typedef struct QuickFairQueueing { QDisc meta; diff --git a/src/network/tc/tbf.c b/src/network/tc/tbf.c index 3e7a3098dab..85ecbe39be8 100644 --- a/src/network/tc/tbf.c +++ b/src/network/tc/tbf.c @@ -10,9 +10,9 @@ #include "netlink-util.h" #include "networkd-manager.h" #include "parse-util.h" -#include "qdisc.h" #include "string-util.h" #include "strv.h" +#include "tbf.h" #include "tc-util.h" static int token_bucket_filter_fill_message(Link *link, QDisc *qdisc, sd_netlink_message *req) { diff --git a/src/network/tc/tclass.c b/src/network/tc/tclass.c index 684f917c505..e156a7f1cf0 100644 --- a/src/network/tc/tclass.c +++ b/src/network/tc/tclass.c @@ -18,6 +18,10 @@ #include "tc-util.h" #include "tclass.h" +#include "drr.h" +#include "htb.h" +#include "qfq.h" + const TClassVTable * const tclass_vtable[_TCLASS_KIND_MAX] = { [TCLASS_KIND_DRR] = &drr_tclass_vtable, [TCLASS_KIND_HTB] = &htb_tclass_vtable, diff --git a/src/network/tc/tclass.h b/src/network/tc/tclass.h index 31374d6da8d..b5dc5c8c3cd 100644 --- a/src/network/tc/tclass.h +++ b/src/network/tc/tclass.h @@ -77,7 +77,3 @@ DEFINE_SECTION_CLEANUP_FUNCTIONS(TClass, tclass_unref); CONFIG_PARSER_PROTOTYPE(config_parse_tclass_parent); CONFIG_PARSER_PROTOTYPE(config_parse_tclass_classid); - -#include "drr.h" -#include "htb.h" -#include "qfq.h"