linux/pkt_cls.h indirectly includes linux/stddef.h, which may define
__always_inline when using Linux kernel headers 4.6 or later.
netinet/in.h indirectly includes sys/cdefs.h, which before Glibc 2.24
would unconditionally define __always_inline.
This combination of headers causes compilation failure. Resolve the
issue by placing the netinet/in.h include above linux/pkt_cls.h.
Sourceware-BZ: #20215.
Fixes: f98e418fbdb6 ("tc: Add tc flower functions")
Signed-off-by: Joe Stringer <[email protected]>
---
lib/tc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/tc.h b/lib/tc.h
index a472b998f638..61188dd43ec3 100644
--- a/lib/tc.h
+++ b/lib/tc.h
@@ -18,10 +18,10 @@
#ifndef TC_H
#define TC_H 1
+#include <netinet/in.h> /* Must happen before linux/pkt_cls.h - Glibc #20215 */
#include <linux/pkt_cls.h>
#include <linux/pkt_sched.h>
#include <linux/rtnetlink.h>
-#include <netinet/in.h>
#include "lib/netlink-socket.h"
#include "odp-netlink.h"
#include "openvswitch/ofpbuf.h"
--
2.11.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev