[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f5146ff-507d-4cab-a195-b28c0c9e654e@kernel.org>
Date: Mon, 2 Sep 2024 10:50:17 -0600
From: David Ahern <dsahern@...nel.org>
To: Ido Schimmel <idosch@...dia.com>, netdev@...r.kernel.org,
netfilter-devel@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, dsahern@...nel.org, gnault@...hat.com,
pablo@...filter.org, kadlec@...filter.org, fw@...len.de
Subject: Re: [PATCH net-next v2 3/3] ipv4: Centralize TOS matching
On 8/14/24 6:52 AM, Ido Schimmel wrote:
> diff --git a/include/uapi/linux/in_route.h b/include/uapi/linux/in_route.h
> index 0cc2c23b47f8..10bdd7e7107f 100644
> --- a/include/uapi/linux/in_route.h
> +++ b/include/uapi/linux/in_route.h
> @@ -2,6 +2,8 @@
> #ifndef _LINUX_IN_ROUTE_H
> #define _LINUX_IN_ROUTE_H
>
> +#include <linux/ip.h>
> +
> /* IPv4 routing cache flags */
>
> #define RTCF_DEAD RTNH_F_DEAD
This breaks compile of iproute2 (on Ubuntu 22.04 at least):
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:25: warning: "IPTOS_TOS" redefined
25 | #define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:212: note: this is the location of the
previous definition
212 | #define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK)
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:29: warning: "IPTOS_MINCOST" redefined
29 | #define IPTOS_MINCOST 0x02
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:217: note: this is the location of the
previous definition
217 | #define IPTOS_MINCOST IPTOS_LOWCOST
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:31: warning: "IPTOS_PREC_MASK" redefined
31 | #define IPTOS_PREC_MASK 0xE0
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:222: note: this is the location of the
previous definition
222 | #define IPTOS_PREC_MASK IPTOS_CLASS_MASK
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:32: warning: "IPTOS_PREC" redefined
32 | #define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:223: note: this is the location of the
previous definition
223 | #define IPTOS_PREC(tos) IPTOS_CLASS(tos)
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:33: warning: "IPTOS_PREC_NETCONTROL" redefined
33 | #define IPTOS_PREC_NETCONTROL 0xe0
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:224: note: this is the location of the
previous definition
224 | #define IPTOS_PREC_NETCONTROL IPTOS_CLASS_CS7
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:34: warning: "IPTOS_PREC_INTERNETCONTROL"
redefined
34 | #define IPTOS_PREC_INTERNETCONTROL 0xc0
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:225: note: this is the location of the
previous definition
225 | #define IPTOS_PREC_INTERNETCONTROL IPTOS_CLASS_CS6
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:35: warning: "IPTOS_PREC_CRITIC_ECP" redefined
35 | #define IPTOS_PREC_CRITIC_ECP 0xa0
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:226: note: this is the location of the
previous definition
226 | #define IPTOS_PREC_CRITIC_ECP IPTOS_CLASS_CS5
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:36: warning: "IPTOS_PREC_FLASHOVERRIDE" redefined
36 | #define IPTOS_PREC_FLASHOVERRIDE 0x80
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:227: note: this is the location of the
previous definition
227 | #define IPTOS_PREC_FLASHOVERRIDE IPTOS_CLASS_CS4
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:37: warning: "IPTOS_PREC_FLASH" redefined
37 | #define IPTOS_PREC_FLASH 0x60
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:228: note: this is the location of the
previous definition
228 | #define IPTOS_PREC_FLASH IPTOS_CLASS_CS3
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:38: warning: "IPTOS_PREC_IMMEDIATE" redefined
38 | #define IPTOS_PREC_IMMEDIATE 0x40
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:229: note: this is the location of the
previous definition
229 | #define IPTOS_PREC_IMMEDIATE IPTOS_CLASS_CS2
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:39: warning: "IPTOS_PREC_PRIORITY" redefined
39 | #define IPTOS_PREC_PRIORITY 0x20
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:230: note: this is the location of the
previous definition
230 | #define IPTOS_PREC_PRIORITY IPTOS_CLASS_CS1
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:40: warning: "IPTOS_PREC_ROUTINE" redefined
40 | #define IPTOS_PREC_ROUTINE 0x00
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:231: note: this is the location of the
previous definition
231 | #define IPTOS_PREC_ROUTINE IPTOS_CLASS_CS0
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:48: warning: "IPOPT_COPIED" redefined
48 | #define IPOPT_COPIED(o) ((o)&IPOPT_COPY)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:240: note: this is the location of the
previous definition
240 | #define IPOPT_COPIED(o) ((o) & IPOPT_COPY)
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:49: warning: "IPOPT_CLASS" redefined
49 | #define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:241: note: this is the location of the
previous definition
241 | #define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK)
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:50: warning: "IPOPT_NUMBER" redefined
50 | #define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:242: note: this is the location of the
previous definition
242 | #define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK)
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:54: warning: "IPOPT_MEASUREMENT" redefined
54 | #define IPOPT_MEASUREMENT 0x40
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:247: note: this is the location of the
previous definition
247 | #define IPOPT_MEASUREMENT IPOPT_DEBMEAS
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:57: warning: "IPOPT_END" redefined
57 | #define IPOPT_END (0 |IPOPT_CONTROL)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:251: note: this is the location of the
previous definition
251 | #define IPOPT_END IPOPT_EOL
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:58: warning: "IPOPT_NOOP" redefined
58 | #define IPOPT_NOOP (1 |IPOPT_CONTROL)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:253: note: this is the location of the
previous definition
253 | #define IPOPT_NOOP IPOPT_NOP
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:59: warning: "IPOPT_SEC" redefined
59 | #define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:259: note: this is the location of the
previous definition
259 | #define IPOPT_SEC IPOPT_SECURITY
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:60: warning: "IPOPT_LSRR" redefined
60 | #define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:260: note: this is the location of the
previous definition
260 | #define IPOPT_LSRR 131 /* loose source
route */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:61: warning: "IPOPT_TIMESTAMP" redefined
61 | #define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:257: note: this is the location of the
previous definition
257 | #define IPOPT_TIMESTAMP IPOPT_TS
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:63: warning: "IPOPT_RR" redefined
63 | #define IPOPT_RR (7 |IPOPT_CONTROL)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:255: note: this is the location of the
previous definition
255 | #define IPOPT_RR 7 /* record packet
route */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:64: warning: "IPOPT_SID" redefined
64 | #define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:262: note: this is the location of the
previous definition
262 | #define IPOPT_SID IPOPT_SATID
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:65: warning: "IPOPT_SSRR" redefined
65 | #define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:263: note: this is the location of the
previous definition
263 | #define IPOPT_SSRR 137 /* strict source
route */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:66: warning: "IPOPT_RA" redefined
66 | #define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY)
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:264: note: this is the location of the
previous definition
264 | #define IPOPT_RA 148 /* router alert */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:77: warning: "IPOPT_NOP" redefined
77 | #define IPOPT_NOP IPOPT_NOOP
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:252: note: this is the location of the
previous definition
252 | #define IPOPT_NOP 1 /* no operation */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:78: warning: "IPOPT_EOL" redefined
78 | #define IPOPT_EOL IPOPT_END
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:250: note: this is the location of the
previous definition
250 | #define IPOPT_EOL 0 /* end of option
list */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:79: warning: "IPOPT_TS" redefined
79 | #define IPOPT_TS IPOPT_TIMESTAMP
|
In file included from iproute.c:17:
/usr/include/netinet/ip.h:256: note: this is the location of the
previous definition
256 | #define IPOPT_TS 68 /* timestamp */
|
In file included from ../include/uapi/linux/in_route.h:5,
from iproute.c:19:
../include/uapi/linux/ip.h:87:8: error: redefinition of ‘struct iphdr’
87 | struct iphdr {
| ^~~~~
In file included from iproute.c:17:
/usr/include/netinet/ip.h:44:8: note: originally defined here
44 | struct iphdr
| ^~~~~
Powered by blists - more mailing lists