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"
+				}
+
+		    ]
+   
+	    }
+
+    ]
+}