From patchwork Mon Nov 6 22:42:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 834987 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yW6yc5SH8z9s0Z for ; Tue, 7 Nov 2017 09:42:48 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 4FC87AEF; Mon, 6 Nov 2017 22:42:45 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 3A8CF3EE for ; Mon, 6 Nov 2017 22:42:44 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 8131179 for ; Mon, 6 Nov 2017 22:42:41 +0000 (UTC) Received: from sigabrt.event.priv (unknown [IPv6:2001:470:108:1300:df7c:9be9:8c7:fd03]) (Authenticated sender: blp@ovn.org) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id AB495172095; Mon, 6 Nov 2017 23:42:36 +0100 (CET) From: Ben Pfaff To: dev@openvswitch.org Date: Mon, 6 Nov 2017 14:42:32 -0800 Message-Id: <20171106224232.27296-1-blp@ovn.org> X-Mailer: git-send-email 2.10.2 X-Spam-Status: No, score=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW autolearn=disabled version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ben Pfaff Subject: [ovs-dev] [PATCH] sparse: Add guards to prevent FreeBSD-incompatible #include order. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org FreeBSD insists that be included before and that be included before . 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 Acked-by: Justin Pettit --- configure.ac | 1 + include/openvswitch/packets.h | 1 + include/sparse/arpa/inet.h | 4 ++++ include/sparse/automake.mk | 1 + include/sparse/netinet/in.h | 6 ++++++ include/sparse/{arpa/inet.h => sys/types.h} | 5 +++-- lib/bfd.c | 1 + lib/bundle.c | 2 ++ lib/bundle.h | 2 ++ lib/byte-order.h | 3 ++- lib/classifier.c | 1 + lib/csum.c | 1 + lib/dpctl.c | 3 ++- lib/dpif-netdev.c | 1 + lib/learning-switch.c | 1 + lib/lldp/lldpd-structs.h | 4 +--- lib/lldp/lldpd.c | 3 ++- lib/lldp/lldpd.h | 4 +--- lib/multipath.c | 4 ++-- lib/netdev-linux.c | 4 ++-- lib/netdev-native-tnl.c | 1 + lib/netdev-vport.c | 1 + lib/netdev.c | 2 +- lib/netlink.h | 1 + lib/odp-execute.c | 3 ++- lib/odp-util.c | 3 ++- lib/ofp-actions.c | 2 ++ lib/ofp-ed-props.c | 2 ++ lib/ofp-parse.c | 1 + lib/ovs-lldp.c | 4 ++-- lib/ovs-router.c | 3 ++- lib/ovs-router.h | 1 + lib/packets.c | 4 ++-- lib/route-table.c | 2 ++ lib/rstp-state-machines.c | 4 ++-- lib/rstp.c | 4 ++-- lib/sflow_api.h | 6 +++--- lib/smap.h | 1 + lib/socket-util.c | 2 ++ lib/stream.c | 1 + lib/tc.h | 1 + lib/util.h | 2 ++ lib/vconn.c | 1 + ofproto/in-band.c | 2 ++ ofproto/in-band.h | 1 + ofproto/netflow.c | 2 ++ ofproto/ofproto-dpif-xlate-cache.c | 3 ++- ofproto/ofproto-dpif-xlate-cache.h | 1 + ofproto/ofproto-dpif-xlate.c | 3 ++- ovn/lib/ovn-l7.h | 1 + tests/test-csum.c | 1 + tests/test-sflow.c | 2 ++ utilities/ovs-dpctl.c | 3 ++- 53 files changed, 90 insertions(+), 33 deletions(-) copy include/sparse/{arpa/inet.h => sys/types.h} (85%) diff --git a/configure.ac b/configure.ac index 9e00818327a9..cddae6dc15d2 100644 --- a/configure.ac +++ b/configure.ac @@ -111,6 +111,7 @@ AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include ]]) AC_CHECK_MEMBERS([struct mmsghdr.msg_len], [], [], [[#include ]]) AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id], [], [], [[#include +#include #include ]]) AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs getmntent_r sendmmsg clock_gettime]) AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h stdatomic.h]) diff --git a/include/openvswitch/packets.h b/include/openvswitch/packets.h index be91e02daa60..51b1aa3468a2 100644 --- a/include/openvswitch/packets.h +++ b/include/openvswitch/packets.h @@ -17,6 +17,7 @@ #ifndef OPENVSWITCH_PACKETS_H #define OPENVSWITCH_PACKETS_H 1 +#include #include #include "openvswitch/tun-metadata.h" diff --git a/include/sparse/arpa/inet.h b/include/sparse/arpa/inet.h index dd64e61764e8..3634b230c8bb 100644 --- a/include/sparse/arpa/inet.h +++ b/include/sparse/arpa/inet.h @@ -18,4 +18,8 @@ #error "Use this header only with sparse. It is not a correct implementation." #endif +#ifndef NETINET_IN_H_INCLUDED +#error "Must include before for FreeBSD support" +#endif + #include diff --git a/include/sparse/automake.mk b/include/sparse/automake.mk index f3282c260414..e9b42f52ccb7 100644 --- a/include/sparse/automake.mk +++ b/include/sparse/automake.mk @@ -13,4 +13,5 @@ noinst_HEADERS += \ include/sparse/rte_memcpy.h \ include/sparse/rte_vect.h \ include/sparse/sys/socket.h \ + include/sparse/sys/types.h \ include/sparse/sys/wait.h diff --git a/include/sparse/netinet/in.h b/include/sparse/netinet/in.h index c28158ca02f5..6abdb2331e23 100644 --- a/include/sparse/netinet/in.h +++ b/include/sparse/netinet/in.h @@ -18,6 +18,12 @@ #error "Use this header only with sparse. It is not a correct implementation." #endif +#define NETINET_IN_H_INCLUDED 1 + +#ifndef SYS_TYPES_H_INCLUDED +#error "Must include before for FreeBSD support" +#endif + #ifndef _NETINET_IN_H #define _NETINET_IN_H 1 diff --git a/include/sparse/arpa/inet.h b/include/sparse/sys/types.h similarity index 85% copy from include/sparse/arpa/inet.h copy to include/sparse/sys/types.h index dd64e61764e8..9bae5ae73924 100644 --- a/include/sparse/arpa/inet.h +++ b/include/sparse/sys/types.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 Nicira, Inc. + * Copyright (c) 2011, 2013, 2014, 2015, 2017 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,4 +18,5 @@ #error "Use this header only with sparse. It is not a correct implementation." #endif -#include +#define SYS_TYPES_H_INCLUDED 1 +#include_next diff --git a/lib/bfd.c b/lib/bfd.c index 40cd0beb9f12..482e779ea697 100644 --- a/lib/bfd.c +++ b/lib/bfd.c @@ -16,6 +16,7 @@ #include "bfd.h" #include +#include #include #include #include diff --git a/lib/bundle.c b/lib/bundle.c index e6705a085999..a58d8d247270 100644 --- a/lib/bundle.c +++ b/lib/bundle.c @@ -17,6 +17,8 @@ #include "bundle.h" +#include +#include #include #include diff --git a/lib/bundle.h b/lib/bundle.h index 21f353f67f09..85a2e861d367 100644 --- a/lib/bundle.h +++ b/lib/bundle.h @@ -16,6 +16,8 @@ #ifndef BUNDLE_H #define BUNDLE_H 1 +#include +#include #include #include #include diff --git a/lib/byte-order.h b/lib/byte-order.h index b2a9082bbada..66d29a2b37da 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 #include +#include +#include #include #include "openvswitch/types.h" diff --git a/lib/classifier.c b/lib/classifier.c index ca0650afb423..16c451da1b30 100644 --- a/lib/classifier.c +++ b/lib/classifier.c @@ -18,6 +18,7 @@ #include "classifier.h" #include "classifier-private.h" #include +#include #include #include "byte-order.h" #include "openvswitch/dynamic-string.h" diff --git a/lib/csum.c b/lib/csum.c index 6419043aa519..eaa05ad98c03 100644 --- a/lib/csum.c +++ b/lib/csum.c @@ -17,6 +17,7 @@ #include #include "csum.h" #include "unaligned.h" +#include #include #ifndef __CHECKER__ diff --git a/lib/dpctl.c b/lib/dpctl.c index 8055cdb56202..437316012fd4 100644 --- a/lib/dpctl.c +++ b/lib/dpctl.c @@ -15,12 +15,13 @@ */ #include +#include +#include #include #include #include #include #include -#include #include #include #include diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 599308d257a8..3c6c46204298 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/learning-switch.c b/lib/learning-switch.c index 6b02e93892a9..5b014e5f3757 100644 --- a/lib/learning-switch.c +++ b/lib/learning-switch.c @@ -19,6 +19,7 @@ #include #include +#include #include #include #include diff --git a/lib/lldp/lldpd-structs.h b/lib/lldp/lldpd-structs.h index 15e5ce8fa75d..6a3ffb8d33f0 100644 --- a/lib/lldp/lldpd-structs.h +++ b/lib/lldp/lldpd-structs.h @@ -20,11 +20,9 @@ #define _LLDPD_STRUCTS_H #include -#ifndef _WIN32 +#include #include -#endif #include -#include #include "aa-structs.h" #include "lldp-const.h" #include "packets.h" diff --git a/lib/lldp/lldpd.c b/lib/lldp/lldpd.c index e9d1cf18e036..ff5e62846275 100644 --- a/lib/lldp/lldpd.c +++ b/lib/lldp/lldpd.c @@ -18,6 +18,8 @@ #include #include "lldpd.h" +#include +#include #include #include #include @@ -28,7 +30,6 @@ #include #include #include -#include #include #include #ifndef _WIN32 diff --git a/lib/lldp/lldpd.h b/lib/lldp/lldpd.h index f77c6d52312e..5267c112af5e 100644 --- a/lib/lldp/lldpd.h +++ b/lib/lldp/lldpd.h @@ -19,13 +19,11 @@ #ifndef _LLDPD_H #define _LLDPD_H -#ifndef _WIN32 +#include #include -#endif #include #include #include -#include #include "dp-packet.h" #include "openvswitch/list.h" #include "lldpd-structs.h" diff --git a/lib/multipath.c b/lib/multipath.c index 19e3d33e790d..fdbf94ea6947 100644 --- a/lib/multipath.c +++ b/lib/multipath.c @@ -17,10 +17,10 @@ #include #include "multipath.h" -#include -#include #include #include +#include +#include #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 fbbbb7205e67..d5f881225495 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -20,6 +20,8 @@ #include #include +#include +#include #include #include #include @@ -31,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -40,7 +41,6 @@ #include #include #include -#include #include #include #include diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c index 3264810f39c9..9ce856798414 100644 --- a/lib/netdev-native-tnl.c +++ b/lib/netdev-native-tnl.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index 518058a1f114..f72025e5b1a8 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/netdev.c b/lib/netdev.c index 704b38f7368e..cfe6a152d09d 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -28,7 +29,6 @@ #include #include #include -#include #endif #include "cmap.h" diff --git a/lib/netlink.h b/lib/netlink.h index 6dfac27c9d4b..638d166b331e 100644 --- a/lib/netlink.h +++ b/lib/netlink.h @@ -31,6 +31,7 @@ * Linux-specific definitions for Netlink sockets, see netlink-socket.h. */ +#include #include #include #include diff --git a/lib/odp-execute.c b/lib/odp-execute.c index 3109f39bc8c6..3ba5b89e9259 100644 --- a/lib/odp-execute.c +++ b/lib/odp-execute.c @@ -17,8 +17,9 @@ #include #include "odp-execute.h" -#include +#include #include +#include #include #include #include diff --git a/lib/odp-util.c b/lib/odp-util.c index 6304b3dd299a..3e54f935d9d7 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -15,12 +15,13 @@ */ #include +#include +#include #include #include "odp-util.h" #include #include #include -#include #include #include #include diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c index e5d03e155543..a59962fc3153 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c @@ -15,6 +15,8 @@ */ #include + +#include #include #include "bundle.h" diff --git a/lib/ofp-ed-props.c b/lib/ofp-ed-props.c index eb168fee3903..d7bb72f35dbd 100644 --- a/lib/ofp-ed-props.c +++ b/lib/ofp-ed-props.c @@ -15,6 +15,8 @@ */ #include +#include +#include #include #include "openvswitch/ofp-ed-props.h" #include "openvswitch/ofp-util.h" diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c index 0c68495bfd3e..bacbaa63886e 100644 --- a/lib/ofp-parse.c +++ b/lib/ofp-parse.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "byte-order.h" diff --git a/lib/ovs-lldp.c b/lib/ovs-lldp.c index 43dd06d6f249..a866b77a160f 100644 --- a/lib/ovs-lldp.c +++ b/lib/ovs-lldp.c @@ -28,12 +28,12 @@ #include #include "ovs-lldp.h" +#include +#include #include #include -#include #include #include -#include #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 ce2f80b387a7..cd2ab15fb003 100644 --- a/lib/ovs-router.c +++ b/lib/ovs-router.c @@ -18,12 +18,13 @@ #include "ovs-router.h" +#include +#include #include #include #include #include #include -#include #include #include #include diff --git a/lib/ovs-router.h b/lib/ovs-router.h index 29c7c5fe18d5..b55b1a50b146 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 #include #include "util.h" diff --git a/lib/packets.c b/lib/packets.c index 51044df4c786..b9905f8d9711 100644 --- a/lib/packets.c +++ b/lib/packets.c @@ -16,13 +16,13 @@ #include #include "packets.h" +#include +#include #include #include -#include #include #include #include -#include #include #include "byte-order.h" #include "csum.h" diff --git a/lib/route-table.c b/lib/route-table.c index 4e40c37b424f..97a0be5c573a 100644 --- a/lib/route-table.c +++ b/lib/route-table.c @@ -19,6 +19,8 @@ #include "route-table.h" #include +#include +#include #include #include #include diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c index 8fdaec953916..7d677d7a2401 100644 --- a/lib/rstp-state-machines.c +++ b/lib/rstp-state-machines.c @@ -31,11 +31,11 @@ #include #include "rstp.h" #include "rstp-state-machines.h" +#include +#include #include #include -#include #include -#include #include "byte-order.h" #include "connectivity.h" #include "openvswitch/ofpbuf.h" diff --git a/lib/rstp.c b/lib/rstp.c index 5d71a437412e..7a61b24d7b36 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 +#include #include #include -#include #include -#include #include "byte-order.h" #include "connectivity.h" #include "openvswitch/ofpbuf.h" diff --git a/lib/sflow_api.h b/lib/sflow_api.h index 2730a4cf4a27..7264fc1c588d 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 +#include +#include #include #include #include #include #include -#include -#include /* for htonl */ #ifdef SFLOW_DO_SOCKET #include #include -#include #include #endif diff --git a/lib/smap.h b/lib/smap.h index edf591cf156d..82e4ce13d7c8 100644 --- a/lib/smap.h +++ b/lib/smap.h @@ -15,6 +15,7 @@ #ifndef SMAP_H #define SMAP_H 1 +#include #include #include "hash.h" #include "openvswitch/hmap.h" diff --git a/lib/socket-util.c b/lib/socket-util.c index 055593d3572e..7fbcdf19feac 100644 --- a/lib/socket-util.c +++ b/lib/socket-util.c @@ -16,6 +16,8 @@ #include #include "socket-util.h" +#include +#include #include #include #include diff --git a/lib/stream.c b/lib/stream.c index 9cef18e843c7..083e2fb93f77 100644 --- a/lib/stream.c +++ b/lib/stream.c @@ -18,6 +18,7 @@ #include "stream-provider.h" #include #include +#include #include #include #include diff --git a/lib/tc.h b/lib/tc.h index 6c69b7905599..5d54b41c3d0f 100644 --- a/lib/tc.h +++ b/lib/tc.h @@ -18,6 +18,7 @@ #ifndef TC_H #define TC_H 1 +#include #include /* Must happen before linux/pkt_cls.h - Glibc #20215 */ #include #include diff --git a/lib/util.h b/lib/util.h index 3c43c2c355e2..70d479533984 100644 --- a/lib/util.h +++ b/lib/util.h @@ -17,6 +17,8 @@ #ifndef UTIL_H #define UTIL_H 1 +#include +#include #include #include #include diff --git a/lib/vconn.c b/lib/vconn.c index 13623d87a7d9..bb56be2d2901 100644 --- a/lib/vconn.c +++ b/lib/vconn.c @@ -18,6 +18,7 @@ #include "vconn-provider.h" #include #include +#include #include #include #include diff --git a/ofproto/in-band.c b/ofproto/in-band.c index 343dcfa1714e..849b1cedaff0 100644 --- a/ofproto/in-band.c +++ b/ofproto/in-band.c @@ -15,6 +15,8 @@ */ #include +#include +#include #include #include #include diff --git a/ofproto/in-band.h b/ofproto/in-band.h index 6e0585ad3c4e..3debd01284dd 100644 --- a/ofproto/in-band.h +++ b/ofproto/in-band.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include "flow.h" diff --git a/ofproto/netflow.c b/ofproto/netflow.c index 783b9c94552b..b6baeb8268ab 100644 --- a/ofproto/netflow.c +++ b/ofproto/netflow.c @@ -16,6 +16,8 @@ #include #include "netflow.h" +#include +#include #include #include #include diff --git a/ofproto/ofproto-dpif-xlate-cache.c b/ofproto/ofproto-dpif-xlate-cache.c index d319d287eadb..cdceb26f80c0 100644 --- a/ofproto/ofproto-dpif-xlate-cache.c +++ b/ofproto/ofproto-dpif-xlate-cache.c @@ -16,10 +16,11 @@ #include "ofproto/ofproto-dpif-xlate-cache.h" +#include +#include #include #include #include -#include #include #include "bfd.h" diff --git a/ofproto/ofproto-dpif-xlate-cache.h b/ofproto/ofproto-dpif-xlate-cache.h index e62719740cb2..19c1ef7b95ad 100644 --- a/ofproto/ofproto-dpif-xlate-cache.h +++ b/ofproto/ofproto-dpif-xlate-cache.h @@ -17,6 +17,7 @@ #include #include +#include #include #include "openvswitch/types.h" diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index 468cd160c60e..18684040e729 100644 --- a/ofproto/ofproto-dpif-xlate.c +++ b/ofproto/ofproto-dpif-xlate.c @@ -17,10 +17,11 @@ #include "ofproto/ofproto-dpif-xlate.h" #include +#include +#include #include #include #include -#include #include "bfd.h" #include "bitmap.h" diff --git a/ovn/lib/ovn-l7.h b/ovn/lib/ovn-l7.h index 41cdacdfc30f..b8d6683bcdf4 100644 --- a/ovn/lib/ovn-l7.h +++ b/ovn/lib/ovn-l7.h @@ -17,6 +17,7 @@ #ifndef OVN_DHCP_H #define OVN_DHCP_H 1 +#include #include #include #include "openvswitch/hmap.h" diff --git a/tests/test-csum.c b/tests/test-csum.c index 97638b91605d..b94bd6481cdf 100644 --- a/tests/test-csum.c +++ b/tests/test-csum.c @@ -19,6 +19,7 @@ #include "csum.h" #include #include +#include #include #include #include diff --git a/tests/test-sflow.c b/tests/test-sflow.c index b70336b457bd..82e950273c4b 100644 --- a/tests/test-sflow.c +++ b/tests/test-sflow.c @@ -18,6 +18,8 @@ #include #undef NDEBUG #include "netflow.h" +#include +#include #include #include #include diff --git a/utilities/ovs-dpctl.c b/utilities/ovs-dpctl.c index 7b005ace3f4e..6b1f542c720f 100644 --- a/utilities/ovs-dpctl.c +++ b/utilities/ovs-dpctl.c @@ -15,13 +15,14 @@ */ #include +#include +#include #include #include #include #include #include #include -#include #include #include #include