From: Daan De Meyer Date: Wed, 21 May 2025 12:16:46 +0000 (+0200) Subject: network: Clean up includes X-Git-Tag: v258-rc1~536 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=baa3fadfb7e08ba2f4dc29c53ce3b55d1d120455;p=thirdparty%2Fsystemd.git network: Clean up includes Split out of #37344. --- diff --git a/src/network/fuzz-netdev-parser.c b/src/network/fuzz-netdev-parser.c index 7e29ba9b8e8..b7e3598fec3 100644 --- a/src/network/fuzz-netdev-parser.c +++ b/src/network/fuzz-netdev-parser.c @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fd-util.h" -#include "fs-util.h" #include "fuzz.h" #include "networkd-manager.h" #include "tmpfile-util.h" diff --git a/src/network/fuzz-network-parser.c b/src/network/fuzz-network-parser.c index eb17f09ca09..9e5cedc3cf7 100644 --- a/src/network/fuzz-network-parser.c +++ b/src/network/fuzz-network-parser.c @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fd-util.h" -#include "fs-util.h" #include "fuzz.h" #include "networkd-manager.h" #include "tmpfile-util.h" diff --git a/src/network/generator/network-generator-main.c b/src/network/generator/network-generator-main.c index 0d077585ba8..c449a6d305b 100644 --- a/src/network/generator/network-generator-main.c +++ b/src/network/generator/network-generator-main.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include #include "alloc-util.h" #include "build.h" @@ -9,12 +10,13 @@ #include "fd-util.h" #include "fs-util.h" #include "generator.h" -#include "macro.h" +#include "log.h" #include "main-func.h" #include "mkdir.h" #include "network-generator.h" #include "path-util.h" #include "proc-cmdline.h" +#include "string-util.h" #define NETWORK_UNIT_DIRECTORY "/run/systemd/network/" diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c index d113e1cb46c..31c1a2f723a 100644 --- a/src/network/generator/network-generator.c +++ b/src/network/generator/network-generator.c @@ -1,12 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ + #include "alloc-util.h" #include "extract-word.h" -#include "fd-util.h" -#include "fileio.h" #include "hostname-util.h" #include "log.h" -#include "macro.h" #include "memstream-util.h" #include "netif-naming-scheme.h" #include "network-generator.h" diff --git a/src/network/generator/test-network-generator.c b/src/network/generator/test-network-generator.c index dec84abc8f1..d709fa26ff7 100644 --- a/src/network/generator/test-network-generator.c +++ b/src/network/generator/test-network-generator.c @@ -1,8 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "macro.h" #include "network-generator.h" -#include "string-util.h" #include "tests.h" static void test_network_one(const char *ifname, const char *key, const char *value, const char *expected) { diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c index 9a8019eea9d..9dd70296bc6 100644 --- a/src/network/netdev/bareudp.c +++ b/src/network/netdev/bareudp.c @@ -2,11 +2,11 @@ * Copyright © 2020 VMware, Inc. */ #include -#include + +#include "sd-netlink.h" #include "bareudp.h" -#include "netlink-util.h" -#include "networkd-manager.h" +#include "conf-parser.h" #include "string-table.h" static const char* const bare_udp_protocol_table[_BARE_UDP_PROTOCOL_MAX] = { diff --git a/src/network/netdev/bareudp.h b/src/network/netdev/bareudp.h index 6672cbde753..287769fa833 100644 --- a/src/network/netdev/bareudp.h +++ b/src/network/netdev/bareudp.h @@ -2,11 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -typedef struct BareUDP BareUDP; - -#include - -#include "conf-parser.h" +#include "forward.h" #include "netdev.h" typedef enum BareUDPProtocol { @@ -18,13 +14,13 @@ typedef enum BareUDPProtocol { _BARE_UDP_PROTOCOL_INVALID = -EINVAL, } BareUDPProtocol; -struct BareUDP { +typedef struct BareUDP { NetDev meta; BareUDPProtocol iftype; uint16_t dest_port; uint16_t min_port; -}; +} BareUDP; DEFINE_NETDEV_CAST(BAREUDP, BareUDP); extern const NetDevVTable bare_udp_vtable; diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c index c122aeec41d..388dd42ebc5 100644 --- a/src/network/netdev/batadv.c +++ b/src/network/netdev/batadv.c @@ -1,19 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include #include -#include + +#include "sd-netlink.h" #include "batadv.h" -#include "fileio.h" +#include "conf-parser.h" #include "netlink-util.h" -#include "network-internal.h" #include "networkd-manager.h" #include "parse-util.h" -#include "stdio-util.h" #include "string-table.h" -#include "string-util.h" static void batadv_init(NetDev *n) { BatmanAdvanced *b = BATADV(n); diff --git a/src/network/netdev/batadv.h b/src/network/netdev/batadv.h index f1f9b468859..df6183e27c8 100644 --- a/src/network/netdev/batadv.h +++ b/src/network/netdev/batadv.h @@ -4,7 +4,7 @@ #include -#include "conf-parser.h" +#include "forward.h" #include "netdev.h" #define BATADV_GENL_NAME "batadv" diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c index a83a46bb6e6..0ae5fbdc430 100644 --- a/src/network/netdev/bond.c +++ b/src/network/netdev/bond.c @@ -3,16 +3,20 @@ #include #include +#include "sd-netlink.h" + #include "alloc-util.h" #include "bond.h" #include "bond-util.h" #include "conf-parser.h" #include "ether-addr-util.h" #include "extract-word.h" -#include "netlink-util.h" -#include "networkd-manager.h" -#include "string-table.h" - +#include "in-addr-util.h" +#include "networkd-link.h" +#include "ordered-set.h" +#include "set.h" +#include "string-util.h" +#include "time-util.h" /* * Number of seconds between instances where the bonding * driver sends learning packets to each slaves peer switch diff --git a/src/network/netdev/bond.h b/src/network/netdev/bond.h index 6f349f86e4f..8ae0c9650f0 100644 --- a/src/network/netdev/bond.h +++ b/src/network/netdev/bond.h @@ -1,13 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - #include "bond-util.h" -#include "macro.h" +#include "forward.h" #include "netdev.h" -#include "ordered-set.h" typedef struct Bond { NetDev meta; diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c index afba0973b6b..cd992222550 100644 --- a/src/network/netdev/bridge.c +++ b/src/network/netdev/bridge.c @@ -2,13 +2,15 @@ #include #include -#include -#include + +#include "sd-netlink.h" #include "bridge.h" +#include "conf-parser.h" #include "netlink-util.h" #include "networkd-manager.h" #include "string-table.h" +#include "string-util.h" #include "vlan-util.h" assert_cc((int) MULTICAST_ROUTER_NONE == (int) MDB_RTR_TYPE_DISABLED); diff --git a/src/network/netdev/bridge.h b/src/network/netdev/bridge.h index a1d682bf8f3..1949f5ccd72 100644 --- a/src/network/netdev/bridge.h +++ b/src/network/netdev/bridge.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "netdev.h" #define LINK_BRIDGE_PORT_PRIORITY_INVALID 128U diff --git a/src/network/netdev/dummy.h b/src/network/netdev/dummy.h index eafdf4b5bf1..725f4583991 100644 --- a/src/network/netdev/dummy.h +++ b/src/network/netdev/dummy.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "forward.h" #include "netdev.h" typedef struct Dummy { diff --git a/src/network/netdev/fou-tunnel.c b/src/network/netdev/fou-tunnel.c index 29240d4beaf..786ac9e0dd4 100644 --- a/src/network/netdev/fou-tunnel.c +++ b/src/network/netdev/fou-tunnel.c @@ -1,16 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include -#include + +#include "sd-netlink.h" #include "conf-parser.h" #include "fou-tunnel.h" -#include "ip-protocol-list.h" #include "netlink-util.h" #include "networkd-manager.h" -#include "parse-util.h" #include "string-table.h" #include "string-util.h" diff --git a/src/network/netdev/fou-tunnel.h b/src/network/netdev/fou-tunnel.h index e8cab9e1617..0a8fabec5e5 100644 --- a/src/network/netdev/fou-tunnel.h +++ b/src/network/netdev/fou-tunnel.h @@ -2,9 +2,9 @@ #pragma once #include -#include #include "in-addr-util.h" +#include "forward.h" #include "netdev.h" typedef enum FooOverUDPEncapType { diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c index 8d203bcb917..814e7cc3d45 100644 --- a/src/network/netdev/geneve.c +++ b/src/network/netdev/geneve.c @@ -1,19 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include -#include "alloc-util.h" +#include "sd-netlink.h" + #include "conf-parser.h" -#include "extract-word.h" #include "geneve.h" -#include "netlink-util.h" -#include "networkd-manager.h" #include "parse-util.h" #include "string-table.h" #include "string-util.h" -#include "strv.h" #define GENEVE_FLOW_LABEL_MAX_MASK 0xFFFFFU #define DEFAULT_GENEVE_DESTINATION_PORT 6081 diff --git a/src/network/netdev/geneve.h b/src/network/netdev/geneve.h index 5fb441360de..9ad8eeaebb5 100644 --- a/src/network/netdev/geneve.h +++ b/src/network/netdev/geneve.h @@ -1,11 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Geneve Geneve; +#include +#include "forward.h" #include "in-addr-util.h" #include "netdev.h" -#include "networkd-network.h" #define GENEVE_VID_MAX (1u << 24) - 1 @@ -17,7 +17,7 @@ typedef enum GeneveDF { _NETDEV_GENEVE_DF_INVALID = -EINVAL, } GeneveDF; -struct Geneve { +typedef struct Geneve { NetDev meta; uint32_t id; @@ -39,7 +39,7 @@ struct Geneve { union in_addr_union remote; bool inherit_inner_protocol; -}; +} Geneve; DEFINE_NETDEV_CAST(GENEVE, Geneve); extern const NetDevVTable geneve_vtable; diff --git a/src/network/netdev/hsr.c b/src/network/netdev/hsr.c index 975e439ce96..4c1549a2b36 100644 --- a/src/network/netdev/hsr.c +++ b/src/network/netdev/hsr.c @@ -1,12 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include +#include "sd-netlink.h" + +#include "conf-parser.h" #include "hsr.h" -#include "netlink-util.h" -#include "networkd-manager.h" +#include "networkd-link.h" #include "string-table.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/netdev/hsr.h b/src/network/netdev/hsr.h index 104a9f7aa83..62e98a806a3 100644 --- a/src/network/netdev/hsr.h +++ b/src/network/netdev/hsr.h @@ -1,8 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Hsr Hsr; - #include #include "netdev.h" @@ -14,13 +12,13 @@ typedef enum HsrProtocol { _NETDEV_HSR_PROTOCOL_INVALID = -EINVAL, } HsrProtocol; -struct Hsr { +typedef struct Hsr { NetDev meta; char **ports; HsrProtocol protocol; uint8_t supervision; -}; +} Hsr; DEFINE_NETDEV_CAST(HSR, Hsr); extern const NetDevVTable hsr_vtable; diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c index 6932c62e2ad..ca9147ec0b2 100644 --- a/src/network/netdev/ipoib.c +++ b/src/network/netdev/ipoib.c @@ -3,10 +3,14 @@ #include #include +#include "sd-netlink.h" + +#include "conf-parser.h" #include "ipoib.h" #include "networkd-network.h" #include "parse-util.h" #include "string-table.h" +#include "string-util.h" assert_cc((int) IP_OVER_INFINIBAND_MODE_DATAGRAM == (int) IPOIB_MODE_DATAGRAM); assert_cc((int) IP_OVER_INFINIBAND_MODE_CONNECTED == (int) IPOIB_MODE_CONNECTED); diff --git a/src/network/netdev/ipoib.h b/src/network/netdev/ipoib.h index 415d3b107c8..2e11490b553 100644 --- a/src/network/netdev/ipoib.h +++ b/src/network/netdev/ipoib.h @@ -1,9 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "conf-parser.h" #include "netdev.h" typedef enum IPoIBMode { diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c index 71e95ddc4ca..284903e956d 100644 --- a/src/network/netdev/ipvlan.c +++ b/src/network/netdev/ipvlan.c @@ -1,14 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include + +#include "sd-netlink.h" #include "conf-parser.h" #include "ipvlan.h" #include "ipvlan-util.h" #include "networkd-link.h" -#include "string-util.h" DEFINE_CONFIG_PARSE_ENUM(config_parse_ipvlan_mode, ipvlan_mode, IPVlanMode); DEFINE_CONFIG_PARSE_ENUM(config_parse_ipvlan_flags, ipvlan_flags, IPVlanFlags); diff --git a/src/network/netdev/ipvlan.h b/src/network/netdev/ipvlan.h index 43ff2818e03..ca7df0cb043 100644 --- a/src/network/netdev/ipvlan.h +++ b/src/network/netdev/ipvlan.h @@ -1,8 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include #include "ipvlan-util.h" #include "netdev.h" diff --git a/src/network/netdev/l2tp-tunnel.c b/src/network/netdev/l2tp-tunnel.c index 01741f2a690..39f69c6c25c 100644 --- a/src/network/netdev/l2tp-tunnel.c +++ b/src/network/netdev/l2tp-tunnel.c @@ -1,19 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include -#include + +#include "sd-netlink.h" #include "alloc-util.h" #include "conf-parser.h" +#include "extract-word.h" #include "hashmap.h" #include "l2tp-tunnel.h" #include "netlink-util.h" #include "networkd-address.h" #include "networkd-manager.h" #include "networkd-route-util.h" -#include "parse-util.h" +#include "set.h" #include "socket-util.h" #include "string-table.h" #include "string-util.h" diff --git a/src/network/netdev/l2tp-tunnel.h b/src/network/netdev/l2tp-tunnel.h index a5f6fbad1e2..2c4d2806fa7 100644 --- a/src/network/netdev/l2tp-tunnel.h +++ b/src/network/netdev/l2tp-tunnel.h @@ -2,11 +2,10 @@ #pragma once #include -#include #include "in-addr-util.h" +#include "forward.h" #include "netdev.h" -#include "networkd-util.h" typedef enum L2tpL2specType { NETDEV_L2TP_L2SPECTYPE_NONE = L2TP_L2SPECTYPE_NONE, diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c index df3ae99a090..ff5d156a66e 100644 --- a/src/network/netdev/macsec.c +++ b/src/network/netdev/macsec.c @@ -1,10 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include #include -#include + +#include "sd-netlink.h" #include "alloc-util.h" #include "conf-parser.h" @@ -17,8 +16,6 @@ #include "networkd-manager.h" #include "parse-helpers.h" #include "parse-util.h" -#include "socket-util.h" -#include "string-table.h" #include "string-util.h" #include "unaligned.h" diff --git a/src/network/netdev/macsec.h b/src/network/netdev/macsec.h index a78e7a359ac..3060a9a47c8 100644 --- a/src/network/netdev/macsec.h +++ b/src/network/netdev/macsec.h @@ -2,12 +2,10 @@ #pragma once #include -#include +#include -#include "ether-addr-util.h" -#include "in-addr-util.h" +#include "forward.h" #include "netdev.h" -#include "networkd-util.h" #include "sparse-endian.h" /* See the definition of MACSEC_NUM_AN in kernel's drivers/net/macsec.c */ @@ -61,7 +59,7 @@ typedef struct ReceiveChannel { unsigned n_rxsa; } ReceiveChannel; -struct MACsec { +typedef struct MACsec { NetDev meta; uint16_t port; @@ -72,7 +70,7 @@ struct MACsec { OrderedHashmap *receive_channels_by_section; OrderedHashmap *transmit_associations_by_section; OrderedHashmap *receive_associations_by_section; -}; +} MACsec; DEFINE_NETDEV_CAST(MACSEC, MACsec); extern const NetDevVTable macsec_vtable; diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c index 3fe71fccdf9..3a44138f059 100644 --- a/src/network/netdev/macvlan.c +++ b/src/network/netdev/macvlan.c @@ -1,14 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include + +#include "sd-netlink.h" #include "conf-parser.h" #include "macvlan.h" #include "macvlan-util.h" #include "networkd-network.h" #include "parse-util.h" +#include "set.h" +#include "string-util.h" typedef enum BCQueueThreshold { BC_QUEUE_THRESHOLD_UNDEF = INT32_MIN, diff --git a/src/network/netdev/macvlan.h b/src/network/netdev/macvlan.h index 76b53a62eae..68d757416a2 100644 --- a/src/network/netdev/macvlan.h +++ b/src/network/netdev/macvlan.h @@ -1,13 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct MacVlan MacVlan; - #include "macvlan-util.h" #include "netdev.h" -#include "set.h" -struct MacVlan { +typedef struct MacVlan { NetDev meta; MacVlanMode mode; @@ -15,7 +12,7 @@ struct MacVlan { uint32_t bc_queue_length; int32_t bc_queue_threshold; -}; +} MacVlan; DEFINE_NETDEV_CAST(MACVLAN, MacVlan); DEFINE_NETDEV_CAST(MACVTAP, MacVlan); diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf index 35cc038c27d..379364df632 100644 --- a/src/network/netdev/netdev-gperf.gperf +++ b/src/network/netdev/netdev-gperf.gperf @@ -9,6 +9,7 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include "batadv.h" #include "bond.h" #include "bridge.h" +#include "condition.h" #include "conf-parser.h" #include "fou-tunnel.h" #include "geneve.h" diff --git a/src/network/netdev/netdev-util.c b/src/network/netdev/netdev-util.c index 6229992a1bf..e0555ebe415 100644 --- a/src/network/netdev/netdev-util.c +++ b/src/network/netdev/netdev-util.c @@ -3,6 +3,7 @@ #include "netdev-util.h" #include "networkd-address.h" #include "networkd-link.h" +#include "set.h" #include "string-table.h" static const char * const netdev_local_address_type_table[_NETDEV_LOCAL_ADDRESS_TYPE_MAX] = { diff --git a/src/network/netdev/netdev-util.h b/src/network/netdev/netdev-util.h index 089326c3962..847a6e73267 100644 --- a/src/network/netdev/netdev-util.h +++ b/src/network/netdev/netdev-util.h @@ -1,12 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "in-addr-util.h" -#include "macro.h" - -typedef struct Link Link; +#include "networkd-forward.h" typedef enum NetDevLocalAddressType { NETDEV_LOCAL_ADDRESS_IPV4LL, diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c index 2a27693d0b8..b99f3d31e32 100644 --- a/src/network/netdev/netdev.c +++ b/src/network/netdev/netdev.c @@ -1,28 +1,28 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include #include +#include "sd-netlink.h" + #include "alloc-util.h" #include "arphrd-util.h" #include "bareudp.h" #include "batadv.h" #include "bond.h" #include "bridge.h" +#include "condition.h" #include "conf-files.h" #include "conf-parser.h" #include "dummy.h" -#include "fd-util.h" #include "fou-tunnel.h" #include "geneve.h" +#include "hashmap.h" #include "hsr.h" #include "ifb.h" #include "ipoib.h" #include "ipvlan.h" #include "l2tp-tunnel.h" -#include "list.h" #include "macsec.h" #include "macvlan.h" #include "netdev.h" @@ -31,12 +31,9 @@ #include "network-util.h" #include "networkd-manager.h" #include "networkd-queue.h" -#include "networkd-setlink.h" #include "networkd-sriov.h" #include "networkd-state-file.h" #include "nlmon.h" -#include "path-lookup.h" -#include "siphash24.h" #include "stat-util.h" #include "string-table.h" #include "string-util.h" diff --git a/src/network/netdev/netdev.h b/src/network/netdev/netdev.h index 52c1c211983..8837e6991c0 100644 --- a/src/network/netdev/netdev.h +++ b/src/network/netdev/netdev.h @@ -1,15 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-netlink.h" - -#include "conf-parser.h" #include "ether-addr-util.h" -#include "hash-funcs.h" #include "list.h" #include "log-link.h" #include "netdev-util.h" -#include "time-util.h" +#include "networkd-forward.h" /* Special hardware address value to suppress generating persistent hardware address for the netdev. */ #define HW_ADDR_NONE ((struct hw_addr_data) { .length = 1, }) @@ -109,9 +105,6 @@ typedef enum NetDevCreateType { _NETDEV_CREATE_INVALID = -EINVAL, } NetDevCreateType; -typedef struct Manager Manager; -typedef struct Condition Condition; - typedef struct NetDev { Manager *manager; diff --git a/src/network/netdev/nlmon.h b/src/network/netdev/nlmon.h index edfc504bca6..4fee148563c 100644 --- a/src/network/netdev/nlmon.h +++ b/src/network/netdev/nlmon.h @@ -1,13 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct NLMon NLMon; - #include "netdev.h" -struct NLMon { +typedef struct NLMon { NetDev meta; -}; +} NLMon; DEFINE_NETDEV_CAST(NLMON, NLMon); diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c index ef47218c9f2..26a97271f05 100644 --- a/src/network/netdev/tunnel.c +++ b/src/network/netdev/tunnel.c @@ -1,13 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include -#include #include #include -#include "af-list.h" +#include "sd-netlink.h" + #include "alloc-util.h" #include "conf-parser.h" #include "hexdecoct.h" diff --git a/src/network/netdev/tunnel.h b/src/network/netdev/tunnel.h index 34fdbfaf428..26aab55213f 100644 --- a/src/network/netdev/tunnel.h +++ b/src/network/netdev/tunnel.h @@ -1,11 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "fou-tunnel.h" -#include "in-addr-util.h" #include "netdev.h" -#include "netdev-util.h" #include "networkd-link.h" typedef enum Ip6TnlMode { diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c index e060d95bd94..0121ce6a35a 100644 --- a/src/network/netdev/tuntap.c +++ b/src/network/netdev/tuntap.c @@ -1,21 +1,21 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include #include -#include +#include #include -#include -#include #include "alloc-util.h" #include "daemon-util.h" #include "fd-util.h" -#include "networkd-link.h" +#include "hashmap.h" #include "networkd-manager.h" #include "socket-util.h" +#include "string-util.h" #include "tuntap.h" +#include "user-record.h" +#include "user-util.h" #include "userdb.h" #define TUN_DEV "/dev/net/tun" diff --git a/src/network/netdev/tuntap.h b/src/network/netdev/tuntap.h index f345548f954..406f2c3f783 100644 --- a/src/network/netdev/tuntap.h +++ b/src/network/netdev/tuntap.h @@ -1,8 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "forward.h" #include "netdev.h" -#include "user-util.h" typedef struct TunTap { NetDev meta; diff --git a/src/network/netdev/vcan.h b/src/network/netdev/vcan.h index f149eb2bb83..16dd1d916d5 100644 --- a/src/network/netdev/vcan.h +++ b/src/network/netdev/vcan.h @@ -1,16 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct VCan VCan; - -#include -#include - #include "netdev.h" -struct VCan { +typedef struct VCan { NetDev meta; -}; +} VCan; DEFINE_NETDEV_CAST(VCAN, VCan); diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c index d263e35748b..94aea195b19 100644 --- a/src/network/netdev/veth.c +++ b/src/network/netdev/veth.c @@ -1,12 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include -#include -#include + +#include "sd-netlink.h" #include "netlink-util.h" +#include "string-util.h" #include "veth.h" static int netdev_veth_fill_message_create(NetDev *netdev, Link *link, sd_netlink_message *m) { diff --git a/src/network/netdev/veth.h b/src/network/netdev/veth.h index 8ee973385b6..1bf6b585cf9 100644 --- a/src/network/netdev/veth.h +++ b/src/network/netdev/veth.h @@ -1,17 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Veth Veth; - #include "netdev.h" -struct Veth { +typedef struct Veth { NetDev meta; char *ifname_peer; struct hw_addr_data hw_addr_peer; int ifindex_peer; -}; +} Veth; DEFINE_NETDEV_CAST(VETH, Veth); extern const NetDevVTable veth_vtable; diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c index 0f62fcaff38..a962d849525 100644 --- a/src/network/netdev/vlan.c +++ b/src/network/netdev/vlan.c @@ -1,12 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include -#include + +#include "sd-netlink.h" #include "alloc-util.h" +#include "extract-word.h" #include "parse-util.h" +#include "set.h" +#include "siphash24.h" +#include "string-util.h" #include "vlan.h" #include "vlan-util.h" diff --git a/src/network/netdev/vlan.h b/src/network/netdev/vlan.h index 1e5e5904fcd..073f21a9f30 100644 --- a/src/network/netdev/vlan.h +++ b/src/network/netdev/vlan.h @@ -1,12 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct VLan VLan; - +#include "forward.h" #include "netdev.h" -#include "set.h" -struct VLan { +typedef struct VLan { NetDev meta; uint16_t id; @@ -19,7 +17,7 @@ struct VLan { Set *egress_qos_maps; Set *ingress_qos_maps; -}; +} VLan; DEFINE_NETDEV_CAST(VLAN, VLan); extern const NetDevVTable vlan_vtable; diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c index 6a8d6e8f31a..540c269f2d3 100644 --- a/src/network/netdev/vrf.c +++ b/src/network/netdev/vrf.c @@ -1,8 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include + +#include "sd-netlink.h" #include "vrf.h" diff --git a/src/network/netdev/vrf.h b/src/network/netdev/vrf.h index 87977e230ca..7bf94478567 100644 --- a/src/network/netdev/vrf.h +++ b/src/network/netdev/vrf.h @@ -1,15 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Vrf Vrf; - #include "netdev.h" -struct Vrf { +typedef struct Vrf { NetDev meta; uint32_t table; -}; +} Vrf; DEFINE_NETDEV_CAST(VRF, Vrf); extern const NetDevVTable vrf_vtable; diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c index 2de89b8e244..35c3a98a8c1 100644 --- a/src/network/netdev/vxcan.c +++ b/src/network/netdev/vxcan.c @@ -3,6 +3,9 @@ #include #include +#include "sd-netlink.h" + +#include "string-util.h" #include "vxcan.h" static int netdev_vxcan_fill_message_create(NetDev *netdev, Link *link, sd_netlink_message *m) { diff --git a/src/network/netdev/vxcan.h b/src/network/netdev/vxcan.h index b835ce2c91a..65e0a26d1ec 100644 --- a/src/network/netdev/vxcan.h +++ b/src/network/netdev/vxcan.h @@ -1,16 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct VxCan VxCan; - #include "netdev.h" -struct VxCan { +typedef struct VxCan { NetDev meta; char *ifname_peer; int ifindex_peer; -}; +} VxCan; DEFINE_NETDEV_CAST(VXCAN, VxCan); diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c index 1796cf764ec..12eacab3779 100644 --- a/src/network/netdev/vxlan.c +++ b/src/network/netdev/vxlan.c @@ -1,17 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include -#include "alloc-util.h" +#include "sd-netlink.h" + #include "conf-parser.h" -#include "extract-word.h" +#include "in-addr-util.h" #include "networkd-link.h" #include "parse-util.h" #include "string-table.h" #include "string-util.h" -#include "strv.h" +#include "time-util.h" #include "vxlan.h" static const char* const df_table[_NETDEV_VXLAN_DF_MAX] = { diff --git a/src/network/netdev/vxlan.h b/src/network/netdev/vxlan.h index cb0386adbe2..1787eceb911 100644 --- a/src/network/netdev/vxlan.h +++ b/src/network/netdev/vxlan.h @@ -1,13 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct VxLan VxLan; - #include #include "in-addr-util.h" #include "netdev.h" -#include "netdev-util.h" #define VXLAN_VID_MAX (1u << 24) - 1 #define VXLAN_FLOW_LABEL_MAX_MASK 0xFFFFFU @@ -20,7 +17,7 @@ typedef enum VxLanDF { _NETDEV_VXLAN_DF_INVALID = -EINVAL, } VxLanDF; -struct VxLan { +typedef struct VxLan { NetDev meta; uint32_t vni; @@ -63,7 +60,7 @@ struct VxLan { bool vnifilter; struct ifla_vxlan_port_range port_range; -}; +} VxLan; DEFINE_NETDEV_CAST(VXLAN, VxLan); extern const NetDevVTable vxlan_vtable; diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c index 69584bbec18..1a731fc451f 100644 --- a/src/network/netdev/wireguard.c +++ b/src/network/netdev/wireguard.c @@ -4,19 +4,20 @@ ***/ #include -#include -#include +#include #include -#include +#include "sd-netlink.h" #include "sd-resolve.h" #include "alloc-util.h" +#include "conf-parser.h" #include "creds-util.h" #include "dns-domain.h" #include "event-util.h" -#include "fd-util.h" +#include "extract-word.h" #include "fileio.h" +#include "hashmap.h" #include "hexdecoct.h" #include "memory-util.h" #include "netlink-util.h" @@ -28,9 +29,8 @@ #include "parse-util.h" #include "path-util.h" #include "random-util.h" -#include "resolve-private.h" +#include "set.h" #include "string-util.h" -#include "strv.h" #include "wireguard.h" static void wireguard_resolve_endpoints(NetDev *netdev); diff --git a/src/network/netdev/wireguard.h b/src/network/netdev/wireguard.h index 3925f4787b8..3bf88565147 100644 --- a/src/network/netdev/wireguard.h +++ b/src/network/netdev/wireguard.h @@ -2,16 +2,12 @@ #pragma once -typedef struct Wireguard Wireguard; - #include -#include - -#include "sd-event.h" -#include "sd-resolve.h" #include "in-addr-util.h" +#include "list.h" #include "netdev.h" +#include "networkd-forward.h" #include "socket-util.h" typedef struct WireguardIPmask { @@ -50,7 +46,7 @@ typedef struct WireguardPeer { LIST_FIELDS(struct WireguardPeer, peers); } WireguardPeer; -struct Wireguard { +typedef struct Wireguard { NetDev meta; unsigned last_peer_section; @@ -66,7 +62,7 @@ struct Wireguard { Set *routes; uint32_t route_table; uint32_t route_priority; -}; +} Wireguard; DEFINE_NETDEV_CAST(WIREGUARD, Wireguard); extern const NetDevVTable wireguard_vtable; diff --git a/src/network/netdev/wlan.c b/src/network/netdev/wlan.c index 5b9db8b219b..37e7e67d539 100644 --- a/src/network/netdev/wlan.c +++ b/src/network/netdev/wlan.c @@ -8,6 +8,7 @@ #include "networkd-manager.h" #include "networkd-wiphy.h" #include "parse-util.h" +#include "string-util.h" #include "wifi-util.h" #include "wlan.h" diff --git a/src/network/netdev/wlan.h b/src/network/netdev/wlan.h index bcc2dbcfd0c..4b4ca79b602 100644 --- a/src/network/netdev/wlan.h +++ b/src/network/netdev/wlan.h @@ -3,7 +3,7 @@ #include -#include "conf-parser.h" +#include "forward.h" #include "netdev.h" typedef struct WLan { diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c index 4a91ab4158b..07015a9434b 100644 --- a/src/network/netdev/xfrm.c +++ b/src/network/netdev/xfrm.c @@ -2,6 +2,8 @@ #include +#include "sd-netlink.h" + #include "missing_network.h" #include "networkd-link.h" #include "xfrm.h" diff --git a/src/network/netdev/xfrm.h b/src/network/netdev/xfrm.h index f56c4f272ac..aafbca8939e 100644 --- a/src/network/netdev/xfrm.h +++ b/src/network/netdev/xfrm.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "forward.h" #include "netdev.h" typedef struct Xfrm { diff --git a/src/network/networkctl-config-file.c b/src/network/networkctl-config-file.c index 776aa5638d1..a5e7b4da019 100644 --- a/src/network/networkctl-config-file.c +++ b/src/network/networkctl-config-file.c @@ -2,6 +2,7 @@ #include +#include "sd-bus.h" #include "sd-daemon.h" #include "sd-device.h" #include "sd-netlink.h" @@ -14,6 +15,7 @@ #include "bus-wait-for-jobs.h" #include "conf-files.h" #include "edit-util.h" +#include "errno-util.h" #include "extract-word.h" #include "log.h" #include "mkdir-label.h" @@ -23,13 +25,15 @@ #include "networkctl-config-file.h" #include "networkctl-util.h" #include "pager.h" -#include "path-lookup.h" #include "path-util.h" #include "pretty-print.h" #include "selinux-util.h" +#include "socket-util.h" #include "stat-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" +#include "terminal-util.h" #include "virt.h" typedef enum ReloadFlags { diff --git a/src/network/networkctl-description.c b/src/network/networkctl-description.c index 8c52a46e7f7..fd6cbd78817 100644 --- a/src/network/networkctl-description.c +++ b/src/network/networkctl-description.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/network/networkctl-dump-util.c b/src/network/networkctl-dump-util.c index a174f872728..20d5e8f43cc 100644 --- a/src/network/networkctl-dump-util.c +++ b/src/network/networkctl-dump-util.c @@ -1,12 +1,19 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-dhcp-lease.h" +#include "sd-hwdb.h" +#include "sd-netlink.h" + #include "alloc-util.h" +#include "ether-addr-util.h" #include "format-ifname.h" +#include "format-table.h" #include "in-addr-util.h" #include "local-addresses.h" #include "log.h" #include "networkctl-dump-util.h" #include "stdio-util.h" +#include "string-util.h" #include "strv.h" int dump_list(Table *table, const char *key, char * const *l) { diff --git a/src/network/networkctl-dump-util.h b/src/network/networkctl-dump-util.h index c4dfae9a46c..e7950a59ac0 100644 --- a/src/network/networkctl-dump-util.h +++ b/src/network/networkctl-dump-util.h @@ -1,12 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-dhcp-lease.h" -#include "sd-hwdb.h" -#include "sd-netlink.h" - -#include "ether-addr-util.h" -#include "format-table.h" +#include "forward.h" int dump_list(Table *table, const char *key, char * const *l); int ieee_oui(sd_hwdb *hwdb, const struct ether_addr *mac, char **ret); diff --git a/src/network/networkctl-journal.c b/src/network/networkctl-journal.c index ca94410aee4..c54d9a9a8c2 100644 --- a/src/network/networkctl-journal.c +++ b/src/network/networkctl-journal.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-journal.h" + #include "ansi-color.h" #include "journal-internal.h" #include "log.h" diff --git a/src/network/networkctl-link-info.c b/src/network/networkctl-link-info.c index c687da9e0f8..9db89be8a8c 100644 --- a/src/network/networkctl-link-info.c +++ b/src/network/networkctl-link-info.c @@ -2,6 +2,9 @@ #include +#include "sd-bus.h" +#include "sd-netlink.h" + #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-error.h" @@ -13,6 +16,8 @@ #include "networkctl-link-info.h" #include "networkctl-util.h" #include "sort-util.h" +#include "stdio-util.h" +#include "string-util.h" #include "strv.h" #include "strxcpyx.h" #include "wifi-util.h" diff --git a/src/network/networkctl-link-info.h b/src/network/networkctl-link-info.h index 5dc5e7e25f6..1dfd910e35b 100644 --- a/src/network/networkctl-link-info.h +++ b/src/network/networkctl-link-info.h @@ -3,14 +3,10 @@ #include #include #include -#include - -#include "sd-bus.h" -#include "sd-device.h" -#include "sd-netlink.h" #include "ether-addr-util.h" #include "ethtool-util.h" +#include "forward.h" #include "in-addr-util.h" typedef struct VxLanInfo { diff --git a/src/network/networkctl-list.c b/src/network/networkctl-list.c index 4cb976216e1..23012060c0c 100644 --- a/src/network/networkctl-list.c +++ b/src/network/networkctl-list.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" +#include "sd-netlink.h" #include "sd-network.h" #include "alloc-util.h" diff --git a/src/network/networkctl-lldp.c b/src/network/networkctl-lldp.c index ef2f3ffef70..43727a1b82f 100644 --- a/src/network/networkctl-lldp.c +++ b/src/network/networkctl-lldp.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" +#include "format-table.h" #include "json-util.h" #include "log.h" #include "networkctl.h" @@ -8,6 +9,7 @@ #include "networkctl-lldp.h" #include "networkctl-util.h" #include "stdio-util.h" +#include "string-util.h" #include "strv.h" #include "terminal-util.h" #include "varlink-util.h" diff --git a/src/network/networkctl-lldp.h b/src/network/networkctl-lldp.h index 3ec6fe76c11..abbab831330 100644 --- a/src/network/networkctl-lldp.h +++ b/src/network/networkctl-lldp.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-varlink.h" - -#include "format-table.h" +#include "forward.h" int dump_lldp_neighbors(sd_varlink *vl, Table *table, int ifindex); int link_lldp_status(int argc, char *argv[], void *userdata); diff --git a/src/network/networkctl-misc.c b/src/network/networkctl-misc.c index 1f6c6fdcb26..4166b90061a 100644 --- a/src/network/networkctl-misc.c +++ b/src/network/networkctl-misc.c @@ -1,9 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include +#include "sd-bus.h" +#include "sd-netlink.h" #include "bus-error.h" #include "bus-locator.h" +#include "errno-util.h" #include "fd-util.h" #include "format-ifname.h" #include "log.h" @@ -14,7 +16,7 @@ #include "parse-util.h" #include "polkit-agent.h" #include "set.h" -#include "strv.h" +#include "string-util.h" #include "varlink-util.h" static int link_up_down_send_message(sd_netlink *rtnl, char *command, int index) { diff --git a/src/network/networkctl-status-link.c b/src/network/networkctl-status-link.c index a2a451f6c0a..5d54b8607f7 100644 --- a/src/network/networkctl-status-link.c +++ b/src/network/networkctl-status-link.c @@ -1,16 +1,23 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include - +#include "sd-bus.h" +#include "sd-device.h" +#include "sd-dhcp-client-id.h" +#include "sd-dhcp-lease.h" +#include "sd-hwdb.h" +#include "sd-netlink.h" #include "sd-network.h" +#include "sd-varlink.h" #include "alloc-util.h" #include "bond-util.h" #include "bridge-util.h" #include "bus-error.h" #include "bus-util.h" +#include "errno-util.h" #include "escape.h" #include "extract-word.h" +#include "format-table.h" #include "format-util.h" #include "geneve-util.h" #include "glyph-util.h" @@ -28,7 +35,9 @@ #include "networkctl-status-system.h" #include "networkctl-util.h" #include "stdio-util.h" +#include "string-util.h" #include "strv.h" +#include "time-util.h" #include "udev-util.h" static int dump_dhcp_leases(Table *table, const char *prefix, sd_bus *bus, const LinkInfo *link) { diff --git a/src/network/networkctl-status-system.c b/src/network/networkctl-status-system.c index dcd04586775..bb1b5d1377b 100644 --- a/src/network/networkctl-status-system.c +++ b/src/network/networkctl-status-system.c @@ -3,6 +3,7 @@ #include "sd-network.h" #include "alloc-util.h" +#include "format-table.h" #include "fs-util.h" #include "glyph-util.h" #include "log.h" @@ -12,6 +13,7 @@ #include "networkctl-status-system.h" #include "networkctl-util.h" #include "sort-util.h" +#include "string-util.h" #include "strv.h" static int ifindex_str_compare_func(char * const *a, char * const *b) { diff --git a/src/network/networkctl-status-system.h b/src/network/networkctl-status-system.h index 8d9da175c45..a3292a85f0f 100644 --- a/src/network/networkctl-status-system.h +++ b/src/network/networkctl-status-system.h @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-hwdb.h" -#include "sd-netlink.h" +#include "forward.h" int system_status(sd_netlink *rtnl, sd_hwdb *hwdb); diff --git a/src/network/networkctl-util.c b/src/network/networkctl-util.c index 08cceb44e88..37fa4835973 100644 --- a/src/network/networkctl-util.c +++ b/src/network/networkctl-util.c @@ -3,12 +3,15 @@ #include #include +#include "sd-bus.h" + #include "alloc-util.h" #include "ansi-color.h" #include "log.h" #include "networkctl.h" #include "networkctl-util.h" #include "stdio-util.h" +#include "string-util.h" #include "strv.h" #include "varlink-util.h" diff --git a/src/network/networkctl-util.h b/src/network/networkctl-util.h index 10792152dcd..c8e2be8cd51 100644 --- a/src/network/networkctl-util.h +++ b/src/network/networkctl-util.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-bus.h" -#include "sd-varlink.h" +#include "forward.h" int varlink_connect_networkd(sd_varlink **ret_varlink); bool networkd_is_running(void); diff --git a/src/network/networkctl.c b/src/network/networkctl.c index cee7be5ee15..2f1354259a5 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -14,11 +14,11 @@ #include "networkctl-lldp.h" #include "networkctl-misc.h" #include "networkctl-status-link.h" -#include "networkctl-util.h" #include "parse-argument.h" #include "parse-util.h" #include "path-util.h" #include "pretty-print.h" +#include "string-util.h" #include "verbs.h" PagerFlags arg_pager_flags = 0; diff --git a/src/network/networkctl.h b/src/network/networkctl.h index cb76fe41e1b..39c81e79470 100644 --- a/src/network/networkctl.h +++ b/src/network/networkctl.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "output-mode.h" +#include "forward.h" #include "pager.h" extern PagerFlags arg_pager_flags; diff --git a/src/network/networkd-address-generation.c b/src/network/networkd-address-generation.c index 18840e02d13..c94ce750bca 100644 --- a/src/network/networkd-address-generation.c +++ b/src/network/networkd-address-generation.c @@ -6,11 +6,14 @@ #include "alloc-util.h" #include "arphrd-util.h" +#include "hash-funcs.h" #include "id128-util.h" -#include "memory-util.h" #include "networkd-address-generation.h" +#include "networkd-address.h" #include "networkd-link.h" #include "networkd-network.h" +#include "set.h" +#include "siphash24.h" #include "string-util.h" #define DAD_CONFLICTS_IDGEN_RETRIES_RFC7217 3 diff --git a/src/network/networkd-address-generation.h b/src/network/networkd-address-generation.h index 2c6091321ae..c08794f253a 100644 --- a/src/network/networkd-address-generation.h +++ b/src/network/networkd-address-generation.h @@ -1,13 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" -#include "hashmap.h" -#include "in-addr-util.h" - -typedef struct Address Address; -typedef struct IPv6Token IPv6Token; -typedef struct Link Link; +#include "networkd-forward.h" IPv6Token* ipv6_token_ref(IPv6Token *token); IPv6Token* ipv6_token_unref(IPv6Token *token); diff --git a/src/network/networkd-address-label.c b/src/network/networkd-address-label.c index 5f7a2b7ede4..124fc94e142 100644 --- a/src/network/networkd-address-label.c +++ b/src/network/networkd-address-label.c @@ -1,16 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include -#include + +#include "sd-netlink.h" #include "alloc-util.h" -#include "netlink-util.h" +#include "conf-parser.h" +#include "hashmap.h" #include "networkd-address-label.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-network.h" #include "networkd-queue.h" #include "parse-util.h" +#include "string-util.h" AddressLabel *address_label_free(AddressLabel *label) { if (!label) diff --git a/src/network/networkd-address-label.h b/src/network/networkd-address-label.h index f0c7943545a..dc0cd5be1f1 100644 --- a/src/network/networkd-address-label.h +++ b/src/network/networkd-address-label.h @@ -1,15 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include +#include -#include "conf-parser.h" -#include "in-addr-util.h" -#include "networkd-util.h" - -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; +#include "networkd-forward.h" typedef struct AddressLabel { Manager *manager; diff --git a/src/network/networkd-address-pool.c b/src/network/networkd-address-pool.c index c3f9fb71e17..a93d2ddfa65 100644 --- a/src/network/networkd-address-pool.c +++ b/src/network/networkd-address-pool.c @@ -5,7 +5,8 @@ #include "networkd-address-pool.h" #include "networkd-manager.h" #include "networkd-queue.h" -#include "string-util.h" +#include "ordered-set.h" +#include "set.h" #define RANDOM_PREFIX_TRIAL_MAX 1024 diff --git a/src/network/networkd-address-pool.h b/src/network/networkd-address-pool.h index 93bdec82e3f..c40258f03c7 100644 --- a/src/network/networkd-address-pool.h +++ b/src/network/networkd-address-pool.h @@ -1,10 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "networkd-forward.h" #include "in-addr-util.h" -typedef struct Manager Manager; - typedef struct AddressPool { Manager *manager; diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index acf22f20535..ab6ed78f4d5 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -1,16 +1,21 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include +#include + +#include "sd-event.h" +#include "sd-netlink.h" #include "af-list.h" #include "alloc-util.h" #include "bitfield.h" +#include "conf-parser.h" +#include "errno-util.h" #include "firewall-util.h" #include "in-addr-prefix-util.h" #include "logarithm.h" -#include "memory-util.h" #include "netlink-util.h" +#include "networkd-address-generation.h" #include "networkd-address.h" #include "networkd-address-pool.h" #include "networkd-dhcp-prefix-delegation.h" @@ -23,10 +28,13 @@ #include "networkd-queue.h" #include "networkd-route.h" #include "networkd-route-util.h" +#include "ordered-set.h" #include "parse-util.h" +#include "set.h" +#include "siphash24.h" +#include "socket-util.h" #include "string-util.h" #include "strv.h" -#include "strxcpyx.h" #define ADDRESSES_PER_LINK_MAX 16384U #define STATIC_ADDRESSES_PER_NETWORK_MAX 8192U diff --git a/src/network/networkd-address.h b/src/network/networkd-address.h index 1c171a476a2..c68ecb5ec09 100644 --- a/src/network/networkd-address.h +++ b/src/network/networkd-address.h @@ -1,24 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include -#include - -#include "conf-parser.h" #include "firewall-util.h" -#include "hash-funcs.h" +#include "forward.h" #include "in-addr-util.h" -#include "network-util.h" -#include "networkd-address-generation.h" -#include "networkd-link.h" +#include "networkd-forward.h" #include "networkd-util.h" -#include "time-util.h" -typedef struct Address Address; -typedef struct Manager Manager; -typedef struct Network Network; -typedef struct Request Request; typedef int (*address_ready_callback_t)(Address *address); typedef int (*address_netlink_handler_t)( sd_netlink *rtnl, @@ -27,7 +15,7 @@ typedef int (*address_netlink_handler_t)( Link *link, Address *address); -struct Address { +typedef struct Address { Link *link; Network *network; ConfigSection *section; @@ -71,7 +59,7 @@ struct Address { address_ready_callback_t callback; NFTSetContext nft_set_context; -}; +} Address; void log_address_debug(const Address *address, const char *str, const Link *link); diff --git a/src/network/networkd-bridge-fdb.c b/src/network/networkd-bridge-fdb.c index 9a455d8ba3a..6a635a88018 100644 --- a/src/network/networkd-bridge-fdb.c +++ b/src/network/networkd-bridge-fdb.c @@ -3,11 +3,11 @@ Copyright © 2014 Intel Corporation. All rights reserved. ***/ -#include -#include +#include "sd-netlink.h" #include "alloc-util.h" -#include "bridge.h" +#include "conf-parser.h" +#include "hashmap.h" #include "netlink-util.h" #include "networkd-bridge-fdb.h" #include "networkd-link.h" @@ -16,7 +16,9 @@ #include "networkd-queue.h" #include "networkd-util.h" #include "parse-util.h" +#include "socket-util.h" #include "string-table.h" +#include "string-util.h" #include "vlan-util.h" #include "vxlan.h" diff --git a/src/network/networkd-bridge-fdb.h b/src/network/networkd-bridge-fdb.h index 8bb50627cbb..0c60a4ad1b9 100644 --- a/src/network/networkd-bridge-fdb.h +++ b/src/network/networkd-bridge-fdb.h @@ -5,15 +5,12 @@ Copyright © 2014 Intel Corporation. All rights reserved. ***/ -#include #include +#include -#include "conf-parser.h" -#include "ether-addr-util.h" +#include "forward.h" #include "in-addr-util.h" - -typedef struct Link Link; -typedef struct Network Network; +#include "networkd-forward.h" typedef enum NeighborCacheEntryFlags { NEIGHBOR_CACHE_ENTRY_FLAGS_USE = NTF_USE, diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c index aba4571352c..b868901b762 100644 --- a/src/network/networkd-bridge-mdb.c +++ b/src/network/networkd-bridge-mdb.c @@ -1,9 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include "netlink-util.h" +#include "sd-netlink.h" + +#include "conf-parser.h" +#include "hashmap.h" #include "networkd-bridge-mdb.h" #include "networkd-link.h" #include "networkd-manager.h" diff --git a/src/network/networkd-bridge-mdb.h b/src/network/networkd-bridge-mdb.h index 89c70fb68f0..4cb67214073 100644 --- a/src/network/networkd-bridge-mdb.h +++ b/src/network/networkd-bridge-mdb.h @@ -1,14 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include #include -#include "conf-parser.h" #include "in-addr-util.h" - -typedef struct Link Link; -typedef struct Network Network; +#include "networkd-forward.h" typedef enum BridgeMDBEntryType { BRIDGE_MDB_ENTRY_TYPE_L2, diff --git a/src/network/networkd-bridge-vlan.c b/src/network/networkd-bridge-vlan.c index c9be1dd0499..e36374dad27 100644 --- a/src/network/networkd-bridge-vlan.c +++ b/src/network/networkd-bridge-vlan.c @@ -4,17 +4,16 @@ ***/ #include -#include -#include + +#include "sd-netlink.h" #include "alloc-util.h" -#include "conf-parser.h" #include "netlink-util.h" #include "networkd-bridge-vlan.h" #include "networkd-link.h" -#include "networkd-manager.h" #include "networkd-network.h" #include "parse-util.h" +#include "string-util.h" #include "vlan-util.h" static bool is_bit_set(unsigned nr, const uint32_t *addr) { diff --git a/src/network/networkd-bridge-vlan.h b/src/network/networkd-bridge-vlan.h index 0366cc6feea..f497a1f6708 100644 --- a/src/network/networkd-bridge-vlan.h +++ b/src/network/networkd-bridge-vlan.h @@ -5,12 +5,7 @@ Copyright © 2016 BISDN GmbH. All rights reserved. ***/ -#include -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" +#include "networkd-forward.h" #include "vlan-util.h" #define BRIDGE_VLAN_BITMAP_MAX 4096 @@ -20,9 +15,6 @@ #define BRIDGE_VLAN_REMOVE_PVID (UINT16_MAX - 1) assert_cc(BRIDGE_VLAN_REMOVE_PVID > VLANID_MAX); -typedef struct Link Link; -typedef struct Network Network; - void network_adjust_bridge_vlan(Network *network); int bridge_vlan_set_message(Link *link, sd_netlink_message *m, bool is_set); diff --git a/src/network/networkd-can.c b/src/network/networkd-can.c index abd5518097c..3cb4ed1100d 100644 --- a/src/network/networkd-can.c +++ b/src/network/networkd-can.c @@ -1,12 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include + +#include "sd-netlink.h" #include "networkd-can.h" #include "networkd-link.h" #include "networkd-network.h" -#include "networkd-setlink.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/networkd-can.h b/src/network/networkd-can.h index 3945082498f..52d0604548b 100644 --- a/src/network/networkd-can.h +++ b/src/network/networkd-can.h @@ -1,13 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" - -typedef struct Link Link; +#include "networkd-forward.h" int can_set_netlink_message(Link *link, sd_netlink_message *m); diff --git a/src/network/networkd-conf.c b/src/network/networkd-conf.c index 0ec45d3dd91..bce16284f84 100644 --- a/src/network/networkd-conf.c +++ b/src/network/networkd-conf.c @@ -4,7 +4,6 @@ ***/ #include "conf-parser.h" -#include "constants.h" #include "networkd-address-label.h" #include "networkd-conf.h" #include "networkd-manager.h" diff --git a/src/network/networkd-conf.h b/src/network/networkd-conf.h index 6f8612ac919..ccd574fdbf2 100644 --- a/src/network/networkd-conf.h +++ b/src/network/networkd-conf.h @@ -5,9 +5,7 @@ Copyright © 2014 Vinay Kulkarni ***/ -#include "conf-parser.h" - -typedef struct Manager Manager; +#include "networkd-forward.h" int manager_parse_config_file(Manager *m); diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c index 2edc94d13eb..74555cf78fa 100644 --- a/src/network/networkd-dhcp-common.c +++ b/src/network/networkd-dhcp-common.c @@ -1,14 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include #include +#include "sd-bus.h" +#include "sd-dhcp6-lease.h" +#include "sd-dhcp6-option.h" + #include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "dhcp-option.h" -#include "dhcp6-internal.h" +#include "dhcp6-option.h" #include "escape.h" +#include "extract-word.h" #include "hexdecoct.h" #include "in-addr-prefix-util.h" #include "networkd-dhcp-common.h" @@ -17,8 +23,10 @@ #include "networkd-network.h" #include "networkd-route-util.h" #include "parse-util.h" +#include "set.h" #include "socket-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" #include "vrf.h" diff --git a/src/network/networkd-dhcp-common.h b/src/network/networkd-dhcp-common.h index 778378f5ff7..859c174f977 100644 --- a/src/network/networkd-dhcp-common.h +++ b/src/network/networkd-dhcp-common.h @@ -3,12 +3,9 @@ #include -#include "conf-parser.h" #include "dhcp-duid-internal.h" -#include "dns-resolver-internal.h" #include "in-addr-util.h" -#include "set.h" -#include "time-util.h" +#include "networkd-forward.h" /* Special values for *_uplink_index. */ #define UPLINK_INDEX_AUTO 0 /* uplink will be selected automatically */ @@ -21,10 +18,6 @@ #define IPV6RA_ROUTE_METRIC_LOW 2048 #define DHCP6PD_ROUTE_METRIC 256 -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; - typedef enum DHCPOptionDataType { DHCP_OPTION_DATA_UINT8, DHCP_OPTION_DATA_UINT16, diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c index e519896fa07..1a5ccf1d20d 100644 --- a/src/network/networkd-dhcp-prefix-delegation.c +++ b/src/network/networkd-dhcp-prefix-delegation.c @@ -1,8 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include + +#include "sd-dhcp-client.h" +#include "sd-dhcp6-client.h" +#include "sd-netlink.h" +#include "sd-radv.h" #include "dhcp6-lease-internal.h" +#include "errno-util.h" #include "hashmap.h" #include "in-addr-prefix-util.h" #include "networkd-address.h" @@ -17,6 +24,7 @@ #include "networkd-route-util.h" #include "networkd-setlink.h" #include "parse-util.h" +#include "set.h" #include "string-util.h" #include "strv.h" #include "tunnel.h" diff --git a/src/network/networkd-dhcp-prefix-delegation.h b/src/network/networkd-dhcp-prefix-delegation.h index 27e920e1cf0..3ffc2beb541 100644 --- a/src/network/networkd-dhcp-prefix-delegation.h +++ b/src/network/networkd-dhcp-prefix-delegation.h @@ -1,16 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-dhcp-lease.h" -#include "sd-dhcp6-lease.h" - -#include "conf-parser.h" - -typedef struct Address Address; -typedef struct Link Link; -typedef struct Network Network; +#include "networkd-forward.h" bool link_dhcp_pd_is_enabled(Link *link); bool dhcp_pd_is_uplink(Link *link, Link *target, bool accept_auto); diff --git a/src/network/networkd-dhcp-server-bus.c b/src/network/networkd-dhcp-server-bus.c index 8a6822e2b7a..14effff529a 100644 --- a/src/network/networkd-dhcp-server-bus.c +++ b/src/network/networkd-dhcp-server-bus.c @@ -1,13 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" -#include "bus-common-errors.h" -#include "bus-util.h" +#include "bus-object.h" #include "dhcp-server-lease-internal.h" +#include "hashmap.h" #include "networkd-dhcp-server-bus.h" #include "networkd-link-bus.h" #include "networkd-manager.h" -#include "strv.h" static int property_get_leases( sd_bus *bus, diff --git a/src/network/networkd-dhcp-server-bus.h b/src/network/networkd-dhcp-server-bus.h index f52be8253e1..1d818df4c7e 100644 --- a/src/network/networkd-dhcp-server-bus.h +++ b/src/network/networkd-dhcp-server-bus.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" -#include "sd-dhcp-server.h" - -#include "bus-object.h" +#include "networkd-forward.h" extern const BusObjectImplementation dhcp_server_object; diff --git a/src/network/networkd-dhcp-server-static-lease.c b/src/network/networkd-dhcp-server-static-lease.c index b8c7e4dde8b..1d13c9e7b98 100644 --- a/src/network/networkd-dhcp-server-static-lease.c +++ b/src/network/networkd-dhcp-server-static-lease.c @@ -1,11 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" +#include "conf-parser.h" #include "ether-addr-util.h" #include "hashmap.h" #include "networkd-dhcp-server-static-lease.h" #include "networkd-network.h" -#include "networkd-util.h" +#include "string-util.h" static DHCPStaticLease* dhcp_static_lease_free(DHCPStaticLease *static_lease) { if (!static_lease) diff --git a/src/network/networkd-dhcp-server-static-lease.h b/src/network/networkd-dhcp-server-static-lease.h index fe8e249d5a7..11711a38a77 100644 --- a/src/network/networkd-dhcp-server-static-lease.h +++ b/src/network/networkd-dhcp-server-static-lease.h @@ -2,13 +2,9 @@ #pragma once -#include +#include -#include "conf-parser.h" -#include "in-addr-util.h" - -typedef struct Network Network; -typedef struct ConfigSection ConfigSection; +#include "networkd-forward.h" typedef struct DHCPStaticLease { Network *network; diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c index 45b92d9ec0c..6679e4ed41d 100644 --- a/src/network/networkd-dhcp-server.c +++ b/src/network/networkd-dhcp-server.c @@ -1,15 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include #include "sd-dhcp-server.h" +#include "conf-parser.h" #include "dhcp-protocol.h" #include "dhcp-server-lease-internal.h" +#include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" +#include "hashmap.h" #include "network-common.h" #include "networkd-address.h" #include "networkd-dhcp-server.h" @@ -21,10 +24,9 @@ #include "networkd-ntp.h" #include "networkd-queue.h" #include "networkd-route-util.h" -#include "parse-util.h" #include "path-util.h" +#include "set.h" #include "socket-netlink.h" -#include "string-table.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/networkd-dhcp-server.h b/src/network/networkd-dhcp-server.h index e839fac00b4..419088f3066 100644 --- a/src/network/networkd-dhcp-server.h +++ b/src/network/networkd-dhcp-server.h @@ -1,14 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" -#include "in-addr-util.h" -#include "set.h" - -typedef struct Address Address; -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; +#include "networkd-forward.h" int network_adjust_dhcp_server(Network *network, Set **addresses); int address_acquire_from_dhcp_server_leases_file(Link *link, const Address *address, union in_addr_union *ret); diff --git a/src/network/networkd-dhcp4-bus.c b/src/network/networkd-dhcp4-bus.c index 68fe7bc394b..9162a5ce427 100644 --- a/src/network/networkd-dhcp4-bus.c +++ b/src/network/networkd-dhcp4-bus.c @@ -1,16 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" #include "sd-dhcp-client.h" #include "alloc-util.h" -#include "bus-common-errors.h" -#include "bus-util.h" +#include "bus-object.h" #include "dhcp-client-internal.h" #include "networkd-dhcp4-bus.h" #include "networkd-link-bus.h" #include "networkd-manager.h" -#include "string-table.h" -#include "strv.h" static int property_get_dhcp_client_state( sd_bus *bus, diff --git a/src/network/networkd-dhcp4-bus.h b/src/network/networkd-dhcp4-bus.h index 482e824c0ac..037202e4d51 100644 --- a/src/network/networkd-dhcp4-bus.h +++ b/src/network/networkd-dhcp4-bus.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-dhcp-client.h" - -#include "networkd-link-bus.h" +#include "networkd-forward.h" extern const BusObjectImplementation dhcp_client_object; diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c index b94935ebd99..7bb203e70a5 100644 --- a/src/network/networkd-dhcp4.c +++ b/src/network/networkd-dhcp4.c @@ -1,16 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include +#include #include #include +#include + +#include "sd-dhcp-protocol.h" +#include "sd-ipv4ll.h" #include "alloc-util.h" +#include "conf-parser.h" #include "device-private.h" #include "dhcp-client-internal.h" +#include "errno-util.h" #include "hostname-setup.h" -#include "hostname-util.h" -#include "network-internal.h" #include "networkd-address.h" #include "networkd-dhcp-prefix-delegation.h" #include "networkd-dhcp4.h" @@ -26,9 +30,11 @@ #include "networkd-setlink.h" #include "networkd-state-file.h" #include "parse-util.h" +#include "set.h" +#include "socket-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" -#include "sysctl-util.h" void network_adjust_dhcp4(Network *network) { assert(network); diff --git a/src/network/networkd-dhcp4.h b/src/network/networkd-dhcp4.h index 401ff59f694..2d6cc9bbc8e 100644 --- a/src/network/networkd-dhcp4.h +++ b/src/network/networkd-dhcp4.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" - -typedef struct Link Link; -typedef struct Network Network; +#include "networkd-forward.h" typedef enum DHCPClientIdentifier { DHCP_CLIENT_ID_MAC, diff --git a/src/network/networkd-dhcp6-bus.c b/src/network/networkd-dhcp6-bus.c index 7f37ca09eb6..ee2f645df3a 100644 --- a/src/network/networkd-dhcp6-bus.c +++ b/src/network/networkd-dhcp6-bus.c @@ -1,15 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" -#include "bus-common-errors.h" -#include "bus-util.h" +#include "bus-object.h" #include "dhcp6-client-internal.h" #include "dhcp6-protocol.h" #include "networkd-dhcp6-bus.h" #include "networkd-link-bus.h" #include "networkd-manager.h" -#include "string-table.h" -#include "strv.h" static int property_get_dhcp6_client_state( sd_bus *bus, diff --git a/src/network/networkd-dhcp6-bus.h b/src/network/networkd-dhcp6-bus.h index 76a6b727aa8..c60581a31d0 100644 --- a/src/network/networkd-dhcp6-bus.h +++ b/src/network/networkd-dhcp6-bus.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-dhcp6-client.h" - -#include "networkd-link-bus.h" +#include "networkd-forward.h" extern const BusObjectImplementation dhcp6_client_object; diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c index 222d791e4b4..4806980993a 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -3,11 +3,17 @@ Copyright © 2014 Intel Corporation. All rights reserved. ***/ +#include +#include + +#include "sd-dhcp6-protocol.h" + +#include "conf-parser.h" #include "dhcp6-client-internal.h" #include "dhcp6-lease-internal.h" +#include "errno-util.h" #include "hashmap.h" #include "hostname-setup.h" -#include "hostname-util.h" #include "networkd-address.h" #include "networkd-dhcp-prefix-delegation.h" #include "networkd-dhcp6.h" @@ -18,6 +24,7 @@ #include "networkd-queue.h" #include "networkd-route.h" #include "networkd-state-file.h" +#include "set.h" #include "string-table.h" #include "string-util.h" diff --git a/src/network/networkd-dhcp6.h b/src/network/networkd-dhcp6.h index 89915a19ac1..5ce5c2c97b9 100644 --- a/src/network/networkd-dhcp6.h +++ b/src/network/networkd-dhcp6.h @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" -#include "macro.h" +#include "networkd-forward.h" typedef enum DHCP6ClientStartMode { DHCP6_CLIENT_START_MODE_NO, @@ -12,9 +11,6 @@ typedef enum DHCP6ClientStartMode { _DHCP6_CLIENT_START_MODE_INVALID = -EINVAL, } DHCP6ClientStartMode; -typedef struct Link Link; -typedef struct Network Network; - bool link_dhcp6_with_address_enabled(Link *link); int dhcp6_check_ready(Link *link); int dhcp6_update_mac(Link *link); diff --git a/src/network/networkd-dns.c b/src/network/networkd-dns.c index cd0cd287399..9648a508d2a 100644 --- a/src/network/networkd-dns.c +++ b/src/network/networkd-dns.c @@ -1,13 +1,17 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" +#include "conf-parser.h" #include "dns-domain.h" +#include "extract-word.h" #include "hostname-util.h" #include "networkd-dns.h" #include "networkd-manager.h" #include "networkd-network.h" -#include "parse-util.h" +#include "ordered-set.h" +#include "set.h" #include "string-table.h" +#include "string-util.h" UseDomains link_get_use_domains(Link *link, NetworkConfigSource proto) { UseDomains n, c, m; diff --git a/src/network/networkd-dns.h b/src/network/networkd-dns.h index e273d103289..95d38c7c297 100644 --- a/src/network/networkd-dns.h +++ b/src/network/networkd-dns.h @@ -1,12 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" -#include "macro.h" +#include "networkd-forward.h" #include "networkd-util.h" -typedef struct Link Link; - typedef enum UseDomains { USE_DOMAINS_NO, USE_DOMAINS_YES, diff --git a/src/network/networkd-forward.h b/src/network/networkd-forward.h new file mode 100644 index 00000000000..b1b385f16a8 --- /dev/null +++ b/src/network/networkd-forward.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include "conf-parser-forward.h" /* IWYU pragma: export */ +#include "forward.h" /* IWYU pragma: export */ + +typedef enum NetDevLocalAddressType NetDevLocalAddressType; +typedef enum NetworkConfigSource NetworkConfigSource; + +typedef struct Address Address; +typedef struct IPv6Token IPv6Token; +typedef struct Link Link; +typedef struct Manager Manager; +typedef struct NetDev NetDev; +typedef struct Network Network; +typedef struct NextHop NextHop; +typedef struct Request Request; +typedef struct Route Route; +typedef struct Wireguard Wireguard; diff --git a/src/network/networkd-ipv4acd.c b/src/network/networkd-ipv4acd.c index 3c938546bf8..8a0e5b85d08 100644 --- a/src/network/networkd-ipv4acd.c +++ b/src/network/networkd-ipv4acd.c @@ -6,12 +6,14 @@ #include "sd-dhcp-client.h" #include "sd-ipv4acd.h" +#include "hashmap.h" #include "ipvlan.h" #include "networkd-address.h" #include "networkd-dhcp4.h" #include "networkd-ipv4acd.h" #include "networkd-link.h" #include "networkd-manager.h" +#include "string-util.h" DEFINE_PRIVATE_HASH_OPS_FULL( ipv4acd_hash_ops, diff --git a/src/network/networkd-ipv4acd.h b/src/network/networkd-ipv4acd.h index 75b4c97a05d..5e0d0ccf470 100644 --- a/src/network/networkd-ipv4acd.h +++ b/src/network/networkd-ipv4acd.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -typedef struct Address Address; -typedef struct Link Link; +#include "networkd-forward.h" bool link_ipv4acd_supported(Link *link); bool link_ipv4acd_enabled(Link *link); diff --git a/src/network/networkd-ipv4ll.c b/src/network/networkd-ipv4ll.c index 7c20c7f49f0..ff8a17211e4 100644 --- a/src/network/networkd-ipv4ll.c +++ b/src/network/networkd-ipv4ll.c @@ -1,16 +1,21 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include +#include #include +#include "sd-event.h" +#include "sd-ipv4ll.h" + +#include "errno-util.h" #include "netif-util.h" #include "networkd-address.h" #include "networkd-ipv4acd.h" #include "networkd-ipv4ll.h" #include "networkd-link.h" #include "networkd-manager.h" -#include "networkd-queue.h" #include "parse-util.h" +#include "set.h" +#include "string-util.h" bool link_ipv4ll_enabled(Link *link) { assert(link); diff --git a/src/network/networkd-ipv4ll.h b/src/network/networkd-ipv4ll.h index 71cddbdd5bd..d7718aaf2da 100644 --- a/src/network/networkd-ipv4ll.h +++ b/src/network/networkd-ipv4ll.h @@ -1,13 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" +#include "networkd-forward.h" #define IPV4LL_ROUTE_METRIC 2048 -typedef struct Link Link; -typedef struct Network Network; - bool link_ipv4ll_enabled(Link *link); int ipv4ll_configure(Link *link); diff --git a/src/network/networkd-ipv6-proxy-ndp.c b/src/network/networkd-ipv6-proxy-ndp.c index d1bac5862d0..89f4418990f 100644 --- a/src/network/networkd-ipv6-proxy-ndp.c +++ b/src/network/networkd-ipv6-proxy-ndp.c @@ -1,14 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include "netlink-util.h" +#include "sd-netlink.h" + #include "networkd-ipv6-proxy-ndp.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-network.h" #include "networkd-queue.h" +#include "set.h" #include "socket-util.h" #include "string-util.h" diff --git a/src/network/networkd-ipv6-proxy-ndp.h b/src/network/networkd-ipv6-proxy-ndp.h index e57d28f99dd..7a2953a001a 100644 --- a/src/network/networkd-ipv6-proxy-ndp.h +++ b/src/network/networkd-ipv6-proxy-ndp.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" - -typedef struct Link Link; -typedef struct Network Network; +#include "networkd-forward.h" void network_adjust_ipv6_proxy_ndp(Network *network); diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c index 04f51ab530f..c64dbbb980b 100644 --- a/src/network/networkd-ipv6ll.c +++ b/src/network/networkd-ipv6ll.c @@ -1,17 +1,21 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include +#include "sd-netlink.h" + +#include "conf-parser.h" +#include "hashmap.h" #include "in-addr-util.h" #include "networkd-address.h" #include "networkd-ipv6ll.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-network.h" -#include "networkd-util.h" +#include "siphash24.h" #include "socket-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" #include "sysctl-util.h" diff --git a/src/network/networkd-ipv6ll.h b/src/network/networkd-ipv6ll.h index 2759eed7f70..7005f7a6679 100644 --- a/src/network/networkd-ipv6ll.h +++ b/src/network/networkd-ipv6ll.h @@ -1,16 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include #include -#include -#include "sd-netlink.h" - -#include "conf-parser.h" -#include "macro.h" - -typedef struct Link Link; +#include "networkd-forward.h" typedef enum IPv6LinkLocalAddressGenMode { IPV6_LINK_LOCAL_ADDRESSS_GEN_MODE_EUI64 = IN6_ADDR_GEN_MODE_EUI64, diff --git a/src/network/networkd-json.c b/src/network/networkd-json.c index 59af619d137..d07227d2882 100644 --- a/src/network/networkd-json.c +++ b/src/network/networkd-json.c @@ -2,11 +2,14 @@ #include +#include "sd-device.h" +#include "sd-dhcp-client.h" +#include "sd-dhcp6-client.h" + #include "dhcp-lease-internal.h" #include "dhcp-server-lease-internal.h" -#include "dhcp6-internal.h" #include "dhcp6-lease-internal.h" -#include "dns-domain.h" +#include "extract-word.h" #include "ip-protocol-list.h" #include "json-util.h" #include "netif-util.h" @@ -22,10 +25,11 @@ #include "networkd-route.h" #include "networkd-route-util.h" #include "networkd-routing-policy-rule.h" -#include "sort-util.h" +#include "ordered-set.h" +#include "set.h" +#include "string-util.h" #include "strv.h" #include "udev-util.h" -#include "user-util.h" #include "wifi-util.h" static int address_append_json(Address *address, bool serializing, sd_json_variant **array) { @@ -926,7 +930,7 @@ static int domains_append_json(Link *link, bool is_route, sd_json_variant **v) { NDiscDNSSL *a; SET_FOREACH(a, link->ndisc_dnssl) { - r = domain_append_json(AF_INET6, NDISC_DNSSL_DOMAIN(a), NETWORK_CONFIG_SOURCE_NDISC, + r = domain_append_json(AF_INET6, ndisc_dnssl_domain(a), NETWORK_CONFIG_SOURCE_NDISC, &(union in_addr_union) { .in6 = a->router }, &array); if (r < 0) diff --git a/src/network/networkd-json.h b/src/network/networkd-json.h index ada2500e392..35a0eeed70b 100644 --- a/src/network/networkd-json.h +++ b/src/network/networkd-json.h @@ -1,12 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-json.h" - -typedef struct Link Link; -typedef struct Manager Manager; +#include "networkd-forward.h" int addresses_append_json(Link *link, bool serializing, sd_json_variant **v); int nexthops_append_json(Manager *manager, int ifindex, sd_json_variant **v); diff --git a/src/network/networkd-link-bus.c b/src/network/networkd-link-bus.c index 9e8ae7635d5..bd477a2d1c5 100644 --- a/src/network/networkd-link-bus.c +++ b/src/network/networkd-link-bus.c @@ -1,13 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include + +#include "sd-bus.h" +#include "sd-dhcp-server.h" #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-get-properties.h" #include "bus-message-util.h" +#include "bus-object.h" #include "bus-polkit.h" #include "dns-domain.h" #include "networkd-dhcp4.h" @@ -16,11 +18,13 @@ #include "networkd-link-bus.h" #include "networkd-manager.h" #include "networkd-state-file.h" +#include "ordered-set.h" #include "parse-util.h" #include "resolve-util.h" +#include "set.h" #include "socket-netlink.h" +#include "string-util.h" #include "strv.h" -#include "user-util.h" BUS_DEFINE_PROPERTY_GET_ENUM(property_get_operational_state, link_operstate, LinkOperationalState); BUS_DEFINE_PROPERTY_GET_ENUM(property_get_carrier_state, link_carrier_state, LinkCarrierState); diff --git a/src/network/networkd-link-bus.h b/src/network/networkd-link-bus.h index 7b0156b4df6..d70894f3037 100644 --- a/src/network/networkd-link-bus.h +++ b/src/network/networkd-link-bus.h @@ -1,12 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" - -#include "bus-object.h" -#include "macro.h" - -typedef struct Link Link; +#include "networkd-forward.h" extern const BusObjectImplementation link_object; diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 58614a5d265..96739b0d0a6 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -5,38 +5,38 @@ #include #include #include -#include #include #include +#include "sd-bus.h" +#include "sd-dhcp-client.h" +#include "sd-dhcp-server.h" +#include "sd-dhcp6-client.h" +#include "sd-dhcp6-lease.h" +#include "sd-ipv4ll.h" +#include "sd-lldp-rx.h" +#include "sd-ndisc.h" +#include "sd-netlink.h" +#include "sd-radv.h" + #include "alloc-util.h" #include "arphrd-util.h" -#include "batadv.h" #include "bitfield.h" -#include "bond.h" -#include "bridge.h" -#include "bus-util.h" -#include "device-private.h" #include "device-util.h" -#include "dhcp-lease-internal.h" -#include "env-file.h" +#include "errno-util.h" #include "ethtool-util.h" #include "event-util.h" -#include "fd-util.h" -#include "fileio.h" #include "format-ifname.h" #include "fs-util.h" #include "glyph-util.h" #include "logarithm.h" -#include "missing_network.h" +#include "netif-util.h" #include "netlink-util.h" -#include "network-internal.h" #include "networkd-address.h" #include "networkd-address-label.h" #include "networkd-bridge-fdb.h" #include "networkd-bridge-mdb.h" #include "networkd-bridge-vlan.h" -#include "networkd-can.h" #include "networkd-dhcp-prefix-delegation.h" #include "networkd-dhcp-server.h" #include "networkd-dhcp4.h" @@ -61,16 +61,15 @@ #include "networkd-state-file.h" #include "networkd-sysctl.h" #include "networkd-wifi.h" +#include "ordered-set.h" #include "parse-util.h" #include "set.h" #include "socket-util.h" -#include "stdio-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" #include "tc.h" -#include "tuntap.h" #include "udev-util.h" -#include "vrf.h" void link_required_operstate_for_online(Link *link, LinkOperationalStateRange *ret) { assert(link); @@ -2098,6 +2097,11 @@ void link_update_operstate(Link *link, bool also_update_master) { } } +bool link_has_carrier(Link *link) { + assert(link); + return netif_has_carrier(link->kernel_operstate, link->flags); +} + #define FLAG_STRING(string, flag, old, new) \ (((old ^ new) & flag) \ ? ((old & flag) ? (" -" string) : (" +" string)) \ diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h index acfbf75028b..2f4b784291f 100644 --- a/src/network/networkd-link.h +++ b/src/network/networkd-link.h @@ -1,34 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include #include -#include "sd-bus.h" -#include "sd-device.h" -#include "sd-dhcp-client.h" -#include "sd-dhcp-server.h" -#include "sd-dhcp6-client.h" -#include "sd-ipv4acd.h" -#include "sd-ipv4ll.h" -#include "sd-lldp-rx.h" -#include "sd-lldp-tx.h" -#include "sd-ndisc.h" -#include "sd-netlink.h" -#include "sd-radv.h" - #include "ether-addr-util.h" -#include "log-link.h" -#include "netdev.h" -#include "netif-util.h" +#include "forward.h" #include "network-util.h" #include "networkd-bridge-vlan.h" +#include "networkd-forward.h" #include "networkd-ipv6ll.h" -#include "networkd-util.h" -#include "ordered-set.h" #include "ratelimit.h" #include "resolve-util.h" -#include "set.h" typedef enum LinkState { LINK_STATE_PENDING, /* udev has not initialized the link */ @@ -47,11 +29,6 @@ typedef enum LinkReconfigurationFlag { LINK_RECONFIGURE_CLEANLY = 1 << 1, /* Drop all existing configs before reconfiguring. Otherwise, reuse existing configs as possible as we can. */ } LinkReconfigurationFlag; -typedef struct Manager Manager; -typedef struct Network Network; -typedef struct NetDev NetDev; -typedef struct DUID DUID; - typedef struct Link { Manager *manager; @@ -251,10 +228,7 @@ void link_check_ready(Link *link); void link_update_operstate(Link *link, bool also_update_bond_master); -static inline bool link_has_carrier(Link *link) { - assert(link); - return netif_has_carrier(link->kernel_operstate, link->flags); -} +bool link_has_carrier(Link *link); bool link_ipv6_enabled(Link *link); int link_ipv6ll_gained(Link *link); diff --git a/src/network/networkd-lldp-rx.c b/src/network/networkd-lldp-rx.c index 169221aa651..8c76f2222f6 100644 --- a/src/network/networkd-lldp-rx.c +++ b/src/network/networkd-lldp-rx.c @@ -2,18 +2,15 @@ #include #include -#include -#include "fd-util.h" -#include "fileio.h" -#include "fs-util.h" +#include "sd-lldp-rx.h" + +#include "conf-parser.h" #include "networkd-link.h" #include "networkd-lldp-rx.h" -#include "networkd-lldp-tx.h" #include "networkd-manager.h" #include "networkd-network.h" #include "string-table.h" -#include "string-util.h" #include "strv.h" DEFINE_CONFIG_PARSE_ENUM(config_parse_lldp_mode, lldp_mode, LLDPMode); diff --git a/src/network/networkd-lldp-rx.h b/src/network/networkd-lldp-rx.h index 75c9f8ca860..d098616e4dc 100644 --- a/src/network/networkd-lldp-rx.h +++ b/src/network/networkd-lldp-rx.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" - -typedef struct Link Link; +#include "networkd-forward.h" typedef enum LLDPMode { LLDP_MODE_NO = 0, diff --git a/src/network/networkd-lldp-tx.h b/src/network/networkd-lldp-tx.h index 346eb5cb1cb..9fd087bb94b 100644 --- a/src/network/networkd-lldp-tx.h +++ b/src/network/networkd-lldp-tx.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" - -typedef struct Link Link; +#include "networkd-forward.h" int link_lldp_tx_configure(Link *link); int link_lldp_tx_update_capabilities(Link *link); diff --git a/src/network/networkd-manager-bus.c b/src/network/networkd-manager-bus.c index c9a61d96ad8..f04a15487d1 100644 --- a/src/network/networkd-manager-bus.c +++ b/src/network/networkd-manager-bus.c @@ -1,13 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include +#include + +#include "sd-bus.h" #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-message-util.h" +#include "bus-object.h" #include "bus-polkit.h" +#include "hashmap.h" #include "networkd-dhcp-server-bus.h" #include "networkd-dhcp4-bus.h" #include "networkd-dhcp6-bus.h" @@ -18,8 +20,6 @@ #include "networkd-manager-bus.h" #include "networkd-network-bus.h" #include "path-util.h" -#include "strv.h" -#include "user-util.h" static int method_list_links(sd_bus_message *message, void *userdata, sd_bus_error *error) { _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; diff --git a/src/network/networkd-manager-bus.h b/src/network/networkd-manager-bus.h index 5cd7f16761e..e145c975582 100644 --- a/src/network/networkd-manager-bus.h +++ b/src/network/networkd-manager-bus.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" - -#include "bus-object.h" - -typedef struct Manager Manager; +#include "networkd-forward.h" extern const BusObjectImplementation manager_object; diff --git a/src/network/networkd-manager-varlink.c b/src/network/networkd-manager-varlink.c index 0169dcfea00..d64c4dd8d81 100644 --- a/src/network/networkd-manager-varlink.c +++ b/src/network/networkd-manager-varlink.c @@ -2,10 +2,12 @@ #include +#include "sd-event.h" #include "sd-varlink.h" #include "bus-polkit.h" #include "fd-util.h" +#include "hashmap.h" #include "json-util.h" #include "lldp-rx-internal.h" #include "network-util.h" diff --git a/src/network/networkd-manager-varlink.h b/src/network/networkd-manager-varlink.h index 31afc43335c..992e48839e6 100644 --- a/src/network/networkd-manager-varlink.h +++ b/src/network/networkd-manager-varlink.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Manager Manager; +#include "networkd-forward.h" int manager_connect_varlink(Manager *m); void manager_varlink_done(Manager *m); diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 7d29298d835..3af3eda6307 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -1,50 +1,39 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include +#include #include -#include #include -#include +#include "sd-bus.h" +#include "sd-event.h" #include "sd-netlink.h" +#include "sd-resolve.h" #include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "bus-log-control-api.h" -#include "bus-polkit.h" +#include "bus-object.h" #include "bus-util.h" #include "capability-util.h" #include "common-signal.h" -#include "conf-parser.h" -#include "constants.h" #include "daemon-util.h" #include "device-private.h" #include "device-util.h" -#include "dns-domain.h" #include "env-util.h" +#include "errno-util.h" #include "fd-util.h" -#include "fileio.h" #include "firewall-util.h" -#include "fs-util.h" #include "initrd-util.h" -#include "local-addresses.h" #include "mount-util.h" #include "netlink-util.h" -#include "network-internal.h" #include "networkd-address.h" #include "networkd-address-label.h" #include "networkd-address-pool.h" -#include "networkd-dhcp-server-bus.h" -#include "networkd-dhcp6.h" -#include "networkd-link-bus.h" #include "networkd-manager.h" #include "networkd-manager-bus.h" #include "networkd-manager-varlink.h" #include "networkd-neighbor.h" -#include "networkd-network-bus.h" #include "networkd-nexthop.h" #include "networkd-queue.h" #include "networkd-route.h" @@ -55,14 +44,11 @@ #include "networkd-wifi.h" #include "networkd-wiphy.h" #include "ordered-set.h" -#include "path-lookup.h" -#include "path-util.h" #include "qdisc.h" -#include "selinux-util.h" #include "set.h" -#include "signal-util.h" +#include "stat-util.h" +#include "string-util.h" #include "strv.h" -#include "sysctl-util.h" #include "tclass.h" #include "tuntap.h" #include "udev-util.h" diff --git a/src/network/networkd-manager.h b/src/network/networkd-manager.h index 59e07748c64..db669d170d2 100644 --- a/src/network/networkd-manager.h +++ b/src/network/networkd-manager.h @@ -1,23 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" -#include "sd-device.h" -#include "sd-event.h" -#include "sd-id128.h" -#include "sd-netlink.h" -#include "sd-resolve.h" -#include "sd-varlink.h" - -#include "dhcp-duid-internal.h" -#include "firewall-util.h" -#include "hashmap.h" -#include "networkd-link.h" +#include "networkd-forward.h" #include "networkd-network.h" -#include "networkd-sysctl.h" -#include "ordered-set.h" -#include "set.h" -#include "time-util.h" typedef enum ManagerState { MANAGER_RUNNING, @@ -28,7 +13,7 @@ typedef enum ManagerState { _MANAGER_STATE_INVALID = -EINVAL, } ManagerState; -struct Manager { +typedef struct Manager { sd_netlink *rtnl; /* lazy initialized */ sd_netlink *genl; @@ -140,7 +125,7 @@ struct Manager { struct bpf_link *sysctl_link; int cgroup_fd; #endif -}; +} Manager; int manager_new(Manager **ret, bool test_mode); Manager* manager_free(Manager *m); diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c index 4b988dcaf49..2a002e3faad 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -3,13 +3,14 @@ Copyright © 2014 Intel Corporation. All rights reserved. ***/ -#include -#include #include +#include #include #include "sd-ndisc.h" +#include "conf-parser.h" +#include "errno-util.h" #include "event-util.h" #include "missing_network.h" #include "ndisc-router-internal.h" @@ -23,7 +24,10 @@ #include "networkd-route.h" #include "networkd-state-file.h" #include "networkd-sysctl.h" -#include "sort-util.h" +#include "ordered-set.h" +#include "set.h" +#include "siphash24.h" +#include "socket-util.h" #include "string-table.h" #include "string-util.h" #include "strv.h" @@ -41,6 +45,10 @@ static int ndisc_drop_outdated(Link *link, const struct in6_addr *router, usec_t timestamp_usec); +char* ndisc_dnssl_domain(const NDiscDNSSL *n) { + return ((char*) n) + ALIGN(sizeof(NDiscDNSSL)); +} + bool link_ndisc_enabled(Link *link) { assert(link); @@ -1850,11 +1858,11 @@ static int ndisc_router_process_rdnss(Link *link, sd_ndisc_router *rt, bool zero } static void ndisc_dnssl_hash_func(const NDiscDNSSL *x, struct siphash *state) { - siphash24_compress_string(NDISC_DNSSL_DOMAIN(x), state); + siphash24_compress_string(ndisc_dnssl_domain(x), state); } static int ndisc_dnssl_compare_func(const NDiscDNSSL *a, const NDiscDNSSL *b) { - return strcmp(NDISC_DNSSL_DOMAIN(a), NDISC_DNSSL_DOMAIN(b)); + return strcmp(ndisc_dnssl_domain(a), ndisc_dnssl_domain(b)); } DEFINE_PRIVATE_HASH_OPS_WITH_KEY_DESTRUCTOR( @@ -1901,7 +1909,7 @@ static int ndisc_router_process_dnssl(Link *link, sd_ndisc_router *rt, bool zero if (!s) return log_oom(); - strcpy(NDISC_DNSSL_DOMAIN(s), *j); + strcpy(ndisc_dnssl_domain(s), *j); if (lifetime_usec == 0) { /* The entry is outdated. */ diff --git a/src/network/networkd-ndisc.h b/src/network/networkd-ndisc.h index bc5d277c5b1..1d73b9a3134 100644 --- a/src/network/networkd-ndisc.h +++ b/src/network/networkd-ndisc.h @@ -1,13 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" -#include "dns-resolver-internal.h" -#include "time-util.h" +#include -typedef struct Address Address; -typedef struct Link Link; -typedef struct Network Network; +#include "dns-resolver-internal.h" +#include "networkd-forward.h" typedef enum IPv6AcceptRAStartDHCP6Client { IPV6_ACCEPT_RA_START_DHCP6_CLIENT_NO, @@ -56,9 +53,7 @@ typedef struct NDiscDNR { sd_dns_resolver resolver; } NDiscDNR; -static inline char* NDISC_DNSSL_DOMAIN(const NDiscDNSSL *n) { - return ((char*) n) + ALIGN(sizeof(NDiscDNSSL)); -} +char* ndisc_dnssl_domain(const NDiscDNSSL *n); bool link_ndisc_enabled(Link *link); diff --git a/src/network/networkd-neighbor.c b/src/network/networkd-neighbor.c index b3292d6d18a..3bcd0e1324c 100644 --- a/src/network/networkd-neighbor.c +++ b/src/network/networkd-neighbor.c @@ -1,6 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-netlink.h" + #include "alloc-util.h" +#include "conf-parser.h" +#include "errno-util.h" #include "hashmap.h" #include "netlink-util.h" #include "networkd-link.h" @@ -8,7 +12,11 @@ #include "networkd-neighbor.h" #include "networkd-network.h" #include "networkd-queue.h" +#include "ordered-set.h" #include "set.h" +#include "siphash24.h" +#include "socket-util.h" +#include "string-util.h" static Neighbor* neighbor_detach_impl(Neighbor *neighbor) { assert(neighbor); diff --git a/src/network/networkd-neighbor.h b/src/network/networkd-neighbor.h index 5dd43a98a00..088736fa5ff 100644 --- a/src/network/networkd-neighbor.h +++ b/src/network/networkd-neighbor.h @@ -1,19 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" #include "ether-addr-util.h" #include "in-addr-util.h" +#include "networkd-forward.h" #include "networkd-util.h" -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; - typedef struct Neighbor { Network *network; Link *link; diff --git a/src/network/networkd-netlabel.c b/src/network/networkd-netlabel.c index f153a929e33..7ba21bbdda6 100644 --- a/src/network/networkd-netlabel.c +++ b/src/network/networkd-netlabel.c @@ -1,12 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "escape.h" +#include "sd-netlink.h" + +#include "missing_network.h" #include "netlink-util.h" #include "networkd-address.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-netlabel.h" -#include "networkd-network.h" static int netlabel_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) { int r; diff --git a/src/network/networkd-netlabel.h b/src/network/networkd-netlabel.h index f18ad5aa14f..76628894ed2 100644 --- a/src/network/networkd-netlabel.h +++ b/src/network/networkd-netlabel.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Address Address; +#include "networkd-forward.h" void address_add_netlabel(const Address *address); void address_del_netlabel(const Address *address); diff --git a/src/network/networkd-network-bus.c b/src/network/networkd-network-bus.c index 5c61cbf8873..6e9f995aa9a 100644 --- a/src/network/networkd-network-bus.c +++ b/src/network/networkd-network-bus.c @@ -1,11 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" +#include "bus-object.h" #include "ether-addr-util.h" #include "networkd-manager.h" #include "networkd-network-bus.h" -#include "path-util.h" -#include "string-util.h" +#include "set.h" #include "strv.h" static int property_get_hw_addrs( diff --git a/src/network/networkd-network-bus.h b/src/network/networkd-network-bus.h index 68ed951425b..c7889b54dca 100644 --- a/src/network/networkd-network-bus.h +++ b/src/network/networkd-network-bus.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" - -#include "bus-object.h" - -typedef struct Link Link; +#include "networkd-forward.h" extern const BusObjectImplementation network_object; diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf index aa99829638c..54d2783c804 100644 --- a/src/network/networkd-network-gperf.gperf +++ b/src/network/networkd-network-gperf.gperf @@ -8,6 +8,9 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include #include +#include "sd-dhcp-lease.h" + +#include "condition.h" #include "conf-parser.h" #include "in-addr-prefix-util.h" #include "net-condition.h" @@ -30,7 +33,6 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include "networkd-ipv6ll.h" #include "networkd-lldp-tx.h" #include "networkd-ndisc.h" -#include "networkd-netlabel.h" #include "networkd-network.h" #include "networkd-neighbor.h" #include "networkd-nexthop.h" @@ -38,11 +40,9 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include "networkd-radv.h" #include "networkd-route.h" #include "networkd-routing-policy-rule.h" -#include "networkd-sriov.h" #include "qdisc.h" #include "socket-util.h" #include "tclass.h" -#include "vlan-util.h" #include "cake.h" #include "codel.h" @@ -54,8 +54,6 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include "gred.h" #include "hhf.h" #include "htb.h" -#include "mq.h" -#include "multiq.h" #include "pie.h" #include "qfq.h" #include "netem.h" diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index db21d51b2f4..c9805509cc0 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -1,19 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include #include #include "alloc-util.h" +#include "condition.h" #include "conf-files.h" #include "conf-parser.h" -#include "dns-domain.h" -#include "fd-util.h" -#include "hostname-util.h" #include "in-addr-util.h" #include "net-condition.h" #include "netdev/macvlan.h" +#include "netif-sriov.h" #include "network-util.h" #include "networkd-address.h" #include "networkd-address-label.h" @@ -30,9 +26,8 @@ #include "networkd-radv.h" #include "networkd-route.h" #include "networkd-routing-policy-rule.h" -#include "networkd-sriov.h" +#include "ordered-set.h" #include "parse-util.h" -#include "path-lookup.h" #include "qdisc.h" #include "radv-internal.h" #include "set.h" diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h index c783da5f471..4ead5028f98 100644 --- a/src/network/networkd-network.h +++ b/src/network/networkd-network.h @@ -1,35 +1,24 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-bus.h" -#include "sd-device.h" +#include "sd-dhcp-lease.h" #include "sd-lldp-tx.h" #include "bridge.h" -#include "condition.h" -#include "conf-parser.h" #include "firewall-util.h" -#include "hashmap.h" #include "ipoib.h" #include "net-condition.h" -#include "netdev.h" -#include "networkd-address.h" -#include "networkd-bridge-vlan.h" +#include "network-util.h" #include "networkd-dhcp-common.h" #include "networkd-dhcp4.h" #include "networkd-dhcp6.h" #include "networkd-dns.h" -#include "networkd-ipv6ll.h" +#include "networkd-forward.h" +#include "networkd-link.h" #include "networkd-lldp-rx.h" #include "networkd-ndisc.h" #include "networkd-radv.h" #include "networkd-sysctl.h" -#include "networkd-util.h" -#include "ordered-set.h" -#include "resolve-util.h" -#include "socket-netlink.h" typedef enum KeepConfiguration { KEEP_CONFIGURATION_NO = 0, @@ -53,15 +42,13 @@ typedef enum ActivationPolicy { _ACTIVATION_POLICY_INVALID = -EINVAL, } ActivationPolicy; -typedef struct Manager Manager; - typedef struct NetworkDHCPServerEmitAddress { bool emit; struct in_addr *addresses; size_t n_addresses; } NetworkDHCPServerEmitAddress; -struct Network { +typedef struct Network { Manager *manager; unsigned n_ref; @@ -419,7 +406,7 @@ struct Network { /* NTP */ char **ntp; -}; +} Network; Network *network_ref(Network *network); Network *network_unref(Network *network); diff --git a/src/network/networkd-nexthop.c b/src/network/networkd-nexthop.c index 770ded77fe7..7d221849b47 100644 --- a/src/network/networkd-nexthop.c +++ b/src/network/networkd-nexthop.c @@ -4,8 +4,14 @@ #include #include +#include + +#include "sd-netlink.h" #include "alloc-util.h" +#include "conf-parser.h" +#include "errno-util.h" +#include "extract-word.h" #include "netlink-util.h" #include "networkd-link.h" #include "networkd-manager.h" @@ -14,9 +20,10 @@ #include "networkd-queue.h" #include "networkd-route.h" #include "networkd-route-util.h" +#include "ordered-set.h" #include "parse-util.h" #include "set.h" -#include "stdio-util.h" +#include "siphash24.h" #include "string-util.h" static void nexthop_detach_from_group_members(NextHop *nexthop) { diff --git a/src/network/networkd-nexthop.h b/src/network/networkd-nexthop.h index 8e345c6d53e..3eee6680b26 100644 --- a/src/network/networkd-nexthop.h +++ b/src/network/networkd-nexthop.h @@ -4,20 +4,10 @@ #pragma once -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" -#include "hashmap.h" #include "in-addr-util.h" +#include "networkd-forward.h" #include "networkd-util.h" -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; -typedef struct NextHop NextHop; -typedef struct Request Request; typedef int (*nexthop_netlink_handler_t)( sd_netlink *rtnl, sd_netlink_message *m, @@ -25,7 +15,7 @@ typedef int (*nexthop_netlink_handler_t)( Link *link, NextHop *nexthop); -struct NextHop { +typedef struct NextHop { Network *network; Manager *manager; ConfigSection *section; @@ -53,7 +43,7 @@ struct NextHop { /* For managing routes and nexthops that depend on this nexthop. */ Set *nexthops; Set *routes; -}; +} NextHop; void log_nexthop_debug(const NextHop *nexthop, const char *str, Manager *manager); diff --git a/src/network/networkd-ntp.c b/src/network/networkd-ntp.c index 41db2f43715..f0808211b0c 100644 --- a/src/network/networkd-ntp.c +++ b/src/network/networkd-ntp.c @@ -2,9 +2,11 @@ #include "alloc-util.h" #include "dns-domain.h" +#include "extract-word.h" +#include "networkd-link.h" #include "networkd-network.h" #include "networkd-ntp.h" -#include "parse-util.h" +#include "string-util.h" #include "strv.h" /* Let's assume that anything above this number is a user misconfiguration. */ diff --git a/src/network/networkd-ntp.h b/src/network/networkd-ntp.h index 44e7678486b..1ee8c9d36d1 100644 --- a/src/network/networkd-ntp.h +++ b/src/network/networkd-ntp.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" -#include "networkd-util.h" - -typedef struct Link Link; +#include "networkd-forward.h" bool link_get_use_ntp(Link *link, NetworkConfigSource proto); diff --git a/src/network/networkd-queue.c b/src/network/networkd-queue.c index 361aa7eec2e..bc2e7095fa8 100644 --- a/src/network/networkd-queue.c +++ b/src/network/networkd-queue.c @@ -1,10 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-netlink.h" + +#include "alloc-util.h" #include "netdev.h" #include "netlink-util.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-queue.h" +#include "ordered-set.h" +#include "siphash24.h" #include "string-table.h" #define REPLY_CALLBACK_COUNT_THRESHOLD 128 diff --git a/src/network/networkd-queue.h b/src/network/networkd-queue.h index 00a514266d9..16db5e3ba57 100644 --- a/src/network/networkd-queue.h +++ b/src/network/networkd-queue.h @@ -1,16 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-netlink.h" - -#include "alloc-util.h" -#include "hash-funcs.h" #include "netif-sriov.h" - -typedef struct Link Link; -typedef struct NetDev NetDev; -typedef struct Manager Manager; -typedef struct Request Request; +#include "networkd-forward.h" typedef int (*request_process_func_t)(Request *req, Link *link, void *userdata); typedef int (*request_netlink_handler_t)(sd_netlink *nl, sd_netlink_message *m, Request *req, Link *link, void *userdata); @@ -59,7 +51,7 @@ typedef enum RequestType { _REQUEST_TYPE_INVALID = -EINVAL, } RequestType; -struct Request { +typedef struct Request { unsigned n_ref; Manager *manager; /* must be non-NULL */ @@ -89,7 +81,7 @@ struct Request { request_netlink_handler_t netlink_handler; bool waiting_reply; -}; +} Request; Request *request_ref(Request *req); Request *request_unref(Request *req); diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c index b3fc77fa0fc..36bad5ad50e 100644 --- a/src/network/networkd-radv.c +++ b/src/network/networkd-radv.c @@ -3,10 +3,13 @@ Copyright © 2017 Intel Corporation. All rights reserved. ***/ -#include #include +#include "sd-radv.h" + +#include "conf-parser.h" #include "dns-domain.h" +#include "extract-word.h" #include "ndisc-router-internal.h" #include "networkd-address.h" #include "networkd-address-generation.h" @@ -17,8 +20,10 @@ #include "networkd-queue.h" #include "networkd-radv.h" #include "networkd-route-util.h" +#include "ordered-set.h" #include "parse-util.h" #include "radv-internal.h" +#include "set.h" #include "string-table.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/networkd-radv.h b/src/network/networkd-radv.h index f3367174452..3c5fbb185eb 100644 --- a/src/network/networkd-radv.h +++ b/src/network/networkd-radv.h @@ -5,19 +5,8 @@ Copyright © 2017 Intel Corporation. All rights reserved. ***/ -#include -#include - -#include "sd-radv.h" - -#include "conf-parser.h" -#include "in-addr-util.h" #include "ndisc-option.h" -#include "networkd-util.h" - -typedef struct Address Address; -typedef struct Link Link; -typedef struct Network Network; +#include "networkd-forward.h" typedef enum RADVPrefixDelegation { RADV_PREFIX_DELEGATION_NONE = 0, diff --git a/src/network/networkd-route-metric.c b/src/network/networkd-route-metric.c index 480707fc2ae..89222a23701 100644 --- a/src/network/networkd-route-metric.c +++ b/src/network/networkd-route-metric.c @@ -1,10 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-netlink.h" + #include "alloc-util.h" +#include "conf-parser.h" +#include "log.h" #include "netlink-util.h" #include "networkd-route.h" #include "networkd-route-metric.h" #include "parse-util.h" +#include "siphash24.h" #include "string-util.h" void route_metric_done(RouteMetric *metric) { diff --git a/src/network/networkd-route-metric.h b/src/network/networkd-route-metric.h index c85eef58b34..52a4dc10a8f 100644 --- a/src/network/networkd-route-metric.h +++ b/src/network/networkd-route-metric.h @@ -1,13 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" -#include "hash-funcs.h" +#include "networkd-forward.h" typedef struct RouteMetric { size_t n_metrics; /* maximum metric attr type with non-zero value */ diff --git a/src/network/networkd-route-nexthop.c b/src/network/networkd-route-nexthop.c index 9482b25bb8e..7b4384b5239 100644 --- a/src/network/networkd-route-nexthop.c +++ b/src/network/networkd-route-nexthop.c @@ -1,8 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include + +#include "sd-netlink.h" #include "alloc-util.h" +#include "conf-parser.h" #include "extract-word.h" #include "netlink-util.h" #include "networkd-manager.h" @@ -11,7 +15,11 @@ #include "networkd-route.h" #include "networkd-route-nexthop.h" #include "networkd-route-util.h" +#include "ordered-set.h" #include "parse-util.h" +#include "set.h" +#include "siphash24.h" +#include "socket-util.h" #include "string-util.h" void route_detach_from_nexthop(Route *route) { diff --git a/src/network/networkd-route-nexthop.h b/src/network/networkd-route-nexthop.h index f3f1d7e7a00..7ece8998482 100644 --- a/src/network/networkd-route-nexthop.h +++ b/src/network/networkd-route-nexthop.h @@ -1,19 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" #include "in-addr-util.h" -#include "macro.h" -#include "siphash24.h" - -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Route Route; +#include "networkd-forward.h" typedef struct RouteNextHop { int family; /* used in RTA_VIA (IPv4 only) */ diff --git a/src/network/networkd-route-util.c b/src/network/networkd-route-util.c index 2512abf1527..ee5b900d067 100644 --- a/src/network/networkd-route-util.c +++ b/src/network/networkd-route-util.c @@ -5,6 +5,7 @@ #include "alloc-util.h" #include "bitfield.h" +#include "extract-word.h" #include "logarithm.h" #include "networkd-address.h" #include "networkd-link.h" @@ -12,9 +13,9 @@ #include "networkd-route.h" #include "networkd-route-util.h" #include "parse-util.h" +#include "set.h" #include "string-table.h" #include "string-util.h" -#include "strv.h" #include "sysctl-util.h" #define ROUTES_DEFAULT_MAX_PER_FAMILY 4096 diff --git a/src/network/networkd-route-util.h b/src/network/networkd-route-util.h index dfa3bf3c6f3..1c037f7a073 100644 --- a/src/network/networkd-route-util.h +++ b/src/network/networkd-route-util.h @@ -1,16 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -#include "conf-parser.h" -#include "in-addr-util.h" - -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Address Address; -typedef struct Route Route; +#include "networkd-forward.h" unsigned routes_max(void); diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 665155e1ba0..52c2cb4fc1b 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -1,10 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include +#include +#include + +#include "sd-ndisc-protocol.h" +#include "sd-netlink.h" #include "alloc-util.h" +#include "conf-parser.h" +#include "errno-util.h" #include "event-util.h" #include "netlink-util.h" #include "networkd-address.h" @@ -15,9 +20,11 @@ #include "networkd-queue.h" #include "networkd-route.h" #include "networkd-route-util.h" +#include "ordered-set.h" #include "parse-util.h" +#include "set.h" +#include "siphash24.h" #include "string-util.h" -#include "strv.h" #include "vrf.h" #include "wireguard.h" diff --git a/src/network/networkd-route.h b/src/network/networkd-route.h index 4ce81342a78..8470c5651cb 100644 --- a/src/network/networkd-route.h +++ b/src/network/networkd-route.h @@ -1,24 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -#include "sd-netlink.h" - -#include "conf-parser.h" #include "in-addr-util.h" -#include "networkd-link.h" +#include "networkd-forward.h" #include "networkd-route-metric.h" #include "networkd-route-nexthop.h" #include "networkd-util.h" -typedef struct Manager Manager; -typedef struct Network Network; -typedef struct Request Request; -typedef struct Route Route; -typedef struct Wireguard Wireguard; - typedef int (*route_netlink_handler_t)( sd_netlink *rtnl, sd_netlink_message *m, @@ -26,7 +14,7 @@ typedef int (*route_netlink_handler_t)( Link *link, Route *route); -struct Route { +typedef struct Route { Manager *manager; Network *network; Wireguard *wireguard; @@ -79,7 +67,7 @@ struct Route { bool pref_set:1; bool gateway_from_dhcp_or_ra:1; int gateway_onlink; -}; +} Route; void log_route_debug(const Route *route, const char *str, Manager *manager); diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c index 819cb69f338..b47718e4715 100644 --- a/src/network/networkd-routing-policy-rule.c +++ b/src/network/networkd-routing-policy-rule.c @@ -1,15 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include "af-list.h" +#include "sd-netlink.h" + #include "alloc-util.h" #include "conf-parser.h" -#include "fileio.h" -#include "format-util.h" +#include "errno-util.h" #include "hashmap.h" -#include "ip-protocol-list.h" #include "netlink-util.h" #include "network-util.h" #include "networkd-manager.h" @@ -17,11 +15,12 @@ #include "networkd-route-util.h" #include "networkd-routing-policy-rule.h" #include "networkd-util.h" +#include "ordered-set.h" #include "parse-util.h" -#include "socket-util.h" +#include "set.h" +#include "siphash24.h" #include "string-table.h" #include "string-util.h" -#include "strv.h" #include "user-util.h" static const char *const fr_act_type_table[__FR_ACT_MAX] = { diff --git a/src/network/networkd-routing-policy-rule.h b/src/network/networkd-routing-policy-rule.h index 61609930dba..378455f0a43 100644 --- a/src/network/networkd-routing-policy-rule.h +++ b/src/network/networkd-routing-policy-rule.h @@ -1,18 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include #include -#include -#include "conf-parser.h" #include "in-addr-prefix-util.h" +#include "networkd-forward.h" #include "networkd-util.h" -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; - typedef struct RoutingPolicyRule { Manager *manager; Network *network; diff --git a/src/network/networkd-serialize.c b/src/network/networkd-serialize.c index 8e29bc518a1..93ae377679c 100644 --- a/src/network/networkd-serialize.c +++ b/src/network/networkd-serialize.c @@ -3,8 +3,10 @@ #include "af-list.h" #include "alloc-util.h" #include "daemon-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" +#include "hashmap.h" #include "iovec-util.h" #include "json-util.h" #include "memfd-util.h" @@ -15,6 +17,7 @@ #include "networkd-nexthop.h" #include "networkd-route.h" #include "networkd-serialize.h" +#include "string-util.h" int manager_serialize(Manager *manager) { _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL, *array = NULL; diff --git a/src/network/networkd-serialize.h b/src/network/networkd-serialize.h index f04378fa5d4..f95e76039b9 100644 --- a/src/network/networkd-serialize.h +++ b/src/network/networkd-serialize.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Manager Manager; +#include "networkd-forward.h" int manager_serialize(Manager *manager); int manager_set_serialization_fd(Manager *manager, int fd, const char *name); diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c index 2af553cba8c..0ab7fb14d33 100644 --- a/src/network/networkd-setlink.c +++ b/src/network/networkd-setlink.c @@ -1,11 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include #include #include +#include "sd-netlink.h" + #include "device-private.h" #include "missing_network.h" #include "netif-util.h" @@ -20,6 +20,10 @@ #include "networkd-setlink.h" #include "networkd-sriov.h" #include "networkd-wiphy.h" +#include "ordered-set.h" +#include "set.h" +#include "socket-util.h" +#include "string-util.h" static int get_link_default_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) { return link_getlink_handler_internal(rtnl, m, link, "Failed to sync link information"); diff --git a/src/network/networkd-setlink.h b/src/network/networkd-setlink.h index df617f2167d..41ebe52f0d4 100644 --- a/src/network/networkd-setlink.h +++ b/src/network/networkd-setlink.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -typedef struct Link Link; +#include "networkd-forward.h" int link_request_to_set_addrgen_mode(Link *link); int link_request_to_set_bond(Link *link); diff --git a/src/network/networkd-speed-meter.c b/src/network/networkd-speed-meter.c index cc94673d767..ade6c743317 100644 --- a/src/network/networkd-speed-meter.c +++ b/src/network/networkd-speed-meter.c @@ -1,12 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include - #include "sd-event.h" #include "sd-netlink.h" +#include "hashmap.h" #include "networkd-link.h" -#include "networkd-link-bus.h" #include "networkd-manager.h" #include "networkd-speed-meter.h" diff --git a/src/network/networkd-speed-meter.h b/src/network/networkd-speed-meter.h index 4dd024b62a3..f7ef5a45697 100644 --- a/src/network/networkd-speed-meter.h +++ b/src/network/networkd-speed-meter.h @@ -1,12 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "networkd-forward.h" + /* Default interval is 10sec. The speed meter periodically make networkd * to be woke up. So, too small interval value is not desired. * We set the minimum value 100msec = 0.1sec. */ #define SPEED_METER_DEFAULT_TIME_INTERVAL (10 * USEC_PER_SEC) #define SPEED_METER_MINIMUM_TIME_INTERVAL (100 * USEC_PER_MSEC) -typedef struct Manager Manager; - int manager_start_speed_meter(Manager *m); diff --git a/src/network/networkd-sriov.c b/src/network/networkd-sriov.c index cb974f881d3..c45e4487183 100644 --- a/src/network/networkd-sriov.c +++ b/src/network/networkd-sriov.c @@ -1,13 +1,17 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later * Copyright © 2020 VMware, Inc. */ -#include "device-enumerator-private.h" +#include "sd-netlink.h" + #include "device-util.h" -#include "fd-util.h" +#include "errno-util.h" +#include "hashmap.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-queue.h" #include "networkd-sriov.h" +#include "set.h" +#include "string-util.h" static int sr_iov_handler(sd_netlink *rtnl, sd_netlink_message *m, Request *req, Link *link, SRIOV *sr_iov) { int r; diff --git a/src/network/networkd-sriov.h b/src/network/networkd-sriov.h index 0d4276e0993..e8a97f33173 100644 --- a/src/network/networkd-sriov.h +++ b/src/network/networkd-sriov.h @@ -2,9 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "netif-sriov.h" - -typedef struct Link Link; +#include "networkd-forward.h" int link_request_sr_iov_vfs(Link *link); diff --git a/src/network/networkd-state-file.c b/src/network/networkd-state-file.c index 52836fdf4c9..288390645ea 100644 --- a/src/network/networkd-state-file.c +++ b/src/network/networkd-state-file.c @@ -1,11 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include +#include #include +#include +#include + +#include "sd-dhcp6-lease.h" #include "alloc-util.h" -#include "dns-domain.h" #include "dns-resolver-internal.h" +#include "errno-util.h" #include "escape.h" #include "fd-util.h" #include "fileio.h" @@ -20,6 +24,7 @@ #include "networkd-state-file.h" #include "ordered-set.h" #include "set.h" +#include "string-util.h" #include "strv.h" #include "tmpfile-util.h" @@ -315,7 +320,7 @@ static int link_put_domains(Link *link, bool is_route, OrderedSet **s) { NDiscDNSSL *a; SET_FOREACH(a, link->ndisc_dnssl) { - r = ordered_set_put_strdup(s, NDISC_DNSSL_DOMAIN(a)); + r = ordered_set_put_strdup(s, ndisc_dnssl_domain(a)); if (r < 0) return r; } @@ -671,7 +676,7 @@ static void link_save_domains(Link *link, FILE *f, OrderedSet *static_domains, U NDiscDNSSL *dd; SET_FOREACH(dd, link->ndisc_dnssl) - fputs_with_separator(f, NDISC_DNSSL_DOMAIN(dd), NULL, &space); + fputs_with_separator(f, ndisc_dnssl_domain(dd), NULL, &space); } } diff --git a/src/network/networkd-state-file.h b/src/network/networkd-state-file.h index c45bd530832..8991413dab3 100644 --- a/src/network/networkd-state-file.h +++ b/src/network/networkd-state-file.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -typedef struct Link Link; -typedef struct Manager Manager; +#include "networkd-forward.h" void link_dirty(Link *link); void link_clean(Link *link); diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c index 1f30669e2ed..b37f24c5bc1 100644 --- a/src/network/networkd-sysctl.c +++ b/src/network/networkd-sysctl.c @@ -1,18 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include #include "sd-messages.h" #include "af-list.h" +#include "conf-parser.h" #include "alloc-util.h" #include "cgroup-util.h" +#include "errno-util.h" #include "event-util.h" #include "fd-util.h" #include "format-util.h" -#include "missing_network.h" +#include "hashmap.h" #include "networkd-link.h" #include "networkd-lldp-tx.h" #include "networkd-manager.h" @@ -20,8 +20,10 @@ #include "networkd-network.h" #include "networkd-sysctl.h" #include "path-util.h" +#include "set.h" #include "socket-util.h" #include "string-table.h" +#include "string-util.h" #include "sysctl-util.h" #if HAVE_VMLINUX_H diff --git a/src/network/networkd-sysctl.h b/src/network/networkd-sysctl.h index 2a1f1ae2484..dac7a72324f 100644 --- a/src/network/networkd-sysctl.h +++ b/src/network/networkd-sysctl.h @@ -1,12 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "conf-parser.h" - -typedef struct Link Link; -typedef struct Manager Manager; +#include "networkd-forward.h" typedef enum IPv6PrivacyExtensions { /* These values map to the kernel's /proc/sys/net/ipv6/conf/xxx/use_tempaddr values. Do not reorder! */ diff --git a/src/network/networkd-util.c b/src/network/networkd-util.c index 53115786c7d..4e1a12d8d3b 100644 --- a/src/network/networkd-util.c +++ b/src/network/networkd-util.c @@ -1,8 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "alloc-util.h" #include "bitfield.h" -#include "condition.h" #include "conf-parser.h" #include "escape.h" #include "logarithm.h" diff --git a/src/network/networkd-util.h b/src/network/networkd-util.h index 994b70e4f25..22a04269d3a 100644 --- a/src/network/networkd-util.h +++ b/src/network/networkd-util.h @@ -1,17 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-dhcp-lease.h" -#include "sd-netlink.h" - -#include "conf-parser.h" -#include "hashmap.h" -#include "log.h" -#include "macro.h" #include "network-util.h" -#include "string-util.h" - -typedef struct Link Link; +#include "networkd-forward.h" +#include "time-util.h" typedef enum NetworkConfigSource { NETWORK_CONFIG_SOURCE_FOREIGN, /* configured by kernel */ diff --git a/src/network/networkd-wifi.c b/src/network/networkd-wifi.c index d1b35df2995..e0b4f8b5068 100644 --- a/src/network/networkd-wifi.c +++ b/src/network/networkd-wifi.c @@ -3,13 +3,15 @@ #include #include +#include "sd-netlink.h" + #include "alloc-util.h" #include "ether-addr-util.h" -#include "netlink-util.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-wifi.h" #include "networkd-wiphy.h" +#include "set.h" #include "string-util.h" #include "wifi-util.h" diff --git a/src/network/networkd-wifi.h b/src/network/networkd-wifi.h index 2ef0d302e78..c9a85564187 100644 --- a/src/network/networkd-wifi.h +++ b/src/network/networkd-wifi.h @@ -1,10 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-netlink.h" - -typedef struct Link Link; -typedef struct Manager Manager; +#include "networkd-forward.h" int manager_genl_process_nl80211_config(sd_netlink *genl, sd_netlink_message *message, Manager *manager); int manager_genl_process_nl80211_mlme(sd_netlink *genl, sd_netlink_message *message, Manager *manager); diff --git a/src/network/networkd-wiphy.c b/src/network/networkd-wiphy.c index 33f7fe680f7..2e16c130407 100644 --- a/src/network/networkd-wiphy.c +++ b/src/network/networkd-wiphy.c @@ -3,13 +3,17 @@ #include #include +#include "sd-netlink.h" + #include "alloc-util.h" #include "device-private.h" #include "device-util.h" +#include "errno-util.h" +#include "hashmap.h" #include "networkd-manager.h" #include "networkd-wiphy.h" -#include "parse-util.h" #include "path-util.h" +#include "string-util.h" #include "udev-util.h" #include "wifi-util.h" diff --git a/src/network/networkd-wiphy.h b/src/network/networkd-wiphy.h index 9a42b26be6f..67caa824faa 100644 --- a/src/network/networkd-wiphy.h +++ b/src/network/networkd-wiphy.h @@ -1,15 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-device.h" -#include "sd-netlink.h" - -#include "macro.h" - -typedef struct Link Link; -typedef struct Manager Manager; +#include "networkd-forward.h" /* The following values are different from the ones defined in linux/rfkill.h. */ typedef enum RFKillState { diff --git a/src/network/networkd.c b/src/network/networkd.c index d39cb19ed2d..dda1a4cf267 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -1,16 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include -#include "sd-daemon.h" #include "sd-event.h" #include "bus-log-control-api.h" +#include "bus-object.h" #include "capability-util.h" #include "daemon-util.h" -#include "firewall-util.h" #include "main-func.h" #include "mkdir-label.h" #include "networkd-conf.h" @@ -18,7 +15,6 @@ #include "networkd-manager-bus.h" #include "networkd-serialize.h" #include "service-util.h" -#include "signal-util.h" #include "strv.h" #include "user-util.h" diff --git a/src/network/tc/cake.c b/src/network/tc/cake.c index 704e527b46a..8607981f940 100644 --- a/src/network/tc/cake.c +++ b/src/network/tc/cake.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" +#include "sd-netlink.h" + #include "cake.h" -#include "conf-parser.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "qdisc.h" #include "string-table.h" diff --git a/src/network/tc/cake.h b/src/network/tc/cake.h index 5ca6dc6470f..b8aea70a160 100644 --- a/src/network/tc/cake.h +++ b/src/network/tc/cake.h @@ -4,7 +4,6 @@ #include -#include "conf-parser.h" #include "qdisc.h" typedef enum CakeCompensationMode { diff --git a/src/network/tc/codel.c b/src/network/tc/codel.c index 2bba46f2e9f..482a813bb1e 100644 --- a/src/network/tc/codel.c +++ b/src/network/tc/codel.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" +#include "sd-netlink.h" + #include "codel.h" -#include "conf-parser.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/codel.h b/src/network/tc/codel.h index 4fe52831a08..98564c5640a 100644 --- a/src/network/tc/codel.h +++ b/src/network/tc/codel.h @@ -2,9 +2,7 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" #include "qdisc.h" -#include "time-util.h" typedef struct ControlledDelay { QDisc meta; diff --git a/src/network/tc/drr.c b/src/network/tc/drr.c index 5d754101de2..1aae00722bf 100644 --- a/src/network/tc/drr.c +++ b/src/network/tc/drr.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "drr.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/drr.h b/src/network/tc/drr.h index 4719bf6c4f9..54c6c7cafe1 100644 --- a/src/network/tc/drr.h +++ b/src/network/tc/drr.h @@ -2,6 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once +#include "forward.h" #include "qdisc.h" #include "tclass.h" diff --git a/src/network/tc/ets.c b/src/network/tc/ets.c index 4af750834cb..8f12ee172e1 100644 --- a/src/network/tc/ets.c +++ b/src/network/tc/ets.c @@ -2,16 +2,15 @@ #include +#include "sd-netlink.h" + #include "alloc-util.h" -#include "conf-parser.h" #include "ets.h" #include "extract-word.h" -#include "memory-util.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "qdisc.h" #include "string-util.h" -#include "tc-util.h" static int enhanced_transmission_selection_fill_message(Link *link, QDisc *qdisc, sd_netlink_message *req) { EnhancedTransmissionSelection *ets; diff --git a/src/network/tc/ets.h b/src/network/tc/ets.h index b6dd42811c2..6aa06ed15c0 100644 --- a/src/network/tc/ets.h +++ b/src/network/tc/ets.h @@ -3,7 +3,7 @@ #include -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct EnhancedTransmissionSelection { diff --git a/src/network/tc/fifo.c b/src/network/tc/fifo.c index 9638be8ff9c..eb407adf8cb 100644 --- a/src/network/tc/fifo.c +++ b/src/network/tc/fifo.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "fifo.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/fifo.h b/src/network/tc/fifo.h index b9bbd0994ca..41af459f53b 100644 --- a/src/network/tc/fifo.h +++ b/src/network/tc/fifo.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct FirstInFirstOut { diff --git a/src/network/tc/fq-codel.c b/src/network/tc/fq-codel.c index 4f5f09dfe58..88b88e99ef4 100644 --- a/src/network/tc/fq-codel.c +++ b/src/network/tc/fq-codel.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "fq-codel.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/tc/fq-codel.h b/src/network/tc/fq-codel.h index 2553c59886e..b6c74a0fd09 100644 --- a/src/network/tc/fq-codel.h +++ b/src/network/tc/fq-codel.h @@ -2,9 +2,8 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" -#include "time-util.h" typedef struct FairQueueingControlledDelay { QDisc meta; diff --git a/src/network/tc/fq-pie.c b/src/network/tc/fq-pie.c index 8f4f7c431c4..2aac55dfc4c 100644 --- a/src/network/tc/fq-pie.c +++ b/src/network/tc/fq-pie.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "fq-pie.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/fq-pie.h b/src/network/tc/fq-pie.h index 51fb626a7a4..b5acb78bac0 100644 --- a/src/network/tc/fq-pie.h +++ b/src/network/tc/fq-pie.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct FlowQueuePIE { diff --git a/src/network/tc/fq.c b/src/network/tc/fq.c index ea55e5cb0a1..47a51a4a3ef 100644 --- a/src/network/tc/fq.c +++ b/src/network/tc/fq.c @@ -3,11 +3,11 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "fq.h" +#include "log.h" #include "logarithm.h" -#include "netlink-util.h" #include "parse-util.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/tc/fq.h b/src/network/tc/fq.h index 77469c4103d..ef25f43674f 100644 --- a/src/network/tc/fq.h +++ b/src/network/tc/fq.h @@ -2,7 +2,7 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct FairQueueing { diff --git a/src/network/tc/gred.c b/src/network/tc/gred.c index 550c2da0f41..258f9aa6497 100644 --- a/src/network/tc/gred.c +++ b/src/network/tc/gred.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "gred.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/gred.h b/src/network/tc/gred.h index c084ff12ece..59209cd7ff5 100644 --- a/src/network/tc/gred.h +++ b/src/network/tc/gred.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct GenericRandomEarlyDetection { diff --git a/src/network/tc/hhf.c b/src/network/tc/hhf.c index 9ddb7ef9063..f13fcff03f4 100644 --- a/src/network/tc/hhf.c +++ b/src/network/tc/hhf.c @@ -3,10 +3,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "hhf.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/hhf.h b/src/network/tc/hhf.h index 04caaa8aa40..ceab4ffc71e 100644 --- a/src/network/tc/hhf.h +++ b/src/network/tc/hhf.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct HeavyHitterFilter { diff --git a/src/network/tc/htb.c b/src/network/tc/htb.c index 1dbad284643..5c85e1a76d5 100644 --- a/src/network/tc/htb.c +++ b/src/network/tc/htb.c @@ -2,10 +2,10 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" +#include "sd-netlink.h" + #include "htb.h" -#include "netlink-util.h" +#include "log-link.h" #include "networkd-link.h" #include "parse-util.h" #include "qdisc.h" diff --git a/src/network/tc/htb.h b/src/network/tc/htb.h index 55644dbdd2a..c7c342b5621 100644 --- a/src/network/tc/htb.h +++ b/src/network/tc/htb.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" #include "tclass.h" diff --git a/src/network/tc/mq.c b/src/network/tc/mq.c index 1435ed1fda0..3f0cbbb4141 100644 --- a/src/network/tc/mq.c +++ b/src/network/tc/mq.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "forward.h" #include "mq.h" const QDiscVTable mq_vtable = { diff --git a/src/network/tc/mq.h b/src/network/tc/mq.h index 88f0049670c..d963f886fe7 100644 --- a/src/network/tc/mq.h +++ b/src/network/tc/mq.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "forward.h" #include "qdisc.h" typedef struct ClassfulMultiQueueing { diff --git a/src/network/tc/multiq.c b/src/network/tc/multiq.c index 5e637e9e514..ab0eb4f57b0 100644 --- a/src/network/tc/multiq.c +++ b/src/network/tc/multiq.c @@ -2,6 +2,8 @@ #include +#include "sd-netlink.h" + #include "multiq.h" static int multi_queueing_fill_message(Link *link, QDisc *qdisc, sd_netlink_message *req) { diff --git a/src/network/tc/multiq.h b/src/network/tc/multiq.h index e53ed57c716..132ffdf34df 100644 --- a/src/network/tc/multiq.h +++ b/src/network/tc/multiq.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "forward.h" #include "qdisc.h" typedef struct BandMultiQueueing { diff --git a/src/network/tc/netem.c b/src/network/tc/netem.c index 51039de1f4e..e7c0da8c44a 100644 --- a/src/network/tc/netem.c +++ b/src/network/tc/netem.c @@ -2,14 +2,14 @@ * Copyright © 2019 VMware, Inc. */ #include +#include "sd-netlink.h" -#include "alloc-util.h" -#include "conf-parser.h" +#include "log-link.h" #include "netem.h" -#include "netlink-util.h" -#include "networkd-manager.h" +#include "networkd-link.h" #include "parse-util.h" #include "qdisc.h" +#include "string-util.h" #include "strv.h" #include "tc-util.h" diff --git a/src/network/tc/netem.h b/src/network/tc/netem.h index d58d5ac765a..ebc653fb4e5 100644 --- a/src/network/tc/netem.h +++ b/src/network/tc/netem.h @@ -2,9 +2,8 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" -#include "time-util.h" typedef struct NetworkEmulator { QDisc meta; diff --git a/src/network/tc/pie.c b/src/network/tc/pie.c index 8a0fa4a8cf2..653bdc37344 100644 --- a/src/network/tc/pie.c +++ b/src/network/tc/pie.c @@ -3,9 +3,9 @@ #include -#include "alloc-util.h" -#include "conf-parser.h" -#include "netlink-util.h" +#include "sd-netlink.h" + +#include "log.h" #include "parse-util.h" #include "pie.h" #include "string-util.h" diff --git a/src/network/tc/pie.h b/src/network/tc/pie.h index 40a114e7d16..09e7ee4dddb 100644 --- a/src/network/tc/pie.h +++ b/src/network/tc/pie.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct ProportionalIntegralControllerEnhanced { diff --git a/src/network/tc/qdisc.c b/src/network/tc/qdisc.c index 401c9fe8e68..e16ace841e3 100644 --- a/src/network/tc/qdisc.c +++ b/src/network/tc/qdisc.c @@ -2,6 +2,7 @@ * Copyright © 2019 VMware, Inc. */ #include +#include "sd-netlink.h" #include "alloc-util.h" #include "cake.h" @@ -16,15 +17,14 @@ #include "gred.h" #include "hhf.h" #include "htb.h" -#include "in-addr-util.h" #include "mq.h" #include "multiq.h" #include "netem.h" -#include "netlink-util.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-network.h" #include "networkd-queue.h" +#include "ordered-set.h" #include "parse-util.h" #include "pie.h" #include "qdisc.h" @@ -32,6 +32,7 @@ #include "set.h" #include "sfb.h" #include "sfq.h" +#include "siphash24.h" #include "string-util.h" #include "strv.h" #include "tbf.h" diff --git a/src/network/tc/qdisc.h b/src/network/tc/qdisc.h index 5a2b1be5f42..51929d67f79 100644 --- a/src/network/tc/qdisc.h +++ b/src/network/tc/qdisc.h @@ -2,13 +2,9 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "networkd-forward.h" #include "networkd-util.h" -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; - typedef enum QDiscKind { QDISC_KIND_BFIFO, QDISC_KIND_CAKE, diff --git a/src/network/tc/qfq.c b/src/network/tc/qfq.c index 0da53a89e43..f021eeb73f7 100644 --- a/src/network/tc/qfq.c +++ b/src/network/tc/qfq.c @@ -2,7 +2,9 @@ * Copyright © 2020 VMware, Inc. */ #include +#include "sd-netlink.h" +#include "log.h" #include "parse-util.h" #include "qdisc.h" #include "qfq.h" diff --git a/src/network/tc/qfq.h b/src/network/tc/qfq.h index 2e6599391ac..fea151070d1 100644 --- a/src/network/tc/qfq.h +++ b/src/network/tc/qfq.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" #include "tclass.h" diff --git a/src/network/tc/sfb.c b/src/network/tc/sfb.c index 07fac6700f6..e704c03af5b 100644 --- a/src/network/tc/sfb.c +++ b/src/network/tc/sfb.c @@ -2,10 +2,9 @@ * Copyright © 2020 VMware, Inc. */ #include +#include "sd-netlink.h" -#include "alloc-util.h" -#include "conf-parser.h" -#include "netlink-util.h" +#include "log.h" #include "parse-util.h" #include "qdisc.h" #include "sfb.h" diff --git a/src/network/tc/sfb.h b/src/network/tc/sfb.h index 628df358e89..ef1ece124c2 100644 --- a/src/network/tc/sfb.h +++ b/src/network/tc/sfb.h @@ -2,7 +2,7 @@ * Copyright © 2020 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct StochasticFairBlue { diff --git a/src/network/tc/sfq.c b/src/network/tc/sfq.c index 78778653439..e50df380c4e 100644 --- a/src/network/tc/sfq.c +++ b/src/network/tc/sfq.c @@ -2,11 +2,9 @@ * Copyright © 2019 VMware, Inc. */ #include +#include "sd-netlink.h" -#include "alloc-util.h" -#include "conf-parser.h" -#include "netlink-util.h" -#include "parse-util.h" +#include "log.h" #include "qdisc.h" #include "sfq.h" #include "string-util.h" diff --git a/src/network/tc/sfq.h b/src/network/tc/sfq.h index 1626775d63d..ac98f21fafe 100644 --- a/src/network/tc/sfq.h +++ b/src/network/tc/sfq.h @@ -2,9 +2,8 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" -#include "time-util.h" typedef struct StochasticFairnessQueueing { QDisc meta; diff --git a/src/network/tc/tbf.c b/src/network/tc/tbf.c index 85ecbe39be8..9abf47d4100 100644 --- a/src/network/tc/tbf.c +++ b/src/network/tc/tbf.c @@ -2,18 +2,16 @@ * Copyright © 2019 VMware, Inc. */ #include -#include -#include "alloc-util.h" -#include "conf-parser.h" -#include "netem.h" -#include "netlink-util.h" -#include "networkd-manager.h" +#include "sd-netlink.h" + +#include "log-link.h" +#include "networkd-link.h" #include "parse-util.h" -#include "string-util.h" #include "strv.h" #include "tbf.h" #include "tc-util.h" +#include "string-util.h" static int token_bucket_filter_fill_message(Link *link, QDisc *qdisc, sd_netlink_message *req) { uint32_t rtab[256], ptab[256]; diff --git a/src/network/tc/tbf.h b/src/network/tc/tbf.h index 6b4b017c7c8..091f3d2d5a4 100644 --- a/src/network/tc/tbf.h +++ b/src/network/tc/tbf.h @@ -2,9 +2,8 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" -#include "time-util.h" typedef struct TokenBucketFilter { QDisc meta; diff --git a/src/network/tc/tc-util.c b/src/network/tc/tc-util.c index ce9b5ecdae8..94e8d2615a3 100644 --- a/src/network/tc/tc-util.c +++ b/src/network/tc/tc-util.c @@ -1,8 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later * Copyright © 2019 VMware, Inc. */ +#include + #include "alloc-util.h" -#include "assert-util.h" #include "extract-word.h" #include "fileio.h" #include "parse-util.h" diff --git a/src/network/tc/tc-util.h b/src/network/tc/tc-util.h index 83bad8e3b76..5c2ab002b41 100644 --- a/src/network/tc/tc-util.h +++ b/src/network/tc/tc-util.h @@ -4,7 +4,7 @@ #include -#include "time-util.h" +#include "forward.h" int tc_init(double *ret_ticks_in_usec, uint32_t *ret_hz); int tc_time_to_tick(usec_t t, uint32_t *ret); diff --git a/src/network/tc/tc.c b/src/network/tc/tc.c index 4679e86ac97..8884b8830d0 100644 --- a/src/network/tc/tc.c +++ b/src/network/tc/tc.c @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "macro.h" +#include "hashmap.h" #include "networkd-link.h" #include "networkd-network.h" #include "qdisc.h" diff --git a/src/network/tc/tc.h b/src/network/tc/tc.h index 6226578ec51..0bcf20a3550 100644 --- a/src/network/tc/tc.h +++ b/src/network/tc/tc.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Link Link; +#include "networkd-forward.h" int link_request_traffic_control(Link *link); diff --git a/src/network/tc/tclass.c b/src/network/tc/tclass.c index 61ba42e45fe..3b53a59a1b6 100644 --- a/src/network/tc/tclass.c +++ b/src/network/tc/tclass.c @@ -3,21 +3,21 @@ #include +#include "sd-netlink.h" + #include "alloc-util.h" #include "conf-parser.h" #include "drr.h" #include "htb.h" -#include "in-addr-util.h" -#include "netlink-util.h" #include "networkd-link.h" #include "networkd-manager.h" #include "networkd-network.h" #include "networkd-queue.h" -#include "parse-util.h" +#include "ordered-set.h" #include "qfq.h" #include "set.h" +#include "siphash24.h" #include "string-util.h" -#include "strv.h" #include "tc-util.h" #include "tclass.h" diff --git a/src/network/tc/tclass.h b/src/network/tc/tclass.h index b5dc5c8c3cd..2bba38be8d5 100644 --- a/src/network/tc/tclass.h +++ b/src/network/tc/tclass.h @@ -2,13 +2,9 @@ * Copyright © 2019 VMware, Inc. */ #pragma once -#include "conf-parser.h" +#include "networkd-forward.h" #include "networkd-util.h" -typedef struct Link Link; -typedef struct Manager Manager; -typedef struct Network Network; - typedef enum TClassKind { TCLASS_KIND_DRR, TCLASS_KIND_HTB, diff --git a/src/network/tc/teql.c b/src/network/tc/teql.c index 06640afc316..3fc0f11f6d4 100644 --- a/src/network/tc/teql.c +++ b/src/network/tc/teql.c @@ -1,7 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "alloc-util.h" -#include "macro.h" +#include "log.h" #include "networkd-link.h" #include "parse-util.h" #include "string-util.h" diff --git a/src/network/tc/teql.h b/src/network/tc/teql.h index 8d0085ea546..7aa16bb6ee7 100644 --- a/src/network/tc/teql.h +++ b/src/network/tc/teql.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" +#include "forward.h" #include "qdisc.h" typedef struct TrivialLinkEqualizer { diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c index 5ad028bd3b5..d29331b9f28 100644 --- a/src/network/test-network-tables.c +++ b/src/network/test-network-tables.c @@ -1,19 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include "bond.h" -#include "dhcp6-internal.h" +#include "sd-dhcp-lease.h" + +#include "bond-util.h" #include "dhcp6-protocol.h" #include "ethtool-util.h" -#include "ipvlan.h" +#include "ipvlan-util.h" #include "lldp-rx-internal.h" -#include "macvlan.h" +#include "macvlan-util.h" #include "ndisc-internal.h" -#include "networkd-link.h" -#include "networkd-network.h" -#include "networkd-util.h" +#include "networkd-dns.h" +#include "networkd-lldp-rx.h" +#include "networkd-radv.h" +#include "networkd-sysctl.h" #include "test-tables.h" #include "tests.h" #include "tunnel.h" diff --git a/src/network/test-network.c b/src/network/test-network.c index b98b9ecfb54..fbeed4f316c 100644 --- a/src/network/test-network.c +++ b/src/network/test-network.c @@ -2,14 +2,11 @@ #include -#include "sd-device.h" - #include "alloc-util.h" #include "dhcp-lease-internal.h" -#include "ether-addr-util.h" +#include "hashmap.h" #include "hostname-setup.h" #include "network-internal.h" -#include "networkd-address.h" #include "networkd-manager.h" #include "networkd-route-util.h" #include "string-util.h" diff --git a/src/network/test-networkd-conf.c b/src/network/test-networkd-conf.c index a3dc42a9ea5..e4533737bfc 100644 --- a/src/network/test-networkd-conf.c +++ b/src/network/test-networkd-conf.c @@ -1,13 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "conf-parser.h" #include "hexdecoct.h" -#include "log.h" -#include "macro.h" #include "net-condition.h" #include "networkd-address.h" -#include "networkd-conf.h" #include "networkd-manager.h" #include "networkd-network.h" +#include "set.h" #include "strv.h" #include "tests.h" diff --git a/src/network/wait-online/dns-configuration.c b/src/network/wait-online/dns-configuration.c index c369cc115a9..320f50a981e 100644 --- a/src/network/wait-online/dns-configuration.c +++ b/src/network/wait-online/dns-configuration.c @@ -10,7 +10,7 @@ #include "iovec-util.h" #include "json-util.h" #include "set.h" -#include "strv.h" +#include "string-util.h" DNSServer* dns_server_free(DNSServer *s) { if (!s) diff --git a/src/network/wait-online/dns-configuration.h b/src/network/wait-online/dns-configuration.h index 6e6890d9250..535c095137b 100644 --- a/src/network/wait-online/dns-configuration.h +++ b/src/network/wait-online/dns-configuration.h @@ -1,46 +1,39 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-json.h" +#include -#include "hash-funcs.h" -#include "iovec-util.h" -#include "macro-fundamental.h" -#include "set.h" +#include "forward.h" -typedef struct DNSServer DNSServer; -typedef struct SearchDomain SearchDomain; -typedef struct DNSConfiguration DNSConfiguration; - -struct DNSServer { +typedef struct DNSServer { struct iovec addr; int family; uint16_t port; int ifindex; char *server_name; bool accessible; -}; +} DNSServer; DNSServer* dns_server_free(DNSServer *s); DEFINE_TRIVIAL_CLEANUP_FUNC(DNSServer*, dns_server_free); -struct SearchDomain { +typedef struct SearchDomain { char *name; bool route_only; int ifindex; -}; +} SearchDomain; SearchDomain* search_domain_free(SearchDomain *d); DEFINE_TRIVIAL_CLEANUP_FUNC(SearchDomain*, search_domain_free); -struct DNSConfiguration { +typedef struct DNSConfiguration { char *ifname; int ifindex; bool default_route; DNSServer *current_dns_server; Set *dns_servers; Set *search_domains; -}; +} DNSConfiguration; DNSConfiguration* dns_configuration_free(DNSConfiguration *c); DEFINE_TRIVIAL_CLEANUP_FUNC(DNSConfiguration*, dns_configuration_free); diff --git a/src/network/wait-online/wait-online-link.c b/src/network/wait-online/wait-online-link.c index f7c2e4fc987..3b7e336a7df 100644 --- a/src/network/wait-online/wait-online-link.c +++ b/src/network/wait-online/wait-online-link.c @@ -1,11 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-netlink.h" #include "sd-network.h" #include "alloc-util.h" #include "dns-configuration.h" #include "format-ifname.h" #include "hashmap.h" +#include "log-link.h" #include "string-util.h" #include "strv.h" #include "wait-online-link.h" diff --git a/src/network/wait-online/wait-online-link.h b/src/network/wait-online/wait-online-link.h index 33d0a85e8dc..20b1764cfb2 100644 --- a/src/network/wait-online/wait-online-link.h +++ b/src/network/wait-online/wait-online-link.h @@ -1,16 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-netlink.h" - -#include "dns-configuration.h" -#include "log-link.h" +#include "forward.h" #include "network-util.h" -typedef struct Link Link; +typedef struct DNSConfiguration DNSConfiguration; typedef struct Manager Manager; -struct Link { +typedef struct Link { Manager *manager; int ifindex; @@ -26,7 +23,7 @@ struct Link { LinkAddressState ipv6_address_state; char *state; DNSConfiguration *dns_configuration; -}; +} Link; int rtnl_process_link(sd_netlink *rtnl, sd_netlink_message *mm, void *userdata); int link_update_monitor(Link *l); diff --git a/src/network/wait-online/wait-online-manager.c b/src/network/wait-online/wait-online-manager.c index 0ff2c77277f..2d014a3ec78 100644 --- a/src/network/wait-online/wait-online-manager.c +++ b/src/network/wait-online/wait-online-manager.c @@ -1,20 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include +#include #include "sd-event.h" #include "sd-json.h" +#include "sd-netlink.h" +#include "sd-network.h" #include "sd-varlink.h" #include "alloc-util.h" #include "dns-configuration.h" +#include "hashmap.h" #include "json-util.h" -#include "netlink-util.h" +#include "log-link.h" #include "string-util.h" #include "strv.h" -#include "time-util.h" #include "wait-online-link.h" #include "wait-online-manager.h" diff --git a/src/network/wait-online/wait-online-manager.h b/src/network/wait-online/wait-online-manager.h index e5ff8c21ba8..591552dc24c 100644 --- a/src/network/wait-online/wait-online-manager.h +++ b/src/network/wait-online/wait-online-manager.h @@ -1,20 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-event.h" -#include "sd-netlink.h" -#include "sd-network.h" -#include "sd-varlink.h" - -#include "dns-configuration.h" -#include "hashmap.h" +#include "forward.h" #include "network-util.h" -#include "time-util.h" -typedef struct Manager Manager; +typedef struct DNSConfiguration DNSConfiguration; typedef struct Link Link; -struct Manager { +typedef struct Manager { Hashmap *links_by_index; Hashmap *links_by_name; @@ -38,7 +31,7 @@ struct Manager { sd_varlink *varlink_client; DNSConfiguration *dns_configuration; Hashmap *dns_configuration_by_link_index; -}; +} Manager; Manager* manager_free(Manager *m); int manager_new(Manager **ret, Hashmap *command_line_interfaces_by_name, char **ignored_interfaces, diff --git a/src/network/wait-online/wait-online.c b/src/network/wait-online/wait-online.c index c693b5335c8..b1d0b9cde21 100644 --- a/src/network/wait-online/wait-online.c +++ b/src/network/wait-online/wait-online.c @@ -2,20 +2,20 @@ #include #include -#include -#include "sd-daemon.h" +#include "sd-event.h" #include "alloc-util.h" #include "build.h" #include "daemon-util.h" +#include "hashmap.h" #include "log.h" #include "main-func.h" #include "parse-argument.h" #include "pretty-print.h" -#include "signal-util.h" #include "socket-util.h" #include "strv.h" +#include "time-util.h" #include "wait-online-manager.h" static bool arg_quiet = false;