History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

The nf_conntrack_core.c fix in 'net' is not relevant in 'net-next' because we no longer have a per-netns conntrack hash. The ip_gre.c conflict as well as the iwlwifi ones were cases of overlapping changes. Conflicts: drivers/net/wireless/intel/iwlwifi/mvm/tx.c net/ipv4/ip_gre.c net/netfilter/nf_conntrack_core.c

David S. Miller committed 10 years ago

Commit 909b27f2 parents 8fbb89c 272911b144 files · +1364 −615Browse files

Showing the changes to include/uapi (3 of 144 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/if.h +28 −0
  2. include/uapi/linux/libc-compat.h +44 −0
  3. include/uapi/linux/tc_act/Kbuild +1 −0
include/uapi/linux/if.h+28−0
@@ -19,14 +19,20 @@ · 18 unmodified lines
1919 #ifndef _LINUX_IF_H
2020 #define _LINUX_IF_H
2121
22+#include <linux/libc-compat.h> /* for compatibility with glibc */
2223 #include <linux/types.h> /* for "__kernel_caddr_t" et al */
2324 #include <linux/socket.h> /* for "struct sockaddr" et al */
2425 #include <linux/compiler.h> /* for "__user" et al */
2526
27+#if __UAPI_DEF_IF_IFNAMSIZ
2628 #define IFNAMSIZ 16
29+#endif /* __UAPI_DEF_IF_IFNAMSIZ */
2730 #define IFALIASZ 256
2831 #include <linux/hdlc/ioctl.h>
2932
33+/* For glibc compatibility. An empty enum does not compile. */
34+#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO != 0 && \
35+ __UAPI_DEF_IF_NET_DEVICE_FLAGS != 0
3036 /**
3137 * enum net_device_flags - &struct net_device flags
3238 *
@@ -68,6 +74,8 @@ · 35 unmodified lines
6874 * @IFF_ECHO: echo sent packets. Volatile.
6975 */
7076 enum net_device_flags {
77+/* for compatibility with glibc net/if.h */
78+#if __UAPI_DEF_IF_NET_DEVICE_FLAGS
7179 IFF_UP = 1<<0, /* sysfs */
7280 IFF_BROADCAST = 1<<1, /* volatile */
7381 IFF_DEBUG = 1<<2, /* sysfs */
@@ -84,11 +92,17 @@ enum net_device_flags { · 10 unmodified lines
8492 IFF_PORTSEL = 1<<13, /* sysfs */
8593 IFF_AUTOMEDIA = 1<<14, /* sysfs */
8694 IFF_DYNAMIC = 1<<15, /* sysfs */
95+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS */
96+#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
8797 IFF_LOWER_UP = 1<<16, /* volatile */
8898 IFF_DORMANT = 1<<17, /* volatile */
8999 IFF_ECHO = 1<<18, /* volatile */
100+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
90101 };
102+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO != 0 && __UAPI_DEF_IF_NET_DEVICE_FLAGS != 0 */
91103
104+/* for compatibility with glibc net/if.h */
105+#if __UAPI_DEF_IF_NET_DEVICE_FLAGS
92106 #define IFF_UP IFF_UP
93107 #define IFF_BROADCAST IFF_BROADCAST
94108 #define IFF_DEBUG IFF_DEBUG
@@ -105,9 +119,13 @@ enum net_device_flags { · 10 unmodified lines
105119 #define IFF_PORTSEL IFF_PORTSEL
106120 #define IFF_AUTOMEDIA IFF_AUTOMEDIA
107121 #define IFF_DYNAMIC IFF_DYNAMIC
122+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS */
123+
124+#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
108125 #define IFF_LOWER_UP IFF_LOWER_UP
109126 #define IFF_DORMANT IFF_DORMANT
110127 #define IFF_ECHO IFF_ECHO
128+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
111129
112130 #define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\
113131 IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
@@ -166,6 +184,8 @@ enum { · 52 unmodified lines
166184 * being very small might be worth keeping for clean configuration.
167185 */
168186
187+/* for compatibility with glibc net/if.h */
188+#if __UAPI_DEF_IF_IFMAP
169189 struct ifmap {
170190 unsigned long mem_start;
171191 unsigned long mem_end;
@@ -175,6 +195,7 @@ struct ifmap { · 3 unmodified lines
175195 unsigned char port;
176196 /* 3 bytes spare */
177197 };
198+#endif /* __UAPI_DEF_IF_IFMAP */
178199
179200 struct if_settings {
180201 unsigned int type; /* Type of physical device or protocol */
@@ -200,6 +221,8 @@ struct if_settings { · 19 unmodified lines
200221 * remainder may be interface specific.
201222 */
202223
224+/* for compatibility with glibc net/if.h */
225+#if __UAPI_DEF_IF_IFREQ
203226 struct ifreq {
204227 #define IFHWADDRLEN 6
205228 union
@@ -223,6 +246,7 @@ struct ifreq { · 17 unmodified lines
223246 struct if_settings ifru_settings;
224247 } ifr_ifru;
225248 };
249+#endif /* __UAPI_DEF_IF_IFREQ */
226250
227251 #define ifr_name ifr_ifrn.ifrn_name /* interface name */
228252 #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
@@ -249,6 +273,8 @@ struct ifreq { · 20 unmodified lines
249273 * must know all networks accessible).
250274 */
251275
276+/* for compatibility with glibc net/if.h */
277+#if __UAPI_DEF_IF_IFCONF
252278 struct ifconf {
253279 int ifc_len; /* size of buffer */
254280 union {
@@ -256,6 +282,8 @@ struct ifconf { · 1 unmodified line
256282 struct ifreq __user *ifcu_req;
257283 } ifc_ifcu;
258284 };
285+#endif /* __UAPI_DEF_IF_IFCONF */
286+
259287 #define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
260288 #define ifc_req ifc_ifcu.ifcu_req /* array of structures */
261289
include/uapi/linux/libc-compat.h+44−0
@@ -51,6 +51,40 @@ · 50 unmodified lines
5151 /* We have included glibc headers... */
5252 #if defined(__GLIBC__)
5353
54+/* Coordinate with glibc net/if.h header. */
55+#if defined(_NET_IF_H)
56+
57+/* GLIBC headers included first so don't define anything
58+ * that would already be defined. */
59+
60+#define __UAPI_DEF_IF_IFCONF 0
61+#define __UAPI_DEF_IF_IFMAP 0
62+#define __UAPI_DEF_IF_IFNAMSIZ 0
63+#define __UAPI_DEF_IF_IFREQ 0
64+/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
65+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
66+/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
67+#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
68+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
69+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
70+
71+#else /* _NET_IF_H */
72+
73+/* Linux headers included first, and we must define everything
74+ * we need. The expectation is that glibc will check the
75+ * __UAPI_DEF_* defines and adjust appropriately. */
76+
77+#define __UAPI_DEF_IF_IFCONF 1
78+#define __UAPI_DEF_IF_IFMAP 1
79+#define __UAPI_DEF_IF_IFNAMSIZ 1
80+#define __UAPI_DEF_IF_IFREQ 1
81+/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
82+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
83+/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
84+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
85+
86+#endif /* _NET_IF_H */
87+
5488 /* Coordinate with glibc netinet/in.h header. */
5589 #if defined(_NETINET_IN_H)
5690
@@ -117,6 +151,16 @@ · 60 unmodified lines
117151 * that we need. */
118152 #else /* !defined(__GLIBC__) */
119153
154+/* Definitions for if.h */
155+#define __UAPI_DEF_IF_IFCONF 1
156+#define __UAPI_DEF_IF_IFMAP 1
157+#define __UAPI_DEF_IF_IFNAMSIZ 1
158+#define __UAPI_DEF_IF_IFREQ 1
159+/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
160+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
161+/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
162+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
163+
120164 /* Definitions for in.h */
121165 #define __UAPI_DEF_IN_ADDR 1
122166 #define __UAPI_DEF_IN_IPPROTO 1
include/uapi/linux/tc_act/Kbuild+1−0
@@ -10,3 +10,4 @@ header-y += tc_skbedit.h · 9 unmodified lines
1010 header-y += tc_vlan.h
1111 header-y += tc_bpf.h
1212 header-y += tc_connmark.h
13+header-y += tc_ife.h