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
 
