X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fopenvswitch%2Fdatapath-protocol.h;h=6bab4bc431f153c01e4a1f81fd45ed991a8341d0;hb=46c6a11da0409a4f52fd6ea5f72154c73af0ba47;hp=731a84935b68e4ca680798276b7101f0e934b58c;hpb=cdee00fd635d1e0f1eeb5d9c009daeb59abd4777;p=openvswitch diff --git a/include/openvswitch/datapath-protocol.h b/include/openvswitch/datapath-protocol.h index 731a8493..6bab4bc4 100644 --- a/include/openvswitch/datapath-protocol.h +++ b/include/openvswitch/datapath-protocol.h @@ -63,9 +63,12 @@ #ifndef __aligned_u64 #define __aligned_u64 __u64 __attribute__((aligned(8))) +#define __aligned_be64 __be64 __attribute__((aligned(8))) +#define __aligned_le64 __le64 __attribute__((aligned(8))) #endif #include +#include #define ODP_MAX 256 /* Maximum number of datapaths. */ @@ -84,7 +87,7 @@ #define ODP_VPORT_QUERY _IOWR('O', 9, struct odp_port) #define ODP_VPORT_LIST _IOWR('O', 10, struct odp_portvec) -#define ODP_FLOW_GET _IOWR('O', 13, struct odp_flow) +#define ODP_FLOW_GET _IOWR('O', 13, struct odp_flowvec) #define ODP_FLOW_PUT _IOWR('O', 14, struct odp_flow) #define ODP_FLOW_LIST _IOWR('O', 15, struct odp_flowvec) #define ODP_FLOW_FLUSH _IO('O', 16) @@ -128,7 +131,6 @@ struct odp_stats { /* Logical ports. */ #define ODPP_LOCAL ((uint16_t)0) #define ODPP_NONE ((uint16_t)-1) -#define ODPP_NORMAL ((uint16_t)-2) /* Listening channels. */ #define _ODPL_MISS_NR 0 /* Packet missed in flow table. */ @@ -141,10 +143,9 @@ struct odp_stats { /** * struct odp_msg - format of messages read from datapath fd. - * @type: One of the %_ODPL_* constants. * @length: Total length of message, including this header. + * @type: One of the %_ODPL_* constants. * @port: Port that received the packet embedded in this message. - * @reserved: Not currently used. Should be set to 0. * @arg: Argument value whose meaning depends on @type. * * For @type == %_ODPL_MISS_NR, the header is followed by packet data. The @@ -161,11 +162,10 @@ struct odp_stats { * data. */ struct odp_msg { - uint32_t type; uint32_t length; + uint16_t type; uint16_t port; - uint16_t reserved; - uint32_t arg; + __aligned_u64 arg; }; /** @@ -219,7 +219,7 @@ struct odp_flow_stats { #define ODP_TCI_PRESENT 0x1000 /* CFI bit */ struct odp_flow_key { - ovs_be32 tun_id; /* Encapsulating tunnel ID. */ + ovs_be64 tun_id; /* Encapsulating tunnel ID. */ ovs_be32 nw_src; /* IP source address. */ ovs_be32 nw_dst; /* IP destination address. */ uint16_t in_port; /* Input switch port. */