summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-11-06 14:42:32 -0800
committerBen Pfaff <blp@ovn.org>2017-12-22 12:58:02 -0800
commitb2befd5bb2db811ac0273bc52be158d3476a5ff7 (patch)
tree1c4e11f4cabdf80e2904b8268b5f3a2daafae3a9 /lib
parent9041097aeec97b41f8a2d607e2c72a99b4f60d6a (diff)
downloadopenvswitch-b2befd5bb2db811ac0273bc52be158d3476a5ff7.tar.gz
sparse: Add guards to prevent FreeBSD-incompatible #include order.
FreeBSD insists that <sys/types.h> be included before <netinet/in.h> and that <netinet/in.h> be included before <arpa/inet.h>. This adds guards to the "sparse" headers to yield a warning if this order is violated. This commit also adjusts the order of many #includes to suit this requirement. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/bfd.c1
-rw-r--r--lib/bundle.c2
-rw-r--r--lib/bundle.h2
-rw-r--r--lib/byte-order.h3
-rw-r--r--lib/classifier.c1
-rw-r--r--lib/csum.c1
-rw-r--r--lib/dpctl.c3
-rw-r--r--lib/dpif-netdev.c1
-rw-r--r--lib/learning-switch.c1
-rw-r--r--lib/lldp/lldpd-structs.h4
-rw-r--r--lib/lldp/lldpd.c3
-rw-r--r--lib/lldp/lldpd.h4
-rw-r--r--lib/multipath.c4
-rw-r--r--lib/netdev-linux.c4
-rw-r--r--lib/netdev-native-tnl.c1
-rw-r--r--lib/netdev-vport.c1
-rw-r--r--lib/netdev.c2
-rw-r--r--lib/netlink.h1
-rw-r--r--lib/odp-execute.c3
-rw-r--r--lib/odp-util.c3
-rw-r--r--lib/ofp-actions.c2
-rw-r--r--lib/ofp-ed-props.c2
-rw-r--r--lib/ofp-parse.c1
-rw-r--r--lib/ovs-lldp.c4
-rw-r--r--lib/ovs-router.c3
-rw-r--r--lib/ovs-router.h1
-rw-r--r--lib/packets.c4
-rw-r--r--lib/route-table.c2
-rw-r--r--lib/rstp-state-machines.c4
-rw-r--r--lib/rstp.c4
-rw-r--r--lib/sflow_api.h6
-rw-r--r--lib/smap.h1
-rw-r--r--lib/socket-util.c2
-rw-r--r--lib/stream.c1
-rw-r--r--lib/tc.h1
-rw-r--r--lib/util.h2
-rw-r--r--lib/vconn.c1
37 files changed, 58 insertions, 28 deletions
diff --git a/lib/bfd.c b/lib/bfd.c
index 40cd0beb9..482e779ea 100644
--- a/lib/bfd.c
+++ b/lib/bfd.c
@@ -16,6 +16,7 @@
#include "bfd.h"
#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
diff --git a/lib/bundle.c b/lib/bundle.c
index e6705a085..a58d8d247 100644
--- a/lib/bundle.c
+++ b/lib/bundle.c
@@ -17,6 +17,8 @@
#include "bundle.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <inttypes.h>
diff --git a/lib/bundle.h b/lib/bundle.h
index 21f353f67..85a2e861d 100644
--- a/lib/bundle.h
+++ b/lib/bundle.h
@@ -16,6 +16,8 @@
#ifndef BUNDLE_H
#define BUNDLE_H 1
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdbool.h>
#include <stddef.h>
diff --git a/lib/byte-order.h b/lib/byte-order.h
index b2a9082bb..66d29a2b3 100644
--- a/lib/byte-order.h
+++ b/lib/byte-order.h
@@ -16,8 +16,9 @@
#ifndef BYTE_ORDER_H
#define BYTE_ORDER_H 1
-#include <arpa/inet.h>
#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
#include <inttypes.h>
#include "openvswitch/types.h"
diff --git a/lib/classifier.c b/lib/classifier.c
index ca0650afb..16c451da1 100644
--- a/lib/classifier.c
+++ b/lib/classifier.c
@@ -18,6 +18,7 @@
#include "classifier.h"
#include "classifier-private.h"
#include <errno.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include "byte-order.h"
#include "openvswitch/dynamic-string.h"
diff --git a/lib/csum.c b/lib/csum.c
index 6419043aa..eaa05ad98 100644
--- a/lib/csum.c
+++ b/lib/csum.c
@@ -17,6 +17,7 @@
#include <config.h>
#include "csum.h"
#include "unaligned.h"
+#include <sys/types.h>
#include <netinet/in.h>
#ifndef __CHECKER__
diff --git a/lib/dpctl.c b/lib/dpctl.c
index a28ded98f..b76954406 100644
--- a/lib/dpctl.c
+++ b/lib/dpctl.c
@@ -15,12 +15,13 @@
*/
#include <config.h>
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <inttypes.h>
#include <sys/socket.h>
#include <net/if.h>
-#include <netinet/in.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 55be63236..6ba025b66 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -22,6 +22,7 @@
#include <fcntl.h>
#include <inttypes.h>
#include <net/if.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <stdint.h>
#include <stdlib.h>
diff --git a/lib/learning-switch.c b/lib/learning-switch.c
index 6b02e9389..5b014e5f3 100644
--- a/lib/learning-switch.c
+++ b/lib/learning-switch.c
@@ -19,6 +19,7 @@
#include <errno.h>
#include <inttypes.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <time.h>
diff --git a/lib/lldp/lldpd-structs.h b/lib/lldp/lldpd-structs.h
index 15e5ce8fa..6a3ffb8d3 100644
--- a/lib/lldp/lldpd-structs.h
+++ b/lib/lldp/lldpd-structs.h
@@ -20,11 +20,9 @@
#define _LLDPD_STRUCTS_H
#include <net/if.h>
-#ifndef _WIN32
+#include <sys/types.h>
#include <netinet/in.h>
-#endif
#include <sys/socket.h>
-#include <sys/types.h>
#include "aa-structs.h"
#include "lldp-const.h"
#include "packets.h"
diff --git a/lib/lldp/lldpd.c b/lib/lldp/lldpd.c
index e9d1cf18e..ff5e62846 100644
--- a/lib/lldp/lldpd.c
+++ b/lib/lldp/lldpd.c
@@ -18,6 +18,8 @@
#include <config.h>
#include "lldpd.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
@@ -28,7 +30,6 @@
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
-#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#ifndef _WIN32
diff --git a/lib/lldp/lldpd.h b/lib/lldp/lldpd.h
index f77c6d523..5267c112a 100644
--- a/lib/lldp/lldpd.h
+++ b/lib/lldp/lldpd.h
@@ -19,13 +19,11 @@
#ifndef _LLDPD_H
#define _LLDPD_H
-#ifndef _WIN32
+#include <sys/types.h>
#include <netinet/in.h>
-#endif
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
-#include <sys/types.h>
#include "dp-packet.h"
#include "openvswitch/list.h"
#include "lldpd-structs.h"
diff --git a/lib/multipath.c b/lib/multipath.c
index 19e3d33e7..fdbf94ea6 100644
--- a/lib/multipath.c
+++ b/lib/multipath.c
@@ -17,10 +17,10 @@
#include <config.h>
#include "multipath.h"
-#include <arpa/inet.h>
-#include <inttypes.h>
#include <sys/types.h>
#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <inttypes.h>
#include "colors.h"
#include "nx-match.h"
#include "openflow/nicira-ext.h"
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index e809b8877..40b089094 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -20,6 +20,8 @@
#include <errno.h>
#include <fcntl.h>
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <inttypes.h>
#include <linux/filter.h>
@@ -31,7 +33,6 @@
#include <linux/mii.h>
#include <linux/rtnetlink.h>
#include <linux/sockios.h>
-#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <sys/utsname.h>
@@ -40,7 +41,6 @@
#include <net/if_arp.h>
#include <net/if_packet.h>
#include <net/route.h>
-#include <netinet/in.h>
#include <poll.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c
index 3264810f3..9ce856798 100644
--- a/lib/netdev-native-tnl.c
+++ b/lib/netdev-native-tnl.c
@@ -23,6 +23,7 @@
#include <fcntl.h>
#include <sys/socket.h>
#include <net/if.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/ip6.h>
diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c
index 518058a1f..f72025e5b 100644
--- a/lib/netdev-vport.c
+++ b/lib/netdev-vport.c
@@ -23,6 +23,7 @@
#include <fcntl.h>
#include <sys/socket.h>
#include <net/if.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/ip6.h>
#include <sys/ioctl.h>
diff --git a/lib/netdev.c b/lib/netdev.c
index 2d69fe5da..cd11281a5 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -19,6 +19,7 @@
#include <errno.h>
#include <inttypes.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
@@ -28,7 +29,6 @@
#include <ifaddrs.h>
#include <net/if.h>
#include <sys/ioctl.h>
-#include <sys/types.h>
#endif
#include "cmap.h"
diff --git a/lib/netlink.h b/lib/netlink.h
index e4cb2f7b8..44b8e4d1a 100644
--- a/lib/netlink.h
+++ b/lib/netlink.h
@@ -31,6 +31,7 @@
* Linux-specific definitions for Netlink sockets, see netlink-socket.h.
*/
+#include <sys/types.h>
#include <netinet/in.h>
#include <stdbool.h>
#include <stddef.h>
diff --git a/lib/odp-execute.c b/lib/odp-execute.c
index 44e669138..56e316e1e 100644
--- a/lib/odp-execute.c
+++ b/lib/odp-execute.c
@@ -17,8 +17,9 @@
#include <config.h>
#include "odp-execute.h"
-#include <arpa/inet.h>
+#include <sys/types.h>
#include <netinet/in.h>
+#include <arpa/inet.h>
#include <netinet/icmp6.h>
#include <netinet/ip6.h>
#include <stdlib.h>
diff --git a/lib/odp-util.c b/lib/odp-util.c
index ec0432c8a..94edd7800 100644
--- a/lib/odp-util.c
+++ b/lib/odp-util.c
@@ -15,12 +15,13 @@
*/
#include <config.h>
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include "odp-util.h"
#include <errno.h>
#include <inttypes.h>
#include <math.h>
-#include <netinet/in.h>
#include <netinet/icmp6.h>
#include <netinet/ip6.h>
#include <stdlib.h>
diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index e5d03e155..a59962fc3 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -15,6 +15,8 @@
*/
#include <config.h>
+
+#include <sys/types.h>
#include <netinet/in.h>
#include "bundle.h"
diff --git a/lib/ofp-ed-props.c b/lib/ofp-ed-props.c
index eb168fee3..d7bb72f35 100644
--- a/lib/ofp-ed-props.c
+++ b/lib/ofp-ed-props.c
@@ -15,6 +15,8 @@
*/
#include <config.h>
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include "openvswitch/ofp-ed-props.h"
#include "openvswitch/ofp-util.h"
diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c
index 0c68495bf..bacbaa638 100644
--- a/lib/ofp-parse.c
+++ b/lib/ofp-parse.c
@@ -19,6 +19,7 @@
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include "byte-order.h"
diff --git a/lib/ovs-lldp.c b/lib/ovs-lldp.c
index a056ace93..d7062f325 100644
--- a/lib/ovs-lldp.c
+++ b/lib/ovs-lldp.c
@@ -28,12 +28,12 @@
#include <config.h>
#include "ovs-lldp.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <inttypes.h>
-#include <netinet/in.h>
#include <stdbool.h>
#include <stdlib.h>
-#include <sys/types.h>
#include "openvswitch/dynamic-string.h"
#include "flow.h"
#include "openvswitch/list.h"
diff --git a/lib/ovs-router.c b/lib/ovs-router.c
index ce2f80b38..cd2ab15fb 100644
--- a/lib/ovs-router.c
+++ b/lib/ovs-router.c
@@ -18,12 +18,13 @@
#include "ovs-router.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <inttypes.h>
#include <sys/socket.h>
#include <net/if.h>
-#include <netinet/in.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/ovs-router.h b/lib/ovs-router.h
index 29c7c5fe1..b55b1a50b 100644
--- a/lib/ovs-router.h
+++ b/lib/ovs-router.h
@@ -17,6 +17,7 @@
#ifndef OVS_TNL_ROUTER_H
#define OVS_TNL_ROUTER_H 1
+#include <sys/types.h>
#include <netinet/in.h>
#include "util.h"
diff --git a/lib/packets.c b/lib/packets.c
index 7341f5f1f..c9eef2dde 100644
--- a/lib/packets.c
+++ b/lib/packets.c
@@ -16,13 +16,13 @@
#include <config.h>
#include "packets.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
-#include <netinet/in.h>
#include <netinet/ip6.h>
#include <netinet/icmp6.h>
#include <stdlib.h>
-#include <sys/types.h>
#include <netdb.h>
#include "byte-order.h"
#include "csum.h"
diff --git a/lib/route-table.c b/lib/route-table.c
index 4e40c37b4..97a0be5c5 100644
--- a/lib/route-table.c
+++ b/lib/route-table.c
@@ -19,6 +19,8 @@
#include "route-table.h"
#include <errno.h>
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <linux/rtnetlink.h>
diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c
index 8fdaec953..7d677d7a2 100644
--- a/lib/rstp-state-machines.c
+++ b/lib/rstp-state-machines.c
@@ -31,11 +31,11 @@
#include <config.h>
#include "rstp.h"
#include "rstp-state-machines.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <inttypes.h>
-#include <netinet/in.h>
#include <stdlib.h>
-#include <sys/types.h>
#include "byte-order.h"
#include "connectivity.h"
#include "openvswitch/ofpbuf.h"
diff --git a/lib/rstp.c b/lib/rstp.c
index 5d71a4374..7a61b24d7 100644
--- a/lib/rstp.c
+++ b/lib/rstp.c
@@ -32,11 +32,11 @@
#include "rstp.h"
#include "rstp-common.h"
#include "rstp-state-machines.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <inttypes.h>
-#include <netinet/in.h>
#include <stdlib.h>
-#include <sys/types.h>
#include "byte-order.h"
#include "connectivity.h"
#include "openvswitch/ofpbuf.h"
diff --git a/lib/sflow_api.h b/lib/sflow_api.h
index 2730a4cf4..7264fc1c5 100644
--- a/lib/sflow_api.h
+++ b/lib/sflow_api.h
@@ -13,18 +13,18 @@
callback in sfl_agent_init.*/
/* #define SFLOW_DO_SOCKET */
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
-#include <sys/types.h>
-#include <arpa/inet.h> /* for htonl */
#ifdef SFLOW_DO_SOCKET
#include <sys/socket.h>
#include <netinet/in_systm.h>
-#include <netinet/in.h>
#include <netinet/ip.h>
#endif
diff --git a/lib/smap.h b/lib/smap.h
index 838e2e4bb..f1b5b4dfc 100644
--- a/lib/smap.h
+++ b/lib/smap.h
@@ -15,6 +15,7 @@
#ifndef SMAP_H
#define SMAP_H 1
+#include <sys/types.h>
#include <netinet/in.h>
#include "hash.h"
#include "openvswitch/hmap.h"
diff --git a/lib/socket-util.c b/lib/socket-util.c
index 055593d35..7fbcdf19f 100644
--- a/lib/socket-util.c
+++ b/lib/socket-util.c
@@ -16,6 +16,8 @@
#include <config.h>
#include "socket-util.h"
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <ctype.h>
#include <errno.h>
diff --git a/lib/stream.c b/lib/stream.c
index 9cef18e84..083e2fb93 100644
--- a/lib/stream.c
+++ b/lib/stream.c
@@ -18,6 +18,7 @@
#include "stream-provider.h"
#include <errno.h>
#include <inttypes.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <poll.h>
#include <stdlib.h>
diff --git a/lib/tc.h b/lib/tc.h
index 5f65a88ce..6af51c69b 100644
--- a/lib/tc.h
+++ b/lib/tc.h
@@ -18,6 +18,7 @@
#ifndef TC_H
#define TC_H 1
+#include <sys/types.h>
#include <netinet/in.h> /* Must happen before linux/pkt_cls.h - Glibc #20215 */
#include <linux/pkt_cls.h>
#include <linux/pkt_sched.h>
diff --git a/lib/util.h b/lib/util.h
index b01f42130..1792356e5 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -17,6 +17,8 @@
#ifndef UTIL_H
#define UTIL_H 1
+#include <sys/types.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include <inttypes.h>
#include <limits.h>
diff --git a/lib/vconn.c b/lib/vconn.c
index 13623d87a..bb56be2d2 100644
--- a/lib/vconn.c
+++ b/lib/vconn.c
@@ -18,6 +18,7 @@
#include "vconn-provider.h"
#include <errno.h>
#include <inttypes.h>
+#include <sys/types.h>
#include <netinet/in.h>
#include <poll.h>
#include <stdlib.h>