netdev-vport: Fix segfault on bad vport configuration.
[openvswitch] / include / openvswitch / datapath-protocol.h
index b0e9dfbb3cf44988291f96435a2251c6918f1714..4885906449eee728494516308a6164db1aeee0ee 100644 (file)
  * those types when compiling the kernel. */
 #ifdef __KERNEL__
 #include <linux/types.h>
+#include <linux/socket.h>
 #define ovs_be16 __be16
 #define ovs_be32 __be32
 #define ovs_be64 __be64
 #else
-#include <stdint.h>
-#define ovs_be16 uint16_t
-#define ovs_be32 uint32_t
-#define ovs_be64 uint64_t
+#include "openvswitch/types.h"
+#include <sys/socket.h>
 #endif
 
+#include <linux/if_link.h>
+
 #define ODP_MAX 256             /* Maximum number of datapaths. */
 
 #define ODP_DP_CREATE           _IO('O', 0)
@@ -368,24 +369,9 @@ struct odp_vport_mod {
     void *config;
 };
 
-struct odp_vport_stats {
-    uint64_t rx_packets;
-    uint64_t tx_packets;
-    uint64_t rx_bytes;
-    uint64_t tx_bytes;
-    uint64_t rx_dropped;
-    uint64_t tx_dropped;
-    uint64_t rx_errors;
-    uint64_t tx_errors;
-    uint64_t rx_frame_err;
-    uint64_t rx_over_err;
-    uint64_t rx_crc_err;
-    uint64_t collisions;
-};
-
 struct odp_vport_stats_req {
     char devname[16];           /* IFNAMSIZ */
-    struct odp_vport_stats stats;
+    struct rtnl_link_stats64 stats;
 };
 
 struct odp_vport_ether {