[ovs-dev] vSwitch OpenFlow re-write Ethernet address action support

Ben Pfaff blp at nicira.com
Thu Oct 29 16:09:17 UTC 2009

Christian Esteve <chesteve at dca.fee.unicamp.br> writes:

> However, the same component implementation and install action commands
> work fine with OpenFlow 0.89rev2. We wonder if the endian bug could be
> in the vSwitch implementation.

There was a bug of that form at one time, but it should have been
fixed in 0.90.5.  It's really odd that you would be seeing it in

It was fixed in this commit:

>From dc6fe1d7ee2f1dbafea795c110ccdbb54a5946e5 Mon Sep 17 00:00:00 2001
From: Jean Tourrihles <jt at hpl.hp.com>
Date: Fri, 11 Sep 2009 15:19:15 -0700
Subject: [PATCH] vconn: Fix byte-swapping of message type when validating OpenFlow actions.

It seems really strange that this one slipped through.  Perhaps this
means that we have never tested with any action other than OFPAT_OUTPUT
(which has value 0 and thus is not affected by byte-swapping).
 lib/vconn.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/vconn.c b/lib/vconn.c
index b5e1102..12680c5 100644
--- a/lib/vconn.c
+++ b/lib/vconn.c
@@ -1247,7 +1247,7 @@ check_action(const union ofp_action *a, unsigned int len, int max_ports)
     int error;
-    switch (a->type) {
+    switch (ntohs(a->type)) {
     case OFPAT_OUTPUT:
         error = check_action_port(ntohs(a->output.port), max_ports);
         if (error) {

More information about the dev mailing list