api: fix compatibility of linux/in.h with netinet/in.h
u
This fixes breakage to iproute2 build with recent kernel headers
caused by:
   commit a263653ed7
   Author: Pablo Neira Ayuso <pablo@netfilter.org>
   Date:   Wed Jun 17 10:28:27 2015 -0500
   netfilter: don't pull include/linux/netfilter.h from netns headers
The issue is that definitions in linux/in.h overlap with those
in netinet/in.h. This patch solves this by introducing the same
mechanism as was used to solve the same problem with linux/in6.h
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
	
	
This commit is contained in:
		
					parent
					
						
							
								1625fecf56
							
						
					
				
			
			
				commit
				
					
						279c6c7fa6
					
				
			
		
					 2 changed files with 35 additions and 3 deletions
				
			
		|  | @ -56,6 +56,13 @@ | |||
| 
 | ||||
| /* GLIBC headers included first so don't define anything
 | ||||
|  * that would already be defined. */ | ||||
| #define __UAPI_DEF_IN_ADDR		0 | ||||
| #define __UAPI_DEF_IN_IPPROTO		0 | ||||
| #define __UAPI_DEF_IN_PKTINFO		0 | ||||
| #define __UAPI_DEF_IP_MREQ		0 | ||||
| #define __UAPI_DEF_SOCKADDR_IN		0 | ||||
| #define __UAPI_DEF_IN_CLASS		0 | ||||
| 
 | ||||
| #define __UAPI_DEF_IN6_ADDR		0 | ||||
| /* The exception is the in6_addr macros which must be defined
 | ||||
|  * if the glibc code didn't define them. This guard matches | ||||
|  | @ -78,6 +85,13 @@ | |||
| /* Linux headers included first, and we must define everything
 | ||||
|  * we need. The expectation is that glibc will check the | ||||
|  * __UAPI_DEF_* defines and adjust appropriately. */ | ||||
| #define __UAPI_DEF_IN_ADDR		1 | ||||
| #define __UAPI_DEF_IN_IPPROTO		1 | ||||
| #define __UAPI_DEF_IN_PKTINFO		1 | ||||
| #define __UAPI_DEF_IP_MREQ		1 | ||||
| #define __UAPI_DEF_SOCKADDR_IN		1 | ||||
| #define __UAPI_DEF_IN_CLASS		1 | ||||
| 
 | ||||
| #define __UAPI_DEF_IN6_ADDR		1 | ||||
| /* We unconditionally define the in6_addr macros and glibc must
 | ||||
|  * coordinate. */ | ||||
|  | @ -103,6 +117,14 @@ | |||
|  * that we need. */ | ||||
| #else /* !defined(__GLIBC__) */ | ||||
| 
 | ||||
| /* Definitions for in.h */ | ||||
| #define __UAPI_DEF_IN_ADDR		1 | ||||
| #define __UAPI_DEF_IN_IPPROTO		1 | ||||
| #define __UAPI_DEF_IN_PKTINFO		1 | ||||
| #define __UAPI_DEF_IP_MREQ		1 | ||||
| #define __UAPI_DEF_SOCKADDR_IN		1 | ||||
| #define __UAPI_DEF_IN_CLASS		1 | ||||
| 
 | ||||
| /* Definitions for in6.h */ | ||||
| #define __UAPI_DEF_IN6_ADDR		1 | ||||
| #define __UAPI_DEF_IN6_ADDR_ALT		1 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stephen Hemminger
				Stephen Hemminger