Commit 3b42a96dc7870c53d20b419185737d3b8f7a7b74
Committed by
David S. Miller
1 parent
9457b24a09
Exists in
master
and in
20 other branches
net: rtnetlink.h -- only include linux/netdevice.h when used by the kernel
The commit below added a new helper dev_ingress_queue to cleanly obtain the ingress queue pointer. This necessitated including 'linux/netdevice.h': commit 24824a09e35402b8d58dcc5be803a5ad3937bdba Author: Eric Dumazet <eric.dumazet@gmail.com> Date: Sat Oct 2 06:11:55 2010 +0000 net: dynamic ingress_queue allocation However this include triggers issues for applications in userspace which use the rtnetlink interfaces. Commonly this requires they include 'net/if.h' and 'linux/rtnetlink.h' leading to a compiler error as below: In file included from /usr/include/linux/netdevice.h:28:0, from /usr/include/linux/rtnetlink.h:9, from t.c:2: /usr/include/linux/if.h:135:8: error: redefinition of ‘struct ifmap’ /usr/include/net/if.h:112:8: note: originally defined here /usr/include/linux/if.h:169:8: error: redefinition of ‘struct ifreq’ /usr/include/net/if.h:127:8: note: originally defined here /usr/include/linux/if.h:218:8: error: redefinition of ‘struct ifconf’ /usr/include/net/if.h:177:8: note: originally defined here The new helper is only defined for the kernel and protected by __KERNEL__ therefore we can simply pull the include down into the same protected section. Signed-off-by: Andy Whitcroft <apw@canonical.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff
include/linux/rtnetlink.h
... | ... | @@ -6,7 +6,6 @@ |
6 | 6 | #include <linux/if_link.h> |
7 | 7 | #include <linux/if_addr.h> |
8 | 8 | #include <linux/neighbour.h> |
9 | -#include <linux/netdevice.h> | |
10 | 9 | |
11 | 10 | /* rtnetlink families. Values up to 127 are reserved for real address |
12 | 11 | * families, values above 128 may be used arbitrarily. |
... | ... | @@ -606,6 +605,7 @@ |
606 | 605 | #ifdef __KERNEL__ |
607 | 606 | |
608 | 607 | #include <linux/mutex.h> |
608 | +#include <linux/netdevice.h> | |
609 | 609 | |
610 | 610 | static __inline__ int rtattr_strcmp(const struct rtattr *rta, const char *str) |
611 | 611 | { |