add a new performance test case to sdnip
Change-Id: I0ecf986fb7ef9dff1bf04aa8642034836d1fbd3e
diff --git a/TestON/tests/SDNIPperf/SDNIPperf.params b/TestON/tests/SDNIPperf/SDNIPperf.params
new file mode 100644
index 0000000..b3c8f7a
--- /dev/null
+++ b/TestON/tests/SDNIPperf/SDNIPperf.params
@@ -0,0 +1,23 @@
+<PARAMS>
+ <testcases>100, 9</testcases>
+
+ #Environment variables
+ <ENV>
+ <cellName>sdnip_single_instance_bm</cellName>
+ </ENV>
+
+ <CTRL>
+ <numCtrl>1</numCtrl>
+ <ip1>10.254.1.201</ip1>
+ <port1>6633</port1>
+ </CTRL>
+
+ <GIT>
+ <autoPull>off</autoPull>
+ <branch1>master</branch1>
+ <branch2>onos-1.3</branch2>
+ </GIT>
+ <timers>
+ <SystemBoot>1200</SystemBoot>
+ </timers>
+</PARAMS>
diff --git a/TestON/tests/SDNIPperf/SDNIPperf.py b/TestON/tests/SDNIPperf/SDNIPperf.py
new file mode 100644
index 0000000..238c8f9
--- /dev/null
+++ b/TestON/tests/SDNIPperf/SDNIPperf.py
@@ -0,0 +1,149 @@
+class SDNIPperf:
+
+ def __init__( self ):
+ self.default = ''
+ global branchName
+
+ # This case is to setup ONOS
+ def CASE100( self, main ):
+ """
+ CASE100 is to compile ONOS and push it to the test machines
+ Startup sequence:
+ cell <name>
+ onos-verify-cell
+ git pull
+ mvn clean install
+ onos-package
+ onos-install -f
+ onos-wait-for-start
+ """
+ main.case( "Setting up test environment" )
+
+ cellName = main.params[ 'ENV' ][ 'cellName' ]
+ ONOS1Ip = main.params[ 'CTRL' ][ 'ip1' ]
+
+ main.step( "Applying cell variable to environment" )
+ cellResult = main.ONOSbench.setCell( cellName )
+ verifyResult = main.ONOSbench.verifyCell()
+
+ branchName = main.ONOSbench.getBranchName()
+ main.log.info( "ONOS is on branch: " + branchName )
+
+ main.log.report( "Uninstalling ONOS" )
+ main.ONOSbench.onosUninstall( ONOS1Ip )
+
+ cleanInstallResult = main.TRUE
+ gitPullResult = main.TRUE
+
+ main.step( "Git pull" )
+ gitPullResult = main.FALSE
+ #Need to push some new code to ONOS before using the git pull
+ #gitPullResult = main.ONOSbench.gitPull()
+
+ main.step( "Using mvn clean & install" )
+ if gitPullResult == main.TRUE:
+ cleanInstallResult = main.ONOSbench.cleanInstall()
+ else:
+ main.log.warn( "Did not pull new code so skipping mvn " +
+ "clean install" )
+ cleanInstallResult = main.ONOSbench.cleanInstall( mciTimeout= 300 )
+ main.ONOSbench.getVersion( report=True )
+
+ main.step( "Creating ONOS package" )
+ packageResult = main.ONOSbench.onosPackage( opTimeout=500 )
+
+ main.step( "Installing ONOS package" )
+ onos1InstallResult = main.ONOSbench.onosInstall( options="-f",
+ node=ONOS1Ip )
+
+ main.step( "Checking if ONOS is up yet" )
+ for i in range( 2 ):
+ onos1Isup = main.ONOSbench.isup( ONOS1Ip, timeout=420 )
+ if onos1Isup:
+ break
+ if not onos1Isup:
+ main.log.report( "ONOS1 didn't start!" )
+
+ cliResult = main.ONOScli.startOnosCli( ONOS1Ip,
+ commandlineTimeout=100, onosStartTimeout=600)
+
+ case1Result = ( cleanInstallResult and packageResult and
+ cellResult and verifyResult and
+ onos1InstallResult and
+ onos1Isup and cliResult )
+
+ utilities.assert_equals( expect=main.TRUE, actual=case1Result,
+ onpass="ONOS startup successful",
+ onfail="ONOS startup NOT successful" )
+
+ if case1Result == main.FALSE:
+ main.cleanup()
+ main.exit()
+
+ def CASE9( self, main ):
+ """
+ Test the SDN-IP Performance
+ Test whether SDN-IP can boot with 600,000 routes from an external peer.
+ Since our goal for SDN-IP is to handle 600,000 routes, in this test case
+ we statically configure an external peer Quagga with 655360 routes.
+ Thus, we pre-know the routes and intents it should be, and then boot the
+ whole system and check whether the numbers of routes and intents from
+ ONOS CLI are correct.
+ """
+ import time
+ import json
+ from operator import eq
+ from time import localtime, strftime
+
+ # We configured one external BGP peer with 655360 routes
+ routeNumberExpected = 655360
+ m2SIntentsNumberExpected = 655360
+
+ main.case("This case is to testing the performance of SDN-IP with \
+ single ONOS instance" )
+ time.sleep( 10 )
+
+ main.step( "Get devices in the network" )
+ listResult = main.ONOScli.devices( jsonFormat=False )
+ main.log.info( listResult )
+
+ main.step( "Get links in the network" )
+ listResult = main.ONOScli.links ( jsonFormat=False )
+ main.log.info( listResult )
+
+ main.log.info( "Activate sdn-ip application" )
+ main.ONOScli.activateApp( "org.onosproject.sdnip" )
+
+ main.step("Sleep 1200 seconds")
+ # wait until SDN-IP receives all routes and ONOS installs all intents
+ time.sleep( main.params[ 'timers' ][ 'SystemBoot' ] )
+
+ main.step( "Checking routes installed" )
+
+ main.log.info( "Total route number expected is:" )
+ main.log.info( routeNumberExpected )
+
+ routeNumberActual = main.ONOScli.ipv4RouteNumber()
+ main.log.info("Total route number actual is: ")
+ main.log.info(routeNumberActual)
+
+ utilities.assertEquals(
+ expect=routeNumberExpected, actual=routeNumberActual,
+ onpass="***Routes in SDN-IP are correct!***",
+ onfail="***Routes in SDN-IP are wrong!***" )
+
+
+ main.step( "Checking MultiPointToSinglePointIntent intents installed" )
+
+ main.log.info( "MultiPointToSinglePoint intent number expected is:" )
+ main.log.info( m2SIntentsNumberExpected )
+
+ m2SIntentsNumberActual = main.ONOScli.m2SIntentInstalledNumber()
+ main.log.info( "MultiPointToSinglePoint intent number actual is:" )
+ main.log.info(m2SIntentsNumberActual)
+
+ utilities.assertEquals(
+ expect=True,
+ actual=eq( m2SIntentsNumberExpected, m2SIntentsNumberActual ),
+ onpass="***MultiPointToSinglePoint intent number is correct!***",
+ onfail="***MultiPointToSinglePoint intent number is wrong!***" )
diff --git a/TestON/tests/SDNIPperf/SDNIPperf.topo b/TestON/tests/SDNIPperf/SDNIPperf.topo
new file mode 100644
index 0000000..50629d1
--- /dev/null
+++ b/TestON/tests/SDNIPperf/SDNIPperf.topo
@@ -0,0 +1,32 @@
+<TOPOLOGY>
+ <COMPONENT>
+
+ <ONOSbench>
+ <host>10.128.4.60</host>
+ <user>admin</user>
+ <password></password>
+ <type>OnosDriver</type>
+ <connect_order>1</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOSbench>
+
+ <ONOScli>
+ <host>10.128.4.60</host>
+ <user>admin</user>
+ <password></password>
+ <type>OnosCliDriver</type>
+ <connect_order>2</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOScli>
+
+ <ONOS1>
+ <host>10.254.1.201</host>
+ <user>sdn</user>
+ <password></password>
+ <type>OnosDriver</type>
+ <connect_order>3</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS1>
+
+ </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/tests/SDNIPperf/__init__.py b/TestON/tests/SDNIPperf/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/SDNIPperf/__init__.py
diff --git a/TestON/tests/SDNIPperf/addresses.json b/TestON/tests/SDNIPperf/addresses.json
new file mode 100644
index 0000000..66d08da
--- /dev/null
+++ b/TestON/tests/SDNIPperf/addresses.json
@@ -0,0 +1,35 @@
+{
+ "addresses" : [
+ {
+ "dpid" : "00:00:00:00:00:00:00:a3",
+ "port" : "1",
+ "ips" : ["192.168.10.0/24"],
+ "mac" : "00:00:00:00:00:01"
+ },
+ {
+ "dpid" : "00:00:00:00:00:00:00:a5",
+ "port" : "1",
+ "ips" : ["192.168.20.0/24"],
+ "mac" : "00:00:00:00:00:01"
+ },
+ {
+ "dpid" : "00:00:00:00:00:00:00:a2",
+ "port" : "1",
+ "ips" : ["192.168.30.0/24"],
+ "mac" : "00:00:00:00:00:01"
+ },
+ {
+ "dpid" : "00:00:00:00:00:00:00:a6",
+ "port" : "1",
+ "ips" : ["192.168.40.0/24"],
+ "mac" : "00:00:00:00:00:01"
+ },
+ {
+ "dpid" : "00:00:00:00:00:00:00:a4",
+ "port" : "4",
+ "ips" : ["192.168.60.0/24"],
+ "mac" : "00:00:00:00:00:01"
+ }
+
+ ]
+}
\ No newline at end of file
diff --git a/TestON/tests/SDNIPperf/sdnip.json b/TestON/tests/SDNIPperf/sdnip.json
new file mode 100644
index 0000000..89c0538
--- /dev/null
+++ b/TestON/tests/SDNIPperf/sdnip.json
@@ -0,0 +1,566 @@
+{
+
+ "bgpPeers" : [
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a3",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.10.1"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a5",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.20.1"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a2",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.30.1"
+ },
+
+
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.1"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.2"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.3"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.4"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.5"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.6"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.7"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.8"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.9"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.10"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.11"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.12"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.13"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.14"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.15"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.16"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.17"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.18"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.19"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.20"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.21"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.22"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.23"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.24"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.25"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.26"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.27"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.28"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.29"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.30"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.31"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.32"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.33"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.34"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.35"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.36"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.37"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.38"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.39"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.40"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.41"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.42"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.43"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.44"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.45"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.46"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.47"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.48"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.49"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.50"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.51"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.52"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.53"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.54"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.55"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.56"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.57"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.58"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.59"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.60"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.61"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.62"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.63"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.64"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.65"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.66"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.67"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.68"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.69"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.70"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.71"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.72"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.73"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.74"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.75"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.76"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.77"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.78"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.79"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.80"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.81"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.82"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.83"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.84"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.85"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.86"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.87"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.88"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.89"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.90"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.91"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.92"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.93"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.94"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.95"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.96"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.97"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.98"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.99"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a6",
+ "attachmentPort" : "1",
+ "ipAddress" : "192.168.40.100"
+ },
+ {
+ "attachmentDpid" : "00:00:00:00:00:00:00:a4",
+ "attachmentPort" : "4",
+ "ipAddress" : "192.168.60.1"
+ }
+
+ ],
+ "bgpSpeakers" : [
+ {
+ "name" : "bgpSpeaker1",
+ "attachmentDpid" : "00:00:00:00:00:00:00:a1",
+ "attachmentPort" : "1",
+ "macAddress" : "00:00:00:00:00:01",
+ "interfaceAddresses" : [
+ {
+ "interfaceDpid" : "00:00:00:00:00:00:00:a3",
+ "interfacePort" : "1",
+ "ipAddress" : "192.168.10.101"
+ },
+ {
+ "interfaceDpid" : "00:00:00:00:00:00:00:a5",
+ "interfacePort" : "1",
+ "ipAddress" : "192.168.20.101"
+ },
+ {
+ "interfaceDpid" : "00:00:00:00:00:00:00:a2",
+ "interfacePort" : "1",
+ "ipAddress" : "192.168.30.101"
+ },
+ {
+ "interfaceDpid" : "00:00:00:00:00:00:00:a6",
+ "interfacePort" : "1",
+ "ipAddress" : "192.168.40.101"
+ },
+ {
+ "interfaceDpid" : "00:00:00:00:00:00:00:a4",
+ "interfacePort" : "4",
+ "ipAddress" : "192.168.60.101"
+ }
+
+ ]
+
+ }
+
+ ]
+}