blob: 2dfc7a3cfb3efeba90be8918f6993e17594c9fcc [file] [log] [blame]
William A. Kennington IIIac69b482021-06-02 12:28:27 -07001From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 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
William A. Kennington IIIac69b482021-06-02 12:28:27 -07004Subject: [PATCH] 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>
William A. Kennington IIIac69b482021-06-02 12:28:27 -070034
Brad Bishopa34c0302019-09-23 22:34:48 -040035---
36 src/libsystemd-network/sd-dhcp6-client.c | 1 -
37 src/libsystemd/sd-netlink/netlink-types.c | 1 +
38 src/machine/machine-dbus.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050039 src/network/netdev/bond.c | 1 +
40 src/network/netdev/bridge.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040041 src/network/netdev/macsec.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050042 src/network/netdev/netdev-gperf.gperf | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040043 src/network/netdev/netdev.c | 1 +
44 src/network/networkd-brvlan.c | 1 +
Andrew Geissler95ac1b82021-03-31 14:34:31 -050045 src/network/networkd-dhcp-common.c | 4 +++-
46 src/network/networkd-dhcp-server.c | 4 ++--
Brad Bishopa34c0302019-09-23 22:34:48 -040047 src/network/networkd-dhcp4.c | 2 +-
48 src/network/networkd-dhcp6.c | 2 +-
49 src/network/networkd-link.c | 2 +-
50 src/network/networkd-network.c | 1 +
Andrew Geissler95ac1b82021-03-31 14:34:31 -050051 src/network/networkd-route.c | 5 ++++-
Andrew Geissler82c905d2020-04-13 13:39:40 -050052 src/network/test-network-tables.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040053 src/shared/ethtool-util.c | 1 +
54 src/shared/ethtool-util.h | 1 +
55 src/udev/net/link-config.c | 1 +
56 src/udev/udev-builtin-net_setup_link.c | 1 +
Andrew Geissler95ac1b82021-03-31 14:34:31 -050057 21 files changed, 26 insertions(+), 8 deletions(-)
Brad Bishopa34c0302019-09-23 22:34:48 -040058
Andrew Geisslerd1e89492021-02-12 15:35:20 -060059--- a/src/libsystemd-network/sd-dhcp6-client.c
60+++ b/src/libsystemd-network/sd-dhcp6-client.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050061@@ -5,7 +5,6 @@
62
Brad Bishopa34c0302019-09-23 22:34:48 -040063 #include <errno.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040064 #include <sys/ioctl.h>
65-#include <linux/if_arp.h>
66 #include <linux/if_infiniband.h>
67
68 #include "sd-dhcp6-client.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060069--- a/src/libsystemd/sd-netlink/netlink-types.c
70+++ b/src/libsystemd/sd-netlink/netlink-types.c
Brad Bishop19323692019-04-05 15:28:33 -040071@@ -3,6 +3,7 @@
72 #include <netinet/in.h>
73 #include <stdint.h>
74 #include <sys/socket.h>
75+#include <netinet/if_ether.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040076 #include <linux/can/vxcan.h>
Brad Bishop19323692019-04-05 15:28:33 -040077 #include <linux/netlink.h>
78 #include <linux/rtnetlink.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -060079--- a/src/machine/machine-dbus.c
80+++ b/src/machine/machine-dbus.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050081@@ -3,6 +3,7 @@
82 #include <errno.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040083 #include <sys/mount.h>
84 #include <sys/wait.h>
Brad Bishop19323692019-04-05 15:28:33 -040085+#include <netinet/if_ether.h>
Brad Bishopa34c0302019-09-23 22:34:48 -040086
87 /* When we include libgen.h because we need dirname() we immediately
88 * undefine basename() since libgen.h defines it as a macro to the POSIX
Andrew Geisslerd1e89492021-02-12 15:35:20 -060089--- a/src/network/netdev/bond.c
90+++ b/src/network/netdev/bond.c
Andrew Geissler82c905d2020-04-13 13:39:40 -050091@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -060092 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Andrew Geissler82c905d2020-04-13 13:39:40 -050093
94+#include <netinet/if_ether.h>
95 #include "alloc-util.h"
96 #include "bond.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -050097 #include "bond-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060098--- a/src/network/netdev/bridge.c
99+++ b/src/network/netdev/bridge.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500100@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600101 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Andrew Geissler82c905d2020-04-13 13:39:40 -0500102
103+#include <netinet/if_ether.h>
104 #include <net/if.h>
105
106 #include "bridge.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600107--- a/src/network/netdev/macsec.c
108+++ b/src/network/netdev/macsec.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400109@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600110 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400111
112+#include <netinet/if_ether.h>
113 #include <netinet/in.h>
114 #include <linux/if_ether.h>
115 #include <linux/if_macsec.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600116--- a/src/network/netdev/netdev-gperf.gperf
117+++ b/src/network/netdev/netdev-gperf.gperf
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700118@@ -3,6 +3,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500119 #if __GNUC__ >= 7
120 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
121 #endif
122+#include <netinet/if_ether.h>
123 #include <stddef.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600124 #include "bareudp.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700125 #include "batadv.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600126--- a/src/network/netdev/netdev.c
127+++ b/src/network/netdev/netdev.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400128@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600129 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400130
131+#include <netinet/if_ether.h>
Brad Bishop19323692019-04-05 15:28:33 -0400132 #include <net/if.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400133 #include <netinet/in.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500134 #include <unistd.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600135--- a/src/network/networkd-dhcp-common.c
136+++ b/src/network/networkd-dhcp-common.c
137@@ -1,7 +1,8 @@
138 /* SPDX-License-Identifier: LGPL-2.1-or-later */
139
140 #include <netinet/in.h>
141-#include <linux/if_arp.h>
142+#include <net/if_arp.h>
143+#include <net/if.h>
144
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700145 #include "bus-error.h"
Patrick Williams213cb262021-08-07 19:21:33 -0500146 #include "dhcp-identifier.h"
147@@ -13,6 +14,7 @@
Brad Bishopa34c0302019-09-23 22:34:48 -0400148 #include "networkd-dhcp-common.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600149 #include "networkd-link.h"
150 #include "networkd-manager.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400151+#include <netinet/if_ether.h>
152 #include "networkd-network.h"
153 #include "parse-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600154 #include "socket-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600155--- a/src/network/networkd-dhcp-server.c
156+++ b/src/network/networkd-dhcp-server.c
157@@ -1,8 +1,8 @@
158 /* SPDX-License-Identifier: LGPL-2.1-or-later */
159
160 #include <netinet/in.h>
161-#include <linux/if_arp.h>
162-#include <linux/if.h>
163+#include <net/if_arp.h>
164+#include <net/if.h>
165
166 #include "sd-dhcp-server.h"
167
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600168--- a/src/network/networkd-dhcp4.c
169+++ b/src/network/networkd-dhcp4.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500170@@ -1,9 +1,9 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600171 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400172
173+#include <netinet/if_ether.h>
174 #include <netinet/in.h>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500175 #include <netinet/ip.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400176 #include <linux/if.h>
177-#include <linux/if_arp.h>
178
Andrew Geissler635e0e42020-08-21 15:58:33 -0500179 #include "escape.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400180 #include "alloc-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600181--- a/src/network/networkd-dhcp6.c
182+++ b/src/network/networkd-dhcp6.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400183@@ -3,9 +3,9 @@
184 Copyright © 2014 Intel Corporation. All rights reserved.
185 ***/
186
187+#include <netinet/if_ether.h>
188 #include <netinet/in.h>
189 #include <linux/if.h>
190-#include <linux/if_arp.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400191
192 #include "sd-dhcp6-client.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500193
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600194--- a/src/network/networkd-link.c
195+++ b/src/network/networkd-link.c
Patrick Williams213cb262021-08-07 19:21:33 -0500196@@ -1,9 +1,10 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600197 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400198
199+#include <netinet/if_ether.h>
200 #include <netinet/in.h>
201 #include <linux/if.h>
202-#include <linux/if_arp.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500203 #include <linux/if_link.h>
Patrick Williams213cb262021-08-07 19:21:33 -0500204+#include <linux/netdevice.h>
205 #include <sys/socket.h>
Brad Bishopa34c0302019-09-23 22:34:48 -0400206 #include <unistd.h>
207
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600208--- a/src/network/networkd-network.c
209+++ b/src/network/networkd-network.c
Brad Bishopa34c0302019-09-23 22:34:48 -0400210@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600211 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishopa34c0302019-09-23 22:34:48 -0400212
213+#include <netinet/if_ether.h>
214 #include <net/if.h>
215 #include <netinet/in.h>
216 #include <linux/netdevice.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600217--- a/src/network/test-network-tables.c
218+++ b/src/network/test-network-tables.c
219@@ -1,5 +1,6 @@
220 /* SPDX-License-Identifier: LGPL-2.1-or-later */
221
Andrew Geissler82c905d2020-04-13 13:39:40 -0500222+#include <netinet/if_ether.h>
223 #include "bond.h"
224 #include "dhcp6-internal.h"
225 #include "dhcp6-protocol.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600226--- a/src/shared/ethtool-util.c
227+++ b/src/shared/ethtool-util.c
Brad Bishop19323692019-04-05 15:28:33 -0400228@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600229 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishop19323692019-04-05 15:28:33 -0400230
231+#include <netinet/if_ether.h>
232 #include <net/if.h>
233 #include <sys/ioctl.h>
234 #include <linux/ethtool.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600235--- a/src/shared/ethtool-util.h
236+++ b/src/shared/ethtool-util.h
Andrew Geissler82c905d2020-04-13 13:39:40 -0500237@@ -3,6 +3,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400238
239 #include <macro.h>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500240 #include <net/ethernet.h>
Brad Bishop19323692019-04-05 15:28:33 -0400241+#include <netinet/if_ether.h>
242 #include <linux/ethtool.h>
243
244 #include "conf-parser.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600245--- a/src/udev/net/link-config.c
246+++ b/src/udev/net/link-config.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 <linux/netdevice.h>
252 #include <netinet/ether.h>
Andrew Geissler635e0e42020-08-21 15:58:33 -0500253 #include <unistd.h>
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600254--- a/src/udev/udev-builtin-net_setup_link.c
255+++ b/src/udev/udev-builtin-net_setup_link.c
Brad Bishop19323692019-04-05 15:28:33 -0400256@@ -1,5 +1,6 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600257 /* SPDX-License-Identifier: LGPL-2.1-or-later */
Brad Bishop19323692019-04-05 15:28:33 -0400258
259+#include <netinet/if_ether.h>
Brad Bishop19323692019-04-05 15:28:33 -0400260 #include "alloc-util.h"
Andrew Geissler95ac1b82021-03-31 14:34:31 -0500261 #include "device-util.h"
262 #include "errno-util.h"
Patrick Williams213cb262021-08-07 19:21:33 -0500263--- a/src/network/networkd-bridge-vlan.c
264+++ b/src/network/networkd-bridge-vlan.c
265@@ -4,6 +4,7 @@
266 ***/
267
268 #include <netinet/in.h>
269+#include <netinet/if_ether.h>
270 #include <linux/if_bridge.h>
271 #include <stdbool.h>
272
273--- a/src/basic/linux/in6.h
274+++ b/src/basic/linux/in6.h
275@@ -1,10 +1,10 @@
276 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
277 /*
278- * Types and definitions for AF_INET6
279- * Linux INET6 implementation
280+ * Types and definitions for AF_INET6
281+ * Linux INET6 implementation
282 *
283 * Authors:
284- * Pedro Roque <roque@di.fc.ul.pt>
285+ * Pedro Roque <roque@di.fc.ul.pt>
286 *
287 * Sources:
288 * IPv6 Program Interfaces for BSD Systems
289@@ -19,8 +19,8 @@
290 * 2 of the License, or (at your option) any later version.
291 */
292
293-#ifndef _UAPI_LINUX_IN6_H
294-#define _UAPI_LINUX_IN6_H
295+#ifndef _LINUX_IN6_H
296+#define _LINUX_IN6_H
297
298 #include <linux/types.h>
299 #include <linux/libc-compat.h>
300@@ -97,7 +97,7 @@ struct in6_flowlabel_req {
301
302
303 /*
304- * Bitmask constant declarations to help applications select out the
305+ * Bitmask constant declarations to help applications select out the
306 * flow label and priority fields.
307 *
308 * Note that this are in host byte order while the flowinfo field of
309@@ -298,4 +298,4 @@ struct in6_flowlabel_req {
310 * ...
311 * MRT6_MAX
312 */
313-#endif /* _UAPI_LINUX_IN6_H */
314+#endif /* _LINUX_IN6_H */
315--- a/src/network/networkd-route.c
316+++ b/src/network/networkd-route.c
317@@ -1,5 +1,6 @@
318 /* SPDX-License-Identifier: LGPL-2.1-or-later */
319
320+#include <netinet/in.h>
321 #include <linux/icmpv6.h>
322 #include <linux/ipv6_route.h>
323 #include <linux/nexthop.h>
324--- a/src/network/networkd-setlink.c
325+++ b/src/network/networkd-setlink.c
326@@ -1,8 +1,8 @@
327 /* SPDX-License-Identifier: LGPL-2.1-or-later */
328
329 #include <netinet/in.h>
330+#include <net/if_arp.h>
331 #include <linux/if.h>
332-#include <linux/if_arp.h>
333
334 #include "missing_network.h"
335 #include "netlink-util.h"