From f9ef1c31cfcd2d9ded66588a11c59e29e5aaa2ca Mon Sep 17 00:00:00 2001 From: Jesse Gross Date: Sat, 29 Jan 2011 18:09:37 -0800 Subject: [PATCH] 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. --- lib/dpif-linux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index cef914e9..c35ad62e 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; -- 2.30.2