changes in vlan-native after tests

Change-Id: Id0e6fcba7945b5d6476eaec62964aa03ce6d9be9
diff --git a/TestON/drivers/common/cli/networkdriver.py b/TestON/drivers/common/cli/networkdriver.py
index b1dfd78..2b70be6 100755
--- a/TestON/drivers/common/cli/networkdriver.py
+++ b/TestON/drivers/common/cli/networkdriver.py
@@ -519,7 +519,6 @@
             failedPings = 0
             hostPairs = itertools.permutations( list( hostComponentList ), 2 )
             for hostPair in list( hostPairs ):
-                pingResponse += hostPair[ 0 ].options[ 'shortName' ] + " -> "
                 ipDst = hostPair[ 1 ].options.get( 'ip6', hostPair[ 1 ].options[ 'ip' ] ) if ipv6 else hostPair[ 1 ].options[ 'ip' ]
                 srcIface = hostPair[ 0 ].interfaces[0].get( 'name' )
                 dstIface = hostPair[ 1 ].interfaces[0].get( 'name' )
@@ -529,60 +528,76 @@
                     main.log.debug( "Pinging from " + str( hostPair[ 0 ].shortName ) + " to " + str( hostPair[ 1 ].shortName ) )
                     srcIPs = hostPair[ 0 ].interfaces[0].get( 'ips' )
                     dstIPs = hostPair[ 1 ].interfaces[0].get( 'ips' )
-                    srcVLANs = hostPair[0].interfaces[0].get( 'vlan' )
-                    if srcVLANs:
-                        VLAN = srcVLANs[0]
-                    else:
-                        VLAN=None
-                    dstVLANs = hostPair[1].interfaces[0].get( 'vlan' )
-                    # Use scapy to send and recieve packets
-                    hostPair[ 1 ].startScapy( ifaceName=dstIface )
-                    hostPair[ 1 ].addRoutes()
-                    filters = []
-                    if srcMac:
-                        filters.append( "ether src host %s" % srcMac )
-                    if srcIPs[0]:
-                        filters.append( "ip src host %s" % srcIPs[0] )
-                    hostPair[ 1 ].startFilter( ifaceName=dstIface, pktFilter=" and ".join(filters) )
-                    hostPair[ 0 ].startScapy( ifaceName=srcIface )
-                    hostPair[ 0 ].addRoutes()
-                    hostPair[ 0 ].buildEther( src=srcMac, dst=dstMac )
-                    if VLAN:
-                        hostPair[ 0 ].buildVLAN( vlan=VLAN )
-                    hostPair[ 0 ].buildIP( src=srcIPs[0], dst=dstIPs[0] )
-                    hostPair[ 0 ].buildICMP( vlan=VLAN )
-                    hostPair[ 0 ].sendPacket( iface=srcIface )
+                    srcVLANs = hostPair[0].interfaces[0].get( 'vlan', [None] )
+                    main.log.debug( srcVLANs )
+                    for VLAN in srcVLANs:
+                        pingResponse += hostPair[ 0 ].options[ 'shortName' ]
+                        if VLAN:
+                            pingResponse += "." + str( VLAN )
+                        pingResponse += " -> "
+                        main.log.debug( VLAN )
+                        dstVLANs = hostPair[1].interfaces[0].get( 'vlan' )
+                        # Use scapy to send and recieve packets
+                        hostPair[ 1 ].startScapy( ifaceName=dstIface )
+                        hostPair[ 1 ].addRoutes()
+                        filters = []
+                        if srcMac:
+                            filters.append( "ether src host %s" % srcMac )
+                        if srcIPs[0]:
+                            filters.append( "ip src host %s" % srcIPs[0] )
+                        hostPair[ 1 ].startFilter( ifaceName=dstIface, pktFilter=" and ".join(filters) )
+                        hostPair[ 0 ].startScapy( ifaceName=srcIface )
+                        hostPair[ 0 ].addRoutes()
+                        hostPair[ 0 ].buildEther( src=srcMac, dst=dstMac )
+                        if VLAN:
+                            hostPair[ 0 ].buildVLAN( vlan=VLAN )
+                        hostPair[ 0 ].buildIP( src=srcIPs[0], dst=dstIPs[0] )
+                        hostPair[ 0 ].buildICMP( vlan=VLAN )
+                        hostPair[ 0 ].sendPacket( iface=srcIface )
 
-                    waiting = not hostPair[ 1 ].checkFilter()
-                    if not waiting:
-                        pingResult = main.FALSE
-                        packets = hostPair[ 1 ].readPackets()
-                        main.log.warn( repr( packets ) )
-                        for packet in packets.splitlines():
-                            main.log.debug( packet )
-                            if srcIPs[0] in packet:
-                                pingResult = main.TRUE
-                    else:
-                        main.log.warn( "Did not receive packets, killing filter" )
-                        kill = hostPair[ 1 ].killFilter()
-                        main.log.debug( kill )
-                        hostPair[ 1 ].handle.sendline( "" )
-                        hostPair[ 1 ].handle.expect( hostPair[ 1 ].scapyPrompt )
-                        main.log.debug( hostPair[ 1 ].handle.before )
-                        # One of the host to host pair is unreachable
-                        pingResult = main.FALSE
-                    hostPair[ 0 ].stopScapy()
-                    hostPair[ 1 ].stopScapy()
+                        waiting = not hostPair[ 1 ].checkFilter()
+                        if not waiting:
+                            pingResult = main.FALSE
+                            packets = hostPair[ 1 ].readPackets()
+                            main.log.warn( repr( packets ) )
+                            for packet in packets.splitlines():
+                                main.log.debug( packet )
+                                if srcIPs[0] in packet:
+                                    pingResult = main.TRUE
+                        else:
+                            main.log.warn( "Did not receive packets, killing filter" )
+                            kill = hostPair[ 1 ].killFilter()
+                            main.log.debug( kill )
+                            hostPair[ 1 ].handle.sendline( "" )
+                            hostPair[ 1 ].handle.expect( hostPair[ 1 ].scapyPrompt )
+                            main.log.debug( hostPair[ 1 ].handle.before )
+                            # One of the host to host pair is unreachable
+                            pingResult = main.FALSE
+                        hostPair[ 0 ].stopScapy()
+                        hostPair[ 1 ].stopScapy()
+                        if pingResult:
+                            pingResponse += hostPair[ 1 ].options[ 'shortName' ]
+                            if VLAN:
+                                pingResponse += "." + str( VLAN )
+                        else:
+                            pingResponse += "X"
+                            # One of the host to host pair is unreachable
+                            isReachable = main.FALSE
+                            failedPings += 1
+                        pingResponse += "\n"
                 else:
+                    pingResponse += hostPair[ 0 ].options[ 'shortName' ] + " -> "
                     pingResult = hostPair[ 0 ].ping( ipDst, interface=srcIface, wait=int( wait ) )
-                if pingResult:
-                    pingResponse += hostPair[ 1 ].options[ 'shortName' ]
-                else:
-                    pingResponse += "X"
-                    # One of the host to host pair is unreachable
-                    isReachable = main.FALSE
-                    failedPings += 1
-                pingResponse += "\n"
+                    if pingResult:
+                        pingResponse += hostPair[ 1 ].options[ 'shortName' ]
+                        if VLAN:
+                            pingResponse += "." + str( VLAN )
+                    else:
+                        pingResponse += "X"
+                        # One of the host to host pair is unreachable
+                        isReachable = main.FALSE
+                        failedPings += 1
+                    pingResponse += "\n"
             main.log.info( pingResponse + "Failed pings: " + str( failedPings ) )
             return isReachable
         except Exception:
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tucson
index 67b0d48..145a28b 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tucson
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.params.tucson
@@ -1,5 +1,5 @@
 <PARAMS>
-    <testcases>6</testcases>
+    <testcases>6,16,26,36,46,56,66,76</testcases>
 
     <GRAPH>
         <nodeCluster>pairedleaves</nodeCluster>
@@ -24,7 +24,7 @@
         <lib>routinglib.py,trellislib.py,stratum.py</lib>
     </DEPENDENCY>
 
-    <jsonFileSuffix>.hw</jsonFileSuffix>
+    <jsonFileSuffix>.tucson</jsonFileSuffix>
 
     <persistent_setup>True</persistent_setup>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson
index 61ff208..5aa179c 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson
@@ -66,7 +66,7 @@
             <COMPONENTS>
                 <mac></mac>
                 <inband>false</inband>
-                <dhcp>True</dhcp>
+                <dhcp>False</dhcp>
                 <ip>10.32.11.2</ip>
                 <shortName>h1</shortName>
                 <port1></port1>
@@ -95,7 +95,7 @@
             <COMPONENTS>
                 <mac></mac>
                 <inband>false</inband>
-                <dhcp>True</dhcp>
+                <dhcp>False</dhcp>
                 <ip>10.32.11.3</ip>
                 <shortName>h2</shortName>
                 <port1></port1>
@@ -124,7 +124,7 @@
             <COMPONENTS>
                 <mac></mac>
                 <inband>false</inband>
-                <dhcp>True</dhcp>
+                <dhcp>False</dhcp>
                 <ip>10.32.11.194</ip>
                 <shortName>h3</shortName>
                 <port1></port1>
@@ -152,7 +152,7 @@
             <COMPONENTS>
                 <mac></mac>
                 <inband>false</inband>
-                <dhcp>True</dhcp>
+                <dhcp>False</dhcp>
                 <ip>10.32.11.1</ip>
                 <shortName>mgmt</shortName>
                 <port1></port1>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py
index e2b175f..098db74 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py
@@ -59,6 +59,7 @@
             print (main.cfgName, "Testcase : CASE 09")
             main.Cluster.setRunningNode( onosNodes )
             run.installOnos( main, skipPackage=skipPackage, cliSleep=5 )
+            suf = main.params.get( 'jsonFileSuffix', None)
             if not main.persistentSetup:
                 if main.useBmv2:
                     switchPrefix = main.params[ 'DEPENDENCY' ].get( 'switchPrefix', '' )
@@ -69,7 +70,6 @@
                     translator.ofdpaToBmv2( main, switchPrefix=switchPrefix )
                 else:
                     translator.bmv2ToOfdpa( main )
-                suf = main.params.get( 'jsonFileSuffix', None)
                 if suf:
                     run.loadJson( main, suffix=suf )
                 else:
@@ -93,7 +93,7 @@
                 # Run the test with physical devices
                 run.connectToPhysicalNetwork( main, hostDiscovery=False )  # We don't want to do host discovery in the pod
                 if main.cfgName:
-                    returnValue = run.loadNewJson( main )
+                    returnValue = run.loadNewJson( main, suffix=suf )
                     utilities.assert_equals( expect=main.TRUE,
                                  actual=returnValue,
                                  onpass="Successfully changed network config",
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE06.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE06.json.tucson
index a10a0ca..093b740 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE06.json.tucson
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE06.json.tucson
@@ -28,7 +28,7 @@
                 "ips": [
                   "10.32.11.126/25"
                 ],
-                "vlan-untagged": 111,
+                "vlan-untagged":111,
                 "name": "compute-2-1"
               }
             ]
@@ -39,7 +39,7 @@
                 "ips": [
                   "10.32.11.126/25"
                 ],
-                "vlan-untagged": 111,
+                "vlan-untagged":111,
                 "name": "compute-2-2"
               }
             ]
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json
index c755a30..db7bc19 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json
@@ -103,4 +103,4 @@
             ]
         }
     }
-}
\ No newline at end of file
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json.tucson
new file mode 100644
index 0000000..06c8e7f
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE16.json.tucson
@@ -0,0 +1,48 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-tagged":[111],
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-tagged":[111],
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":[111],
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":[111],
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE26.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE26.json.tucson
new file mode 100644
index 0000000..b3cd310
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE26.json.tucson
@@ -0,0 +1,52 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-native":111,
+                    "vlan-tagged":[120],
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-native":111,
+                    "vlan-tagged":[120],
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-native":111,
+                "vlan-tagged":[120],
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-native":111,
+                "vlan-tagged":[120],
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE36.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE36.json.tucson
new file mode 100644
index 0000000..25059e5
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE36.json.tucson
@@ -0,0 +1,50 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-native":111,
+                    "vlan-tagged":[120],
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-native":111,
+                    "vlan-tagged":[120],
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-untagged":111,
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-untagged":111,
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE46.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE46.json.tucson
new file mode 100644
index 0000000..d2b7ed7
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE46.json.tucson
@@ -0,0 +1,48 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-untagged":111,
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-untagged":111,
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":111,
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":111,
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE56.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE56.json.tucson
new file mode 100644
index 0000000..d1e47c8
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE56.json.tucson
@@ -0,0 +1,48 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-untagged":111,
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-untagged":111,
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-untagged":120,
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-untagged":120,
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE66.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE66.json.tucson
new file mode 100644
index 0000000..615d33b
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE66.json.tucson
@@ -0,0 +1,48 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-tagged":[111],
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-tagged":[111],
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":[120],
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":[120],
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE76.json.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE76.json.tucson
new file mode 100644
index 0000000..de1aa12
--- /dev/null
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/CASE76.json.tucson
@@ -0,0 +1,48 @@
+{
+"ports":{
+        "device:leaf1/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-untagged":111,
+                    "name": "compute-1-1"
+                }
+            ]
+        },
+        "device:leaf2/56":{
+            "interfaces":[
+                {
+                    "ips":[
+                        "10.32.11.126/25"
+                    ],
+                    "vlan-untagged":111,
+                    "name": "compute-1-2"
+                }
+            ]
+        },
+        "device:leaf1/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":[120],
+                "name": "compute-2-1"
+              }
+            ]
+          },
+          "device:leaf2/40": {
+            "interfaces": [
+              {
+                "ips": [
+                  "10.32.11.126/25"
+                ],
+                "vlan-tagged":[120],
+                "name": "compute-2-2"
+              }
+            ]
+          }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
index 78be8ac..4ff3a85 100644
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
@@ -75,7 +75,7 @@
             main.configPath = main.path + ( "/.." if main.useCommonConf else "" ) + "/dependencies/"
             main.bmv2Path = "/tools/dev/mininet/"
             main.forJson = "json/"
-            main.forcfg = "netcfg/"
+            # main.forcfg = "netcfg/"
             main.forChart = "chart/"
             main.forConfig = "conf/"
             main.forHost = "host/"
@@ -217,7 +217,7 @@
     @staticmethod
     def loadNewJson( main, suffix='' ):
         returnValue = main.TRUE
-        with open( "%s%s.cfg%s" % ( main.configPath + main.forcfg,
+        with open( "%s%s.json%s" % ( main.configPath + main.forJson,
                                      main.cfgName, suffix ) ) as cfg:
             desiredJSON = json.load ( cfg )
             for device in desiredJSON ["ports"].keys():
@@ -846,6 +846,8 @@
                 srcIface = hostComponent.interfaces[0].get( 'name' )
                 #Get host location, check netcfg for that port's ip
                 hostIp = hostComponent.getIPAddress( iface=srcIface )
+                if not hostIp:
+                    hostIp=hostComponent.interfaces[0].get( 'ips' )[0]
                 main.log.warn( "Looking for allowed vlans for %s" % hostIp )
                 vlans = []
                 for obj in hostsJson:
@@ -863,11 +865,13 @@
                             # vlanid if vlan-tagged: vlanid
                             # None if vlan-native + any vlan ids from vlan-tagged
                             intf = netcfgJson[ portId ][ 'interfaces' ][0]
+                            main.log.debug( intf )
                             for field in intf.keys():
                                 if "vlan-untagged" in field:
                                     vlans.append( None )
                                 if "vlan-tagged" in field:
-                                    vlans.append( int( intf[ field ].encode( 'utf-8' ) ) )
+                                    for VLAN in intf[ field ]:
+                                        vlans.append( VLAN )
                                 if "vlan-native" in field:
                                     vlans.append( None )
                             if len( vlans ) == 0: