From: Justin Pettit Date: Thu, 29 Oct 2009 00:15:57 +0000 (-0700) Subject: openflow: Fix endian issues in flow expiration messages X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d3d15a0e6e9104f6c29e3ab21f4ea7189dccbab;p=openvswitch openflow: Fix endian issues in flow expiration messages A few of the fields in the OpenFlow flow expiration message were being sent in host-byte order. This properly converts them to network. Thanks to David Erickson for catching this! --- diff --git a/secchan/ofproto.c b/secchan/ofproto.c index 62a37bf4..7fb0c646 100644 --- a/secchan/ofproto.c +++ b/secchan/ofproto.c @@ -3206,9 +3206,9 @@ compose_flow_exp(const struct rule *rule, long long int now, uint8_t reason) flow_to_match(&rule->cr.flow, rule->cr.wc.wildcards, &ofe->match); ofe->priority = htons(rule->cr.priority); ofe->reason = reason; - ofe->duration = (now - rule->created) / 1000; - ofe->packet_count = rule->packet_count; - ofe->byte_count = rule->byte_count; + ofe->duration = htonl((now - rule->created) / 1000); + ofe->packet_count = htonll(rule->packet_count); + ofe->byte_count = htonll(rule->byte_count); return buf; }