Commit 3b50d902 authored by WANG Cong's avatar WANG Cong Committed by David S. Miller
Browse files

ipv6: fix redefinition of in6_pktinfo and ip6_mtuinfo



Both netinet/in.h and linux/ipv6.h define these two structs,
if we include both of them, we got:

	/usr/include/linux/ipv6.h:19:8: error: redefinition of ‘struct in6_pktinfo’
	 struct in6_pktinfo {
		^
	In file included from /usr/include/arpa/inet.h:22:0,
			 from txtimestamp.c:33:
	/usr/include/netinet/in.h:524:8: note: originally defined here
	 struct in6_pktinfo
		^
	In file included from txtimestamp.c:40:0:
	/usr/include/linux/ipv6.h:24:8: error: redefinition of ‘struct ip6_mtuinfo’
	 struct ip6_mtuinfo {
		^
	In file included from /usr/include/arpa/inet.h:22:0,
			 from txtimestamp.c:33:
	/usr/include/netinet/in.h:531:8: note: originally defined here
	 struct ip6_mtuinfo
		^
So similarly to what we did for in6_addr, we need to sync with
libc header on their definitions.
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 44d84d72
...@@ -15,16 +15,19 @@ ...@@ -15,16 +15,19 @@
* *under construction* * *under construction*
*/ */
#if __UAPI_DEF_IN6_PKTINFO
struct in6_pktinfo { struct in6_pktinfo {
struct in6_addr ipi6_addr; struct in6_addr ipi6_addr;
int ipi6_ifindex; int ipi6_ifindex;
}; };
#endif
#if __UAPI_DEF_IP6_MTUINFO
struct ip6_mtuinfo { struct ip6_mtuinfo {
struct sockaddr_in6 ip6m_addr; struct sockaddr_in6 ip6m_addr;
__u32 ip6m_mtu; __u32 ip6m_mtu;
}; };
#endif
struct in6_ifreq { struct in6_ifreq {
struct in6_addr ifr6_addr; struct in6_addr ifr6_addr;
......
...@@ -70,6 +70,8 @@ ...@@ -70,6 +70,8 @@
#define __UAPI_DEF_IPV6_MREQ 0 #define __UAPI_DEF_IPV6_MREQ 0
#define __UAPI_DEF_IPPROTO_V6 0 #define __UAPI_DEF_IPPROTO_V6 0
#define __UAPI_DEF_IPV6_OPTIONS 0 #define __UAPI_DEF_IPV6_OPTIONS 0
#define __UAPI_DEF_IN6_PKTINFO 0
#define __UAPI_DEF_IP6_MTUINFO 0
#else #else
...@@ -84,6 +86,8 @@ ...@@ -84,6 +86,8 @@
#define __UAPI_DEF_IPV6_MREQ 1 #define __UAPI_DEF_IPV6_MREQ 1
#define __UAPI_DEF_IPPROTO_V6 1 #define __UAPI_DEF_IPPROTO_V6 1
#define __UAPI_DEF_IPV6_OPTIONS 1 #define __UAPI_DEF_IPV6_OPTIONS 1
#define __UAPI_DEF_IN6_PKTINFO 1
#define __UAPI_DEF_IP6_MTUINFO 1
#endif /* _NETINET_IN_H */ #endif /* _NETINET_IN_H */
...@@ -106,6 +110,8 @@ ...@@ -106,6 +110,8 @@
#define __UAPI_DEF_IPV6_MREQ 1 #define __UAPI_DEF_IPV6_MREQ 1
#define __UAPI_DEF_IPPROTO_V6 1 #define __UAPI_DEF_IPPROTO_V6 1
#define __UAPI_DEF_IPV6_OPTIONS 1 #define __UAPI_DEF_IPV6_OPTIONS 1
#define __UAPI_DEF_IN6_PKTINFO 1
#define __UAPI_DEF_IP6_MTUINFO 1
/* Definitions for xattr.h */ /* Definitions for xattr.h */
#define __UAPI_DEF_XATTR 1 #define __UAPI_DEF_XATTR 1
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment