From a85ca79143a87286f793957e803ee3daf03c2b57 Mon Sep 17 00:00:00 2001 
 | 
From: Khem Raj <raj.khem@gmail.com> 
 | 
Date: Tue, 6 Jul 2021 14:06:44 -0700 
 | 
Subject: [PATCH] layer4: Change order of include files 
 | 
  
 | 
curent order to include standard headers first is causing an isue with 
 | 
glibc 2.34 + kernel-headers 5.13+ where order of including netinet/in.h 
 | 
and linux/in.h matters and it does not define __UAPI_DEF_IN_IPPROTO 
 | 
before including linux/in.h and then later includes netinet/in.h which 
 | 
then means lot of definitions will be defined twice and compile would 
 | 
fail. Re-ordering the local headers to appear first solves the issue 
 | 
amicably, and I think this is right order too 
 | 
  
 | 
Upsteam-Status: Pending 
 | 
Signed-off-by: Khem Raj <raj.khem@gmail.com> 
 | 
--- 
 | 
 keepalived/core/layer4.c | 21 ++++++++++----------- 
 | 
 1 file changed, 10 insertions(+), 11 deletions(-) 
 | 
  
 | 
diff --git a/keepalived/core/layer4.c b/keepalived/core/layer4.c 
 | 
index 90cdc84..c122c29 100644 
 | 
--- a/keepalived/core/layer4.c 
 | 
+++ b/keepalived/core/layer4.c 
 | 
@@ -23,6 +23,16 @@ 
 | 
  
 | 
 #include "config.h" 
 | 
  
 | 
+#include "layer4.h" 
 | 
+#include "logger.h" 
 | 
+#include "scheduler.h" 
 | 
+#ifdef _WITH_LVS_ 
 | 
+#include "check_api.h" 
 | 
+#endif 
 | 
+#include "bitops.h" 
 | 
+#include "utils.h" 
 | 
+#include "align.h" 
 | 
+ 
 | 
 #include <stdio.h> 
 | 
 #include <errno.h> 
 | 
 #include <unistd.h> 
 | 
@@ -33,17 +43,6 @@ 
 | 
 #include <sys/time.h> 
 | 
 #endif 
 | 
 #include <linux/errqueue.h> 
 | 
-#include <netinet/in.h> 
 | 
- 
 | 
-#include "layer4.h" 
 | 
-#include "logger.h" 
 | 
-#include "scheduler.h" 
 | 
-#ifdef _WITH_LVS_ 
 | 
-#include "check_api.h" 
 | 
-#endif 
 | 
-#include "bitops.h" 
 | 
-#include "utils.h" 
 | 
-#include "align.h" 
 | 
  
 | 
 // #define ICMP_DEBUG    1 
 | 
  
 |