From: Jesse Gross Date: Sun, 30 Jan 2011 02:09:37 +0000 (-0800) Subject: dpif-linux: Add missing NLM_F_ECHO flag to flow requests. X-Git-Tag: v1.1.0~375 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=f9ef1c31cfcd2d9ded66588a11c59e29e5aaa2ca;p=sliver-openvswitch.git dpif-linux: Add missing NLM_F_ECHO flag to flow requests. Flow transactions expect a response after the operation has completed but the request did not have NLM_F_ECHO set. This caused userspace to receive only the Netlink ACK instead of a real response, making it appear that the operation had failed when it actually succeeded. --- diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index cef914e99..c35ad62e6 100644 --- a/lib/dpif-linux.c +++ b/lib/dpif-linux.c @@ -1449,7 +1449,8 @@ dpif_linux_flow_to_ofpbuf(const struct dpif_linux_flow *flow, struct odp_header *odp_header; nl_msg_put_genlmsghdr(buf, 0, odp_flow_family, - NLM_F_REQUEST | flow->nlmsg_flags, flow->cmd, 1); + NLM_F_REQUEST | NLM_F_ECHO | flow->nlmsg_flags, + flow->cmd, 1); odp_header = ofpbuf_put_uninit(buf, sizeof *odp_header); odp_header->dp_ifindex = flow->dp_ifindex;