From be58eabb281bafffc2eb60c2ee31446f312a2a83 Mon Sep 17 00:00:00 2001 From: Simon Horman Date: Tue, 1 Oct 2013 15:15:22 +0900 Subject: [PATCH 1/1] ofproto-dpif: Correct endian problem in recv_upcalls() Use nl_attr_get_u32() instead of nl_attr_get_be32() to parse nla so that the decoded value which is passed to mhash_add() is host byte order as mhash_add() expects. This resolves a minor regression introduced by 10e576406c7444ef ("ofproto-dpif: Move special upcall handling into ofproto-dpif-upcall."). I do not expect this change has any runtime implications. Detected using sparse. Cc: Ethan Jackson Cc: Ben Pfaff Signed-off-by: Simon Horman Signed-off-by: Ben Pfaff --- ofproto/ofproto-dpif-upcall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index 4c92db381..571d31214 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -515,7 +515,7 @@ recv_upcalls(struct udpif *udpif) || type == OVS_KEY_ATTR_TCP || type == OVS_KEY_ATTR_UDP) { if (nl_attr_get_size(nla) == 4) { - hash = mhash_add(hash, nl_attr_get_be32(nla)); + hash = mhash_add(hash, nl_attr_get_u32(nla)); n_bytes += 4; } else { VLOG_WARN_RL(&rl, -- 2.43.0