X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fopenvswitch%2Fdatapath-protocol.h;h=b8f93de6f54d0299d127252051a67b6927dc8745;hb=57b7c6a143a7b86f753ec1928aae3a74b95befd4;hp=731a84935b68e4ca680798276b7101f0e934b58c;hpb=cdee00fd635d1e0f1eeb5d9c009daeb59abd4777;p=openvswitch diff --git a/include/openvswitch/datapath-protocol.h b/include/openvswitch/datapath-protocol.h index 731a8493..b8f93de6 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) @@ -141,10 +144,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 +163,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 +220,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. */