dpif-linux: Fix byte-swapping direction in nl_msg_put_u16() call.
authorBen Pfaff <blp@nicira.com>
Fri, 15 Feb 2013 19:24:27 +0000 (11:24 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 15 Feb 2013 21:23:07 +0000 (13:23 -0800)
OVS_TUNNEL_ATTR_DST_PORT expects a u16, tnl_cfg->dst_port is a be16, so
we want ntohs() instead of htons().

In practice htons() and ntohs() perform the same operation, so this does
not fix a real bug.

Found by sparse.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/dpif-linux.c

index 3cf1225..aa1739d 100644 (file)
@@ -521,7 +521,7 @@ dpif_linux_port_add(struct dpif *dpif_, struct netdev *netdev,
     if (tnl_cfg && tnl_cfg->dst_port != 0) {
         ofpbuf_use_stack(&options, options_stub, sizeof options_stub);
         nl_msg_put_u16(&options, OVS_TUNNEL_ATTR_DST_PORT,
-                       htons(tnl_cfg->dst_port));
+                       ntohs(tnl_cfg->dst_port));
         request.options = options.data;
         request.options_len = options.size;
     }