[ovs-dev] [PATCH] dpif-linux: Fix byte-swapping direction in nl_msg_put_u16() call.

Ben Pfaff blp at nicira.com
Fri Feb 15 19:24:46 UTC 2013


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 at nicira.com>
---
 lib/dpif-linux.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c
index 3cf1225..aa1739d 100644
--- a/lib/dpif-linux.c
+++ b/lib/dpif-linux.c
@@ -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;
     }
-- 
1.7.2.5




More information about the dev mailing list