From: Ethan Jackson <[email protected]>
This patch fixes a bug introduced in Commit 43edca57 "nx-match: New
helpers.", which caused the "move" action to improperly handle bit
ranges.
---
lib/nx-match.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/nx-match.c b/lib/nx-match.c
index e698cc6..c1c4767 100644
--- a/lib/nx-match.c
+++ b/lib/nx-match.c
@@ -1467,7 +1467,7 @@ nxm_execute_reg_move(const struct nx_action_reg_move
*action,
/* Get the interesting bits of the source field. */
const struct nxm_field *src = nxm_field_lookup(ntohl(action->src));
int src_ofs = ntohs(action->src_ofs);
- uint64_t src_data = nxm_read_field(src, flow) & (mask << src_ofs);
+ uint64_t src_data = (nxm_read_field(src, flow) >> src_ofs) & mask;
nxm_reg_load(action->dst,
nxm_encode_ofs_nbits(ntohs(action->dst_ofs), n_bits),
--
1.7.4.4
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev