blob: a978558b426eaf79f00c4e9dc24b08b19f89b9a5 [file] [log] [blame]
Andrew Geisslerd1e89492021-02-12 15:35:20 -06001From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001
Andrew Geissler82c905d2020-04-13 13:39:40 -05002From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 26 Oct 2017 22:10:42 -0700
Andrew Geisslerd1e89492021-02-12 15:35:20 -06004Subject: [PATCH 06/26] Include netinet/if_ether.h
Brad Bishop19323692019-04-05 15:28:33 -04005
6Fixes
7/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
8 struct ethhdr {
9 ^~~~~~
10
Brad Bishopa34c0302019-09-23 22:34:48 -040011and related arphdr, arpreq, and arpreq_old errors
12/path/to/systemd/recipe-sysroot/usr/include/net/if_arp.h:22:8: error: redefinition of 'struct arphdr'
13 struct arphdr {
14 ^~~~~~
15
16The latter requires removing some includes of net/if_arp.h to avoid
17conflicting with netinet/if_ether.h.
18
Brad Bishop19323692019-04-05 15:28:33 -040019Upstream-Status: Inappropriate [musl specific]
20
21Signed-off-by: Khem Raj <raj.khem@gmail.com>
22Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Brad Bishopa34c0302019-09-23 22:34:48 -040023[rebased for systemd 243]
24Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Brad Bishop19323692019-04-05 15:28:33 -040025
Brad Bishopa34c0302019-09-23 22:34:48 -040026Upstream-Status: Inappropriate [musl specific]
27
28Signed-off-by: Khem Raj <raj.khem@gmail.com>
29Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
30[rebased for systemd 243]
31Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Andrew Geisslerd1e89492021-02-12 15:35:20 -060032[rebased for systemd 247]
33Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Brad Bishopa34c0302019-09-23 22:34:48 -040034---
35 src/libsystemd-network/sd-dhcp6-client.c | 1 -
36 src/libsystemd/sd-netlink/netlink-types.c | 1 +
37 src/machine/machine-dbus.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050038 src/network/netdev/bond.c | 1 +
39 src/network/netdev/bridge.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040040 src/network/netdev/macsec.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050041 src/network/netdev/netdev-gperf.gperf | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040042 src/network/netdev/netdev.c | 1 +
43 src/network/networkd-brvlan.c | 1 +
Andrew Geissler95ac1b82021-03-31 14:34:31 -050044 src/network/networkd-dhcp-common.c | 4 +++-
45 src/network/networkd-dhcp-server.c | 4 ++--
Brad Bishopa34c0302019-09-23 22:34:48 -040046 src/network/networkd-dhcp4.c | 2 +-
47 src/network/networkd-dhcp6.c | 2 +-
48 src/network/networkd-link.c | 2 +-
49 src/network/networkd-network.c | 1 +
Andrew Geissler95ac1b82021-03-31 14:34:31 -050050 src/network/networkd-route.c | 5 ++++-
Andrew Geissler82c905d2020-04-13 13:39:40 -050051 src/network/test-network-tables.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040052 src/shared/ethtool-util.c | 1 +
53 src/shared/ethtool-util.h | 1 +
54 src/udev/net/link-config.c | 1 +
55 src/udev/udev-builtin-net_setup_link.c | 1 +
Andrew Geissler95ac1b82021-03-31 14:34:31 -050056 21 files changed, 26 insertions(+), 8 deletions(-)
Brad Bishopa34c0302019-09-23 22:34:48 -040057
Andrew Geisslerd1e89492021-02-12 15:35:20 -060058diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -050059index 66f87c4b95..de1264ae46 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -060060--- a/src/libsystemd-network/sd-dhcp6-client.c
61+++ b/src/libsystemd-network/sd-dhcp6-client.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050062@@ -5,7 +5,6 @@
63
Brad Bishopa34c0302019-09-23 22:34:48 -040064 #include <errno.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040065 #include <sys/ioctl.h>
66-#include <linux/if_arp.h>
67 #include <linux/if_infiniband.h>
68
69 #include "sd-dhcp6-client.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060070diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
71index 6fb6c147d9..8eda02d202 100644
72--- a/src/libsystemd/sd-netlink/netlink-types.c
73+++ b/src/libsystemd/sd-netlink/netlink-types.c
Brad Bishop19323692019-04-05 15:28:33 -040074@@ -3,6 +3,7 @@
75 #include <netinet/in.h>
76 #include <stdint.h>
77 #include <sys/socket.h>
78+#include <netinet/if_ether.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040079 #include <linux/can/vxcan.h>
Brad Bishop19323692019-04-05 15:28:33 -040080 #include <linux/netlink.h>
81 #include <linux/rtnetlink.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -060082diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
83index bb67beb665..f5780f1aec 100644
84--- a/src/machine/machine-dbus.c
85+++ b/src/machine/machine-dbus.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050086@@ -3,6 +3,7 @@
87 #include <errno.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040088 #include <sys/mount.h>
89 #include <sys/wait.h>
Brad Bishop19323692019-04-05 15:28:33 -040090+#include <netinet/if_ether.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040091
92 /* When we include libgen.h because we need dirname() we immediately
93 * undefine basename() since libgen.h defines it as a macro to the POSIX
Andrew Geisslerd1e89492021-02-12 15:35:20 -060094diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
95index e27f36067b..8868f1da5d 100644
96--- a/src/network/netdev/bond.c
97+++ b/src/network/netdev/bond.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050098@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -060099 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Andrew Geissler82c905d2020-04-13 13:39:40 -0500100
101+#include <netinet/if_ether.h>
102 #include "alloc-util.h"
103 #include "bond.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500104 #include "bond-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600105diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
106index 1f59cd8b42..5fdbae7e99 100644
107--- a/src/network/netdev/bridge.c
108+++ b/src/network/netdev/bridge.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500109@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600110 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Andrew Geissler82c905d2020-04-13 13:39:40 -0500111
112+#include <netinet/if_ether.h>
113 #include <net/if.h>
114
115 #include "bridge.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600116diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
117index 82e71c3920..fbae86e216 100644
118--- a/src/network/netdev/macsec.c
119+++ b/src/network/netdev/macsec.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400120@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600121 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400122
123+#include <netinet/if_ether.h>
124 #include <netinet/in.h>
125 #include <linux/if_ether.h>
126 #include <linux/if_macsec.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600127diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
128index 4e89761f2c..91251fa6ec 100644
129--- a/src/network/netdev/netdev-gperf.gperf
130+++ b/src/network/netdev/netdev-gperf.gperf
Andrew Geissler82c905d2020-04-13 13:39:40 -0500131@@ -2,6 +2,7 @@
132 #if __GNUC__ >= 7
133 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
134 #endif
135+#include <netinet/if_ether.h>
136 #include <stddef.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600137 #include "bareudp.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500138 #include "bond.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600139diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
140index 9f390b5781..62aeafb1e4 100644
141--- a/src/network/netdev/netdev.c
142+++ b/src/network/netdev/netdev.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400143@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600144 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400145
146+#include <netinet/if_ether.h>
Brad Bishop19323692019-04-05 15:28:33 -0400147 #include <net/if.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400148 #include <netinet/in.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500149 #include <unistd.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600150diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
151index e53c73c30c..9bf0771b84 100644
152--- a/src/network/networkd-brvlan.c
153+++ b/src/network/networkd-brvlan.c
Brad Bishop19323692019-04-05 15:28:33 -0400154@@ -4,6 +4,7 @@
155 ***/
156
157 #include <netinet/in.h>
158+#include <netinet/if_ether.h>
159 #include <linux/if_bridge.h>
160 #include <stdbool.h>
161
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600162diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500163index 9f58121350..554d006cb8 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600164--- a/src/network/networkd-dhcp-common.c
165+++ b/src/network/networkd-dhcp-common.c
166@@ -1,7 +1,8 @@
167 /* SPDX-License-Identifier: LGPL-2.1-or-later */
168
169 #include <netinet/in.h>
170-#include <linux/if_arp.h>
171+#include <net/if_arp.h>
172+#include <net/if.h>
173
174 #include "dhcp-internal.h"
175 #include "dhcp6-internal.h"
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500176@@ -10,6 +11,7 @@
Brad Bishopa34c0302019-09-23 22:34:48 -0400177 #include "networkd-dhcp-common.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600178 #include "networkd-link.h"
179 #include "networkd-manager.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400180+#include <netinet/if_ether.h>
181 #include "networkd-network.h"
182 #include "parse-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600183 #include "socket-util.h"
184diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
185index cf279c640d..bae541029b 100644
186--- a/src/network/networkd-dhcp-server.c
187+++ b/src/network/networkd-dhcp-server.c
188@@ -1,8 +1,8 @@
189 /* SPDX-License-Identifier: LGPL-2.1-or-later */
190
191 #include <netinet/in.h>
192-#include <linux/if_arp.h>
193-#include <linux/if.h>
194+#include <net/if_arp.h>
195+#include <net/if.h>
196
197 #include "sd-dhcp-server.h"
198
199diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500200index f3c1e5f609..e4ef6eca63 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600201--- a/src/network/networkd-dhcp4.c
202+++ b/src/network/networkd-dhcp4.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500203@@ -1,9 +1,9 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600204 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400205
206+#include <netinet/if_ether.h>
207 #include <netinet/in.h>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500208 #include <netinet/ip.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400209 #include <linux/if.h>
210-#include <linux/if_arp.h>
211
Andrew Geissler635e0e42020-08-21 15:58:33 -0500212 #include "escape.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400213 #include "alloc-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600214diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500215index 5c077c1ec8..fa98042aa5 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600216--- a/src/network/networkd-dhcp6.c
217+++ b/src/network/networkd-dhcp6.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400218@@ -3,9 +3,9 @@
219 Copyright © 2014 Intel Corporation. All rights reserved.
220 ***/
221
222+#include <netinet/if_ether.h>
223 #include <netinet/in.h>
224 #include <linux/if.h>
225-#include <linux/if_arp.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400226
227 #include "sd-dhcp6-client.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500228
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600229diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500230index 3bfe636691..e0c68c8ad3 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600231--- a/src/network/networkd-link.c
232+++ b/src/network/networkd-link.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400233@@ -1,8 +1,8 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600234 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400235
236+#include <netinet/if_ether.h>
237 #include <netinet/in.h>
238 #include <linux/if.h>
239-#include <linux/if_arp.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500240 #include <linux/if_link.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400241 #include <unistd.h>
242
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600243diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
244index 3254641461..f0ada419fd 100644
245--- a/src/network/networkd-network.c
246+++ b/src/network/networkd-network.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400247@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600248 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400249
250+#include <netinet/if_ether.h>
251 #include <net/if.h>
252 #include <netinet/in.h>
253 #include <linux/netdevice.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600254diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500255index 0ed89584ef..e7e157c201 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600256--- a/src/network/networkd-route.c
257+++ b/src/network/networkd-route.c
258@@ -1,7 +1,10 @@
259 /* SPDX-License-Identifier: LGPL-2.1-or-later */
260
261 #include <linux/icmpv6.h>
262-#include <linux/ipv6_route.h>
263+/* linux/ipv6_route.h conflicts with netinet/in.h so define manually */
264+#ifndef IP6_RT_PRIO_USER
265+#define IP6_RT_PRIO_USER 1024
266+#endif
267
268 #include "alloc-util.h"
269 #include "netlink-util.h"
270diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
271index 475cac7527..9bae6eda16 100644
272--- a/src/network/test-network-tables.c
273+++ b/src/network/test-network-tables.c
274@@ -1,5 +1,6 @@
275 /* SPDX-License-Identifier: LGPL-2.1-or-later */
276
Andrew Geissler82c905d2020-04-13 13:39:40 -0500277+#include <netinet/if_ether.h>
278 #include "bond.h"
279 #include "dhcp6-internal.h"
280 #include "dhcp6-protocol.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600281diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
282index e6fab262f2..41dd3d7df7 100644
283--- a/src/shared/ethtool-util.c
284+++ b/src/shared/ethtool-util.c
Brad Bishop19323692019-04-05 15:28:33 -0400285@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600286 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishop19323692019-04-05 15:28:33 -0400287
288+#include <netinet/if_ether.h>
289 #include <net/if.h>
290 #include <sys/ioctl.h>
291 #include <linux/ethtool.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600292diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
293index f94b3e15bf..08a7e4fa09 100644
294--- a/src/shared/ethtool-util.h
295+++ b/src/shared/ethtool-util.h
Andrew Geissler82c905d2020-04-13 13:39:40 -0500296@@ -3,6 +3,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400297
298 #include <macro.h>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500299 #include <net/ethernet.h>
Brad Bishop19323692019-04-05 15:28:33 -0400300+#include <netinet/if_ether.h>
301 #include <linux/ethtool.h>
302
303 #include "conf-parser.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600304diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
305index d12fd0e299..636806dc23 100644
306--- a/src/udev/net/link-config.c
307+++ b/src/udev/net/link-config.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400308@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600309 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400310
311+#include <netinet/if_ether.h>
312 #include <linux/netdevice.h>
313 #include <netinet/ether.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500314 #include <unistd.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600315diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500316index 87e1fb133e..13876029d0 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600317--- a/src/udev/udev-builtin-net_setup_link.c
318+++ b/src/udev/udev-builtin-net_setup_link.c
Brad Bishop19323692019-04-05 15:28:33 -0400319@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600320 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishop19323692019-04-05 15:28:33 -0400321
322+#include <netinet/if_ether.h>
Brad Bishop19323692019-04-05 15:28:33 -0400323 #include "alloc-util.h"
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500324 #include "device-util.h"
325 #include "errno-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600326--
Andrew Geissler95ac1b82021-03-31 14:34:31 -05003272.25.1
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600328