Hello,

Just adding info that the patch is about fixing "OVS seems to be missing an implementation of OFPPS_LIVE in OpenFlow port state ", as acknowledged by Ben in http://openvswitch.org/pipermail/dev/2014-August/044926.html <http://openvswitch.org/pipermail/dev/2014-August/044926.html>

Brs Markus

On 02/11/2016 03:29 PM, Zoltán Balogh wrote:
Hi,

The idea is to use OFPPS_LIVE bit to propagate link aliveness state towards the 
controller also when sending port status.
The ofport->may_enable flag could be used for this purpose. I updated some unit 
tests according to the changes of ofproto-dpif.

Signed-off-by: Zoltán Balogh <zoltan.bal...@ericsson.com>
Co-authored-by: László Sürü <laszlo.s...@ericsson.com>
Signed-off-by: László Sürü <laszlo.s...@ericsson.com>
Co-authored-by: Jan Scheurich <jan.scheur...@ericsson.com>
Signed-off-by: Jan Scheurich <jan.scheur...@ericsson.com>

---

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 44e7bbc..9c1b7c9 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -3398,6 +3398,13 @@ port_run(struct ofport_dpif *ofport)
      }
ofport->may_enable = enable;
+
+    /* Propagate the may_enable flag as link liveness. */
+    if (ofport->may_enable) {
+        ofport->up.pp.state |= OFPUTIL_PS_LIVE;
+    } else {
+        ofport->up.pp.state &= ~OFPUTIL_PS_LIVE;
+    }
  }
static int
diff --git a/tests/ofproto.at b/tests/ofproto.at
index 52e1ab4..ec169ae 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -770,15 +770,15 @@ AT_CLEANUP
  AT_SETUP([ofproto - mod-port (OpenFlow 1.2)])
  OVS_VSWITCHD_START
  for command_config_state in \
-    'up 0 0' \
+    'up 0 LIVE' \
      'down PORT_DOWN LINK_DOWN' \
      'no-receive PORT_DOWN,NO_RECV LINK_DOWN' \
      'no-forward PORT_DOWN,NO_RECV,NO_FWD LINK_DOWN' \
      'no-packet-in PORT_DOWN,NO_RECV,NO_FWD,NO_PACKET_IN LINK_DOWN' \
      'forward PORT_DOWN,NO_RECV,NO_PACKET_IN LINK_DOWN' \
      'packet-in PORT_DOWN,NO_RECV LINK_DOWN' \
-    'up NO_RECV 0' \
-    'receive 0 0'
+    'up NO_RECV LIVE' \
+    'receive 0 LIVE'
  do
      set $command_config_state
      command=$[1] config=`echo $[2] | sed 's/,/ /g'` state=$[3]
@@ -801,15 +801,15 @@ AT_CLEANUP
  AT_SETUP([ofproto - mod-port (OpenFlow 1.4)])
  OVS_VSWITCHD_START
  for command_config_state in \
-    'up 0 0' \
+    'up 0 LIVE' \
      'down PORT_DOWN LINK_DOWN' \
      'no-receive PORT_DOWN,NO_RECV LINK_DOWN' \
      'no-forward PORT_DOWN,NO_RECV,NO_FWD LINK_DOWN' \
      'no-packet-in PORT_DOWN,NO_RECV,NO_FWD,NO_PACKET_IN LINK_DOWN' \
      'forward PORT_DOWN,NO_RECV,NO_PACKET_IN LINK_DOWN' \
      'packet-in PORT_DOWN,NO_RECV LINK_DOWN' \
-    'up NO_RECV 0' \
-    'receive 0 0'
+    'up NO_RECV LIVE' \
+    'receive 0 LIVE'
  do
      set $command_config_state
      command=$[1] config=`echo $[2] | sed 's/,/ /g'` state=$[3]
@@ -2831,7 +2831,7 @@ 
udp,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172
       speed: 0 Mbps now, 0 Mbps max
  OFPT_PORT_STATUS (OF1.4): MOD: ${INDEX}(test): addr:aa:55:aa:55:00:0x
       config:     0
-     state:      0
+     state:      LIVE
       speed: 0 Mbps now, 0 Mbps max"
      fi
@@ -2840,7 +2840,7 @@ OFPT_PORT_STATUS (OF1.4): MOD: ${INDEX}(test): addr:aa:55:aa:55:00:0x
      if test X"$1" = X"OFPPR_DELETE"; then shift;
          echo >>expout "OFPT_PORT_STATUS (OF1.4): DEL: ${INDEX}(test): 
addr:aa:55:aa:55:00:0x
       config:     0
-     state:      0
+     state:      LIVE
       speed: 0 Mbps now, 0 Mbps max"
      fi
@@ -2935,7 +2935,7 @@ check_async () {
       speed: 0 Mbps now, 0 Mbps max
  OFPT_PORT_STATUS (OF1.5): MOD: 2(test): addr:aa:55:aa:55:00:0x
       config:     0
-     state:      0
+     state:      LIVE
       speed: 0 Mbps now, 0 Mbps max"
      fi
@@ -2944,7 +2944,7 @@ OFPT_PORT_STATUS (OF1.5): MOD: 2(test): addr:aa:55:aa:55:00:0x
      if test X"$1" = X"OFPPR_DELETE"; then shift;
          echo >>expout "OFPT_PORT_STATUS (OF1.5): DEL: ${INDEX}(test): 
addr:aa:55:aa:55:00:0x
       config:     0
-     state:      0
+     state:      LIVE
       speed: 0 Mbps now, 0 Mbps max"
      fi

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to