X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdpif.h;h=dfd179bd0f0da42ae261c41150d7b017bef5066f;hb=eb9b830766044475277a590dbf8d213b77b62188;hp=927776cc5ef887fd6d294bb4f114ea707eae52a3;hpb=c3827f619a38d3d202020838e1f92860046a3dbe;p=openvswitch diff --git a/lib/dpif.h b/lib/dpif.h index 927776cc..dfd179bd 100644 --- a/lib/dpif.h +++ b/lib/dpif.h @@ -31,6 +31,7 @@ extern "C" { struct dpif; struct netdev; +struct nlattr; struct ofpbuf; struct svec; struct dpif_class; @@ -83,16 +84,16 @@ int dpif_flow_list(const struct dpif *, struct odp_flow[], size_t n, int dpif_flow_list_all(const struct dpif *, struct odp_flow **flowsp, size_t *np); -int dpif_execute(struct dpif *, const union odp_action[], size_t n_actions, - const struct ofpbuf *); +int dpif_execute(struct dpif *, const struct nlattr *actions, + size_t actions_len, const struct ofpbuf *); /* Minimum number of bytes of headroom for a packet returned by dpif_recv() * member function. This headroom allows "struct odp_msg" to be replaced by * "struct ofp_packet_in" without copying the buffer. */ -#define DPIF_RECV_MSG_PADDING (sizeof(struct ofp_packet_in) \ - - sizeof(struct odp_msg)) +#define DPIF_RECV_MSG_PADDING \ + ROUND_UP(sizeof(struct ofp_packet_in) - sizeof(struct odp_msg), 8) BUILD_ASSERT_DECL(sizeof(struct ofp_packet_in) > sizeof(struct odp_msg)); -BUILD_ASSERT_DECL(DPIF_RECV_MSG_PADDING % 4 == 0); +BUILD_ASSERT_DECL(DPIF_RECV_MSG_PADDING % 8 == 0); int dpif_recv_get_mask(const struct dpif *, int *listen_mask); int dpif_recv_set_mask(struct dpif *, int listen_mask);