diff --git a/src/test/setup/calix_fabric_test_netcfg.json b/src/test/setup/calix_fabric_test_netcfg.json
new file mode 100644
index 0000000..de4defd
--- /dev/null
+++ b/src/test/setup/calix_fabric_test_netcfg.json
@@ -0,0 +1,92 @@
+{
+    "devices": {
+        "of:0000480fcfae6e0a": {
+            "segmentrouting": {
+                "name": "device-480fcfae6e0a",
+                "ipv4NodeSid": 100,
+                "ipv4Loopback": "10.6.0.102",
+                "routerMac": "48:0f:cf:ae:6e:0a",
+                "isEdgeRouter": false,
+                "adjacencySids": []
+            }
+        },
+        "of:0000480fcfaedea8": {
+            "segmentrouting": {
+                "name": "device-480fcfaedea8",
+                "ipv4NodeSid": 101,
+                "ipv4Loopback": "10.6.0.104",
+                "routerMac": "48:0f:cf:ae:de:a8",
+                "isEdgeRouter": true,
+                "adjacencySids": []
+            }
+        },
+        "of:0000480fcfae8e12": {
+            "segmentrouting": {
+                "name": "device-480fcfae8e12",
+                "ipv4NodeSid": 102,
+                "ipv4Loopback": "10.6.0.101",
+                "routerMac": "48:0f:cf:ae:8e:12",
+                "isEdgeRouter": false,
+                "adjacencySids": []
+            }
+        },
+        "of:0000480fcfaeeeac": {
+            "segmentrouting": {
+                "name": "device-480fcfaeeeac",
+                "ipv4NodeSid": 103,
+                "ipv4Loopback": "10.6.0.103",
+                "routerMac": "48:0f:cf:ae:ee:ac",
+                "isEdgeRouter": true,
+                "adjacencySids": []
+            }
+        }
+    },
+    "ports": {
+        "of:0000480fcfaedea8/2": {
+            "interfaces": [
+                {
+                    "ips": [ "10.6.2.254/24" ],
+                    "vlan-untagged" : 2
+                }
+            ]
+        },
+        "of:0000480fcfaedea8/1": {
+            "interfaces": [
+                {
+                    "ips": [ "10.6.2.254/24" ],
+                    "vlan-untagged" : 2
+                }
+            ]
+        },
+        "of:0000480fcfaeeeac/1": {
+            "interfaces": [
+                {
+                    "ips": [ "10.6.1.254/24" ],
+                    "vlan-untagged" : 1
+                }
+            ]
+        }
+    },
+    "apps" : {
+        "org.onosproject.segmentrouting" : {
+            "segmentrouting" : {
+                "vRouterMacs" : [ "a4:23:05:06:01:01" ]
+            },
+            "xconnect": {
+              "of:0000480fcfaedea8": [{
+                "vlan": 333,
+                "ports": [1, 2],
+                "name": "vsg-1"
+                },
+                {
+                "vlan": 555,
+                "ports": [1, 2],
+                "name": "vsg-2"},
+                {
+                "vlan": 666,
+                "ports": [1, 2],
+                "name": "vsg-3"}]
+           }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/test/setup/cord-test.py b/src/test/setup/cord-test.py
index 4838e49..e7f3f3a 100755
--- a/src/test/setup/cord-test.py
+++ b/src/test/setup/cord-test.py
@@ -1397,7 +1397,7 @@
     if args.onos_cord:
         #try restoring the onos cord instance
         try:
-            onos_cord = OnosCord(args.onos_ip, args.onos_cord, args.service_profile, args.synchronizer, start = False, skip = test_manifest.skip_onos_restart)
+            onos_cord = OnosCord(args.onos_ip, args.onos_cord, args.service_profile, args.synchronizer, start = False, skip = manifest.skip_onos_restart)
             onos_cord.restore(force = True)
         except Exception as e:
             print(e)
diff --git a/src/test/vsg/vsg_dataplane_test.robot b/src/test/vsg/vsg_dataplane_test.robot
index c57e795..1fb7ebb 100644
--- a/src/test/vsg/vsg_dataplane_test.robot
+++ b/src/test/vsg/vsg_dataplane_test.robot
@@ -13,7 +13,8 @@
 # limitations under the License.
 
 *** Settings ***
-Test Timeout      2 minutes
+Suite Setup       Setup
+Test Timeout      10 minutes
 Documentation     Validates external connectivity from Cord-Tester Container through VSG Subscriber
 Library           OperatingSystem
 Library           SSHLibrary
@@ -23,16 +24,42 @@
 Resource          /opt/cord/test/cord-tester/src/test/cord-api/Framework/utils/utils.robot
 
 *** Variables ***
-${netcfg_file}    qct_fabric_test_netcfg.json
+${pod}              qct-pod1.yml
+${vsg_data_file}    /opt/cord/test/cord-tester/src/test/cord-api/Tests/data/Ch_VoltTenant.json
 
 *** Test Cases ***
+Validate Instances are ACTIVE
+    [Documentation]    Validates that all instances are ACTIVE
+    Wait Until Keyword Succeeds    300s    5s    Instances ACTIVE
+
+Validate Connectivity to All VSGs via Mgmt Interface
+    [Documentation]    Validates that all given vsg instances are reachable through the mgmt interfaces
+    ##Loop through nova ids,  get mgmt ips + compute nodes, ssh into compute node, and validate ping to mgmt_ip
+    : FOR    ${nova_id}    IN    @{nova_ids}
+    \    ${mgmt_ip}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep management | awk '{print $5}'
+    \    ${node}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep :host | awk '{print $4}'
+    \    ${ping_result}=    Run    ssh ubuntu@${node} ping -c 1 ${mgmt_ip}
+    \    Should Contain   ${ping_result}    64 bytes from ${mgmt_ip}
+    \    Should Not Contain    ${ping_result}    100% packet loss
+
+Validate VSG External Connectivity
+    [Documentation]    Validates that the given vsg instances have external connectivity
+    : FOR    ${nova_id}    IN    @{nova_ids}
+    \    ${mgmt_ip}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep management | awk '{print $5}'
+    \    ${node}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep :host | awk '{print $4}'
+    \    Wait Until Keyword Succeeds    300s    5s    Validate Ext Connectivity    ${node}    ${mgmt_ip}
+
 Configure X-Connects for 3 Subscribers
-    [Documentation]    Configures the cross connect on the fabric switch with s-tags for the subscribers created via control-plane tests  on the correct ports
+    [Documentation]    Configures the cross connect on the fabric switch with s-tags for the subscribers created via control-plane tests on the correct ports
+    [Tags]    xconnect
     ${netcfg_init}=    onosUtils.onos_command_execute    onos-fabric    8101    netcfg
     Log    ${netcfg_init}
     Run    http -a onos:rocks DELETE http://onos-fabric:8181/onos/v1/network/configuration/
+    Sleep    5
     Run    http -a onos:rocks POST http://onos-fabric:8181/onos/v1/network/configuration/ < /opt/cord/test/cord-tester/src/test/setup/${netcfg_file}
+    Sleep    5
     Run    http -a onos:rocks DELETE http://onos-fabric:8181/onos/v1/applications/org.onosproject.segmentrouting/active
+    Sleep    5
     Run    http -a onos:rocks POST http://onos-fabric:8181/onos/v1/applications/org.onosproject.segmentrouting/active
     Sleep    5
     ${netcfg}=    onosUtils.onos_command_execute    onos-fabric    8101    netcfg
@@ -40,9 +67,23 @@
     Should Contain    ${netcfg}    vsg-1
     Should Contain    ${netcfg}    vsg-2
     Should Contain    ${netcfg}    vsg-3
-    Should Contain    ${netcfg}    "vlan" : 333
-    Should Contain    ${netcfg}    "vlan" : 555
-    Should Contain    ${netcfg}    "vlan" : 666
+    Should Contain    ${netcfg}    "vlan" : ${s_tags[0]}
+    Should Contain    ${netcfg}    "vlan" : ${s_tags[1]}
+    Should Contain    ${netcfg}    "vlan" : ${s_tags[2]}
+
+Validate VSG External Connectivity Again
+    [Documentation]    Validates that the given vsg instances have external connectivity even after onos-fabric has been re-configured
+    : FOR    ${nova_id}    IN    @{nova_ids}
+    \    ${mgmt_ip}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep management | awk '{print $5}'
+    \    ${node}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep :host | awk '{print $4}'
+    \    Wait Until Keyword Succeeds    300s    5s    Validate Ext Connectivity    ${node}    ${mgmt_ip}
+
+Validate VCPE Containers
+    [Documentation]    Validates that vcpes containers are up in each vsg instance
+    : FOR    ${nova_id}    IN    @{nova_ids}
+    \    ${mgmt_ip}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep management | awk '{print $5}'
+    \    ${node}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep :host | awk '{print $4}'
+    \    Wait Until Keyword Succeeds    800s    5s    Validate VCPE Container is Up    ${node}    ${mgmt_ip}
 
 Get VSG Subscriber and Tags
     [Documentation]    Retrieves compute node connected on leaf-1 and s/c tags for that particular subscriber
@@ -57,9 +98,7 @@
     \    Run Keyword If    '${node}' == '${cnode_on_leaf_1[0]}'    Exit For Loop
     ${mgmt_ip}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep management | awk '{print $5}'
     ## Get s/c tags for vsg
-    Run    ssh-agent bash \r
-    Run    ssh-add
-    ${result}=    Run    ssh -A ubuntu@${cnode_on_leaf_1[0]} ssh ubuntu@${mgmt_ip} sudo docker ps | grep vsg- | awk '{print $10}'
+    ${result}=    Run    ssh -o ProxyCommand="ssh -W %h:%p -l ubuntu ${cnode_on_leaf_1[0]}" ubuntu@${mgmt_ip} "sudo docker ps|grep 'vsg\\|vcpe'" | awk '{print $10}'
     @{tags}=    Split String    ${result}    -
     ${s_tag}=    Set Variable    ${tags[1]}
     ${c_tag}=    Set Variable    ${tags[2]}
@@ -68,10 +107,11 @@
 
 Execute Dataplane Test
     [Documentation]    Configures interfaces on cord-tester container to connect to vsg instance and validates traffic
+    [Tags]    dataplane
     ${i_num}=    Set Variable If
-    ...    '${s_tag}' == '333'    1
-    ...    '${s_tag}' == '555'    2
-    ...    '${s_tag}' == '666'    3
+    ...    '${s_tag}' == '${s_tags[0]}'    1
+    ...    '${s_tag}' == '${s_tags[1]}'    2
+    ...    '${s_tag}' == '${s_tags[2]}'    3
     ${output}=    Run    docker exec cord-tester1 bash -c "sudo echo 'nameserver 192.168.0.1' > /etc/resolv.conf"
     ${output}=    Run    docker exec cord-tester1 bash -c "sudo dhclient vcpe${i_num}.${s_tag}.${c_tag}"
     Sleep    5
@@ -79,4 +119,56 @@
     ${output}=    Run    docker exec cord-tester1 bash -c "ping -c 3 -I vcpe${i_num}.${s_tag}.${c_tag} 8.8.8.8"
     Log To Console    \n ${output}
     Should Contain   ${output}    64 bytes from 8.8.8.8
-    Should Not Contain    ${output}    100% packet loss
\ No newline at end of file
+    Should Not Contain    ${output}    100% packet loss
+
+*** Keywords ***
+Setup
+    [Documentation]    Gets global vars for test suite
+    @{s_tags}=    Create List
+    @{c_tags}=    Create List
+    ${netcfg_file}=    Set Variable If
+    ...    '${pod}' == 'qct-pod1.yml'    qct_fabric_test_netcfg.json
+    ...    '${pod}' == 'flex-pod1.yml'    flex_fabric_test_netcfg.json
+    ...    '${pod}' == 'calix-pod1.yml'    calix_fabric_test_netcfg.json
+    Set Suite Variable    ${netcfg_file}
+    ${voltList} =    utils.jsonToList    ${vsg_data_file}    voltSubscriberInfo
+    Set Suite Variable    ${vlist}    ${voltList}
+    ${voltTenantList} =    Get Variable Value    ${vlist}
+    ${vsg_count}=    Get Length    ${vlist}
+    Set Suite Variable    ${vsg_count}
+    : FOR    ${INDEX}    IN RANGE    0    ${vsg_count}
+    \    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${INDEX}
+    \    ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
+    \    ${s_tag}=    Get From Dictionary    ${voltDict}    s_tag
+    \    ${c_tag}=    Get From Dictionary    ${voltDict}    c_tag
+    \    Append To List    ${s_tags}    ${s_tag}
+    \    Append To List    ${c_tags}    ${c_tag}
+    @{nova_ids}=    Wait Until Keyword Succeeds    120s    5s    Validate Number of VSGs    ${vsg_count}
+    Set Suite Variable    @{nova_ids}
+    Set Suite Variable    ${s_tags}
+    Set Suite Variable    ${c_tags}
+
+Validate Number of VSGs
+    [Arguments]    ${count}
+    ${novalist}=    Run    . /opt/cord_profile/admin-openrc.sh; nova list --all-tenants | awk '{print $2}' | grep '[a-z]'
+    Log    ${novalist}
+    @{nova_ids}=    Split To Lines    ${novalist}
+    ${vsgCount}=    Get Length    ${nova_ids}
+    Should Be Equal    ${vsgCount}    ${count}
+    [Return]    @{nova_ids}
+
+Instances ACTIVE
+    : FOR    ${nova_id}    IN    @{nova_ids}
+    \    ${status}=    Run    . /opt/cord_profile/admin-openrc.sh; nova show ${nova_id} | grep status | awk '{print $4}'
+    \    Should Be Equal    ${status}    ACTIVE
+
+Validate Ext Connectivity
+    [Arguments]    ${compute_node}    ${vsg_ip}
+    ${ping_ext_result}=    Run    ssh -o ProxyCommand="ssh -W %h:%p -l ubuntu ${compute_node}" ubuntu@${vsg_ip} "ping -c 3 8.8.8.8"
+    Should Contain   ${ping_ext_result}    64 bytes from 8.8.8.8
+    Should Not Contain    ${ping_ext_result}    100% packet loss
+
+Validate VCPE Container is Up
+    [Arguments]    ${compute_node}    ${vsg_ip}
+    ${docker_containers}=    Run    ssh -o ProxyCommand="ssh -W %h:%p -l ubuntu ${compute_node}" ubuntu@${vsg_ip} sudo docker ps | wc -l
+    Should Not Contain   ${docker_containers}    0
\ No newline at end of file
