WIP Added topology and topo dependency. Implemented the add flow case.
Change-Id: Iabc86f5776de3e72eac22315d0e44e7478957424
diff --git a/TestON/tests/FUNCflow/FUNCflow.py b/TestON/tests/FUNCflow/FUNCflow.py
index 74c3464..30608a6 100644
--- a/TestON/tests/FUNCflow/FUNCflow.py
+++ b/TestON/tests/FUNCflow/FUNCflow.py
@@ -271,7 +271,17 @@
onpass="ONOS" + controllerStr +
" hosts exist in Mininet",
onfail="ONOS" + controllerStr +
- " hosts don't match Mininet" )
+ " hosts don't match Mininet")
+
+ main.step( "Deactiviate reactive fwd" )
+ stepResult = main.CLIs[0].deactivateApp( 'org.onosproject.fwd' )
+ utilities.assert_equals( expect=main.TRUE,
+ actual=stepResult,
+ onpass="Successfully deactived fwd app",
+ onfail="Failed to deactivate fwd app" )
+
+ main.log.info("Wait for the flows to dissappear")
+ time.sleep(5)
def CASE9( self, main ):
'''
@@ -289,7 +299,7 @@
def CASE10( self, main ):
'''
- Start Mininet with
+ Start Mininet
'''
main.case( "Setup mininet and assign switches to controllers" )
main.step( "Setup Mininet Topology" )
@@ -335,6 +345,52 @@
Add flows
'''
+ main.step("Add some flows")
+
+ deviceId = main.params['TOPO']['deviceId']
+ host1_mac = main.params['TOPO']['hostMac1']
+ host2_mac = main.params['TOPO']['hostMac2']
+
+
+ flowResult1 = main.ONOSrest.addFlow( deviceId=deviceId,
+ egressPort=-3,
+ ethType="IPV4" )
+
+ flowResult2 = main.ONOSrest.addFlow( deviceId=deviceId,
+ egressPort=2,
+ ingressPort=1,
+ ethSrc=host1_mac,
+ ethDst=host2_mac)
+
+ flowResult3 = main.ONOSrest.addFlow( deviceId=deviceId,
+ egressPort=1,
+ ingressPort=2,
+ ethSrc=host2_mac,
+ ethDst=host1_mac)
+
+ flowResult = flowResult1 and flowResult2 and flowResult3
+
+ utilities.assert_equals( expect=main.TRUE,
+ actual=flowResult,
+ onpass="Successfully added flows",
+ onfail="Failed add flows" )
+
+ main.step("Verify flows with pingall")
+ main.log.info("wait for flows to install")
+ time.sleep(5)
+
+ pingResult = main.Mininet1.pingall()
+ if not pingResult:
+ main.log.warn("First pingall failed. Retrying")
+ pingResult = main.Mininet1.pingall()
+
+ utilities.assert_equals( expect=main.TRUE,
+ actual=pingResult,
+ onpass="Pingall successfull",
+ onfail="Pingall failed" )
+
+ time.sleep(100)
+
def CASE2000( self, main ):
'''
Delete flows
@@ -359,4 +415,3 @@
'''
Compare switch flow table with ONOS
'''
-