blob: b689cf1297aa537a1ccd308e2729b923488453b3 [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 +
44 src/network/networkd-dhcp-common.c | 1 +
45 src/network/networkd-dhcp4.c | 2 +-
46 src/network/networkd-dhcp6.c | 2 +-
47 src/network/networkd-link.c | 2 +-
48 src/network/networkd-network.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050049 src/network/test-network-tables.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040050 src/shared/ethtool-util.c | 1 +
51 src/shared/ethtool-util.h | 1 +
52 src/udev/net/link-config.c | 1 +
53 src/udev/udev-builtin-net_setup_link.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050054 19 files changed, 18 insertions(+), 4 deletions(-)
Brad Bishopa34c0302019-09-23 22:34:48 -040055
Andrew Geisslerd1e89492021-02-12 15:35:20 -060056diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
57index 30ac526fc9..126077e13c 100644
58--- a/src/libsystemd-network/sd-dhcp6-client.c
59+++ b/src/libsystemd-network/sd-dhcp6-client.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050060@@ -5,7 +5,6 @@
61
Brad Bishopa34c0302019-09-23 22:34:48 -040062 #include <errno.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040063 #include <sys/ioctl.h>
64-#include <linux/if_arp.h>
65 #include <linux/if_infiniband.h>
66
67 #include "sd-dhcp6-client.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060068diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
69index 6fb6c147d9..8eda02d202 100644
70--- a/src/libsystemd/sd-netlink/netlink-types.c
71+++ b/src/libsystemd/sd-netlink/netlink-types.c
Brad Bishop19323692019-04-05 15:28:33 -040072@@ -3,6 +3,7 @@
73 #include <netinet/in.h>
74 #include <stdint.h>
75 #include <sys/socket.h>
76+#include <netinet/if_ether.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040077 #include <linux/can/vxcan.h>
Brad Bishop19323692019-04-05 15:28:33 -040078 #include <linux/netlink.h>
79 #include <linux/rtnetlink.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -060080diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
81index bb67beb665..f5780f1aec 100644
82--- a/src/machine/machine-dbus.c
83+++ b/src/machine/machine-dbus.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050084@@ -3,6 +3,7 @@
85 #include <errno.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040086 #include <sys/mount.h>
87 #include <sys/wait.h>
Brad Bishop19323692019-04-05 15:28:33 -040088+#include <netinet/if_ether.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040089
90 /* When we include libgen.h because we need dirname() we immediately
91 * undefine basename() since libgen.h defines it as a macro to the POSIX
Andrew Geisslerd1e89492021-02-12 15:35:20 -060092diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
93index e27f36067b..8868f1da5d 100644
94--- a/src/network/netdev/bond.c
95+++ b/src/network/netdev/bond.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050096@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -060097 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Andrew Geissler82c905d2020-04-13 13:39:40 -050098
99+#include <netinet/if_ether.h>
100 #include "alloc-util.h"
101 #include "bond.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500102 #include "bond-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600103diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
104index 1f59cd8b42..5fdbae7e99 100644
105--- a/src/network/netdev/bridge.c
106+++ b/src/network/netdev/bridge.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500107@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600108 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Andrew Geissler82c905d2020-04-13 13:39:40 -0500109
110+#include <netinet/if_ether.h>
111 #include <net/if.h>
112
113 #include "bridge.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600114diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
115index 82e71c3920..fbae86e216 100644
116--- a/src/network/netdev/macsec.c
117+++ b/src/network/netdev/macsec.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400118@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600119 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400120
121+#include <netinet/if_ether.h>
122 #include <netinet/in.h>
123 #include <linux/if_ether.h>
124 #include <linux/if_macsec.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600125diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
126index 4e89761f2c..91251fa6ec 100644
127--- a/src/network/netdev/netdev-gperf.gperf
128+++ b/src/network/netdev/netdev-gperf.gperf
Andrew Geissler82c905d2020-04-13 13:39:40 -0500129@@ -2,6 +2,7 @@
130 #if __GNUC__ >= 7
131 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
132 #endif
133+#include <netinet/if_ether.h>
134 #include <stddef.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600135 #include "bareudp.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500136 #include "bond.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600137diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
138index 9f390b5781..62aeafb1e4 100644
139--- a/src/network/netdev/netdev.c
140+++ b/src/network/netdev/netdev.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400141@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600142 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400143
144+#include <netinet/if_ether.h>
Brad Bishop19323692019-04-05 15:28:33 -0400145 #include <net/if.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400146 #include <netinet/in.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500147 #include <unistd.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600148diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
149index e53c73c30c..9bf0771b84 100644
150--- a/src/network/networkd-brvlan.c
151+++ b/src/network/networkd-brvlan.c
Brad Bishop19323692019-04-05 15:28:33 -0400152@@ -4,6 +4,7 @@
153 ***/
154
155 #include <netinet/in.h>
156+#include <netinet/if_ether.h>
157 #include <linux/if_bridge.h>
158 #include <stdbool.h>
159
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600160diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
161index c338c775a7..ab35d65c53 100644
162--- a/src/network/networkd-dhcp-common.c
163+++ b/src/network/networkd-dhcp-common.c
164@@ -1,7 +1,8 @@
165 /* SPDX-License-Identifier: LGPL-2.1-or-later */
166
167 #include <netinet/in.h>
168-#include <linux/if_arp.h>
169+#include <net/if_arp.h>
170+#include <net/if.h>
171
172 #include "dhcp-internal.h"
173 #include "dhcp6-internal.h"
174@@ -10,6 +10,7 @@
Brad Bishopa34c0302019-09-23 22:34:48 -0400175 #include "networkd-dhcp-common.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600176 #include "networkd-link.h"
177 #include "networkd-manager.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400178+#include <netinet/if_ether.h>
179 #include "networkd-network.h"
180 #include "parse-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600181 #include "socket-util.h"
182diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
183index cf279c640d..bae541029b 100644
184--- a/src/network/networkd-dhcp-server.c
185+++ b/src/network/networkd-dhcp-server.c
186@@ -1,8 +1,8 @@
187 /* SPDX-License-Identifier: LGPL-2.1-or-later */
188
189 #include <netinet/in.h>
190-#include <linux/if_arp.h>
191-#include <linux/if.h>
192+#include <net/if_arp.h>
193+#include <net/if.h>
194
195 #include "sd-dhcp-server.h"
196
197diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
198index 02d33841b6..a30d8dd82c 100644
199--- a/src/network/networkd-dhcp4.c
200+++ b/src/network/networkd-dhcp4.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500201@@ -1,9 +1,9 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600202 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400203
204+#include <netinet/if_ether.h>
205 #include <netinet/in.h>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500206 #include <netinet/ip.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400207 #include <linux/if.h>
208-#include <linux/if_arp.h>
209
Andrew Geissler635e0e42020-08-21 15:58:33 -0500210 #include "escape.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400211 #include "alloc-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600212diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
213index d4d4182ee5..635d08f7d5 100644
214--- a/src/network/networkd-dhcp6.c
215+++ b/src/network/networkd-dhcp6.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400216@@ -3,9 +3,9 @@
217 Copyright © 2014 Intel Corporation. All rights reserved.
218 ***/
219
220+#include <netinet/if_ether.h>
221 #include <netinet/in.h>
222 #include <linux/if.h>
223-#include <linux/if_arp.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400224
225 #include "sd-dhcp6-client.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500226
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600227diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
228index ced18de425..07b43770de 100644
229--- a/src/network/networkd-link.c
230+++ b/src/network/networkd-link.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400231@@ -1,8 +1,8 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600232 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400233
234+#include <netinet/if_ether.h>
235 #include <netinet/in.h>
236 #include <linux/if.h>
237-#include <linux/if_arp.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500238 #include <linux/if_link.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400239 #include <unistd.h>
240
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600241diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
242index 3254641461..f0ada419fd 100644
243--- a/src/network/networkd-network.c
244+++ b/src/network/networkd-network.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400245@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600246 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400247
248+#include <netinet/if_ether.h>
249 #include <net/if.h>
250 #include <netinet/in.h>
251 #include <linux/netdevice.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600252diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
253index 10f30c1a7e..579885726c 100644
254--- a/src/network/networkd-route.c
255+++ b/src/network/networkd-route.c
256@@ -1,7 +1,10 @@
257 /* SPDX-License-Identifier: LGPL-2.1-or-later */
258
259 #include <linux/icmpv6.h>
260-#include <linux/ipv6_route.h>
261+/* linux/ipv6_route.h conflicts with netinet/in.h so define manually */
262+#ifndef IP6_RT_PRIO_USER
263+#define IP6_RT_PRIO_USER 1024
264+#endif
265
266 #include "alloc-util.h"
267 #include "netlink-util.h"
268diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
269index 475cac7527..9bae6eda16 100644
270--- a/src/network/test-network-tables.c
271+++ b/src/network/test-network-tables.c
272@@ -1,5 +1,6 @@
273 /* SPDX-License-Identifier: LGPL-2.1-or-later */
274
Andrew Geissler82c905d2020-04-13 13:39:40 -0500275+#include <netinet/if_ether.h>
276 #include "bond.h"
277 #include "dhcp6-internal.h"
278 #include "dhcp6-protocol.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600279diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
280index e6fab262f2..41dd3d7df7 100644
281--- a/src/shared/ethtool-util.c
282+++ b/src/shared/ethtool-util.c
Brad Bishop19323692019-04-05 15:28:33 -0400283@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600284 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishop19323692019-04-05 15:28:33 -0400285
286+#include <netinet/if_ether.h>
287 #include <net/if.h>
288 #include <sys/ioctl.h>
289 #include <linux/ethtool.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600290diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
291index f94b3e15bf..08a7e4fa09 100644
292--- a/src/shared/ethtool-util.h
293+++ b/src/shared/ethtool-util.h
Andrew Geissler82c905d2020-04-13 13:39:40 -0500294@@ -3,6 +3,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400295
296 #include <macro.h>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500297 #include <net/ethernet.h>
Brad Bishop19323692019-04-05 15:28:33 -0400298+#include <netinet/if_ether.h>
299 #include <linux/ethtool.h>
300
301 #include "conf-parser.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600302diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
303index d12fd0e299..636806dc23 100644
304--- a/src/udev/net/link-config.c
305+++ b/src/udev/net/link-config.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400306@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600307 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400308
309+#include <netinet/if_ether.h>
310 #include <linux/netdevice.h>
311 #include <netinet/ether.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500312 #include <unistd.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600313diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
314index cb12b943fe..5a28c8b563 100644
315--- a/src/udev/udev-builtin-net_setup_link.c
316+++ b/src/udev/udev-builtin-net_setup_link.c
Brad Bishop19323692019-04-05 15:28:33 -0400317@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600318 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishop19323692019-04-05 15:28:33 -0400319
320+#include <netinet/if_ether.h>
321 #include "device-util.h"
322 #include "alloc-util.h"
323 #include "link-config.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600324--
3252.27.0
326