Added control plane testing

Change-Id: I2fd8c4cb986261c6c35a0a8b45517528de6a6ea1
diff --git a/tables/testing-plan.csv b/tables/testing-plan.csv
new file mode 100644
index 0000000..a5b7d70
--- /dev/null
+++ b/tables/testing-plan.csv
@@ -0,0 +1,414 @@
+ID,Feature,Scenario,"# of ONOS
+instances",Topology,Pass Criteria,"Implemented/
+Status"

+BRIDGING01,L2 Bridging,"Connectivity between two untagged hosts
+(Ports are configured as vlan-untagged)",1,0x1,All pings succeed,Implemented

+BRIDGING02,L2 Bridging,,1,0x2,All pings succeed,Implemented

+BRIDGING03,L2 Bridging,,1,2x2,All pings succeed,Implemented

+BRIDGING04,L2 Bridging,,1,2x4,All pings succeed,Implemented

+BRIDGING05,L2 Bridging,,3,0x1,All pings succeed,Implemented

+BRIDGING06,L2 Bridging,,3,0x2,All pings succeed,Implemented

+BRIDGING07,L2 Bridging,,3,2x2,All pings succeed,Implemented

+BRIDGING08,L2 Bridging,,3,2x4,All pings succeed,Implemented

+BRIDGING11~18,L2 Bridging,"Connectivity between two tagged hosts
+(Ports are configured as vlan-tagged)",,,All pings succeed,Implemented

+BRIDGING21~28,L2 Bridging,"Connectivity between two untagged hosts
+(Ports are configured as vlan-native withvlan-tagged)",,,All pings succeed,Implemented

+BRIDGING31~38,L2 Bridging,"Connectivity between two untagged hosts
+(Ports are configured as vlan-native with vlan-tagged,
+and vlan-untagged)",,,All pings succeed,Implemented

+BRIDGING41~48,L2 Bridging,"Connectivity between untagged host and tagged host
+(Ports are configured as vlan-untagged and
+vlan-tagged with same vlan id, respectively)",,,All pings succeed,Implemented

+BRIDGING51~58,L2 Bridging,"Connectivity between two untagged hosts with different vlan id
+(Ports are configured as vlan-untagged 10 and 20, respectively)",,,All pings fail,Implemented

+BRIDGING61~68,L2 Bridging,"Connectivity between two tagged hosts with different vlan id
+(Ports are configured as vlan-tagged 10 and 20, respectively)",,,All pings fail,Implemented

+BRIDGING71~78,L2 Bridging,"Connectivity between untagged and tagged hosts with different vlan id
+(Ports are configured as vlan-untagged 10 and
+vlan-tagged 20, respectively)",,,All pings fail,Implemented

+ROUTING001,Routing v4/v6,"IPv4 pingall between all the hosts in the topology.
+(All routing tests also check IP address assignment to hosts and specific number of flows and groups in the switches)",3,2x5,"For all routing tests:
+All pings succeed; Host IP addresses are expected; Flow/group numbers are expected",Implemented

+ROUTING002,Routing v4/v6,IPv6 pingall between all the hosts in the topology.,3,2x5,,Implemented

+ROUTING003,Routing v4/v6,All IPv4 hosts ping each other and all IPv6 hosts ping each other.,3,2x5,,Implemented

+ROUTING004,Routing v4/v6,"IPv4 pingall between all the hosts in the topology.
+IPv4 ping from internal hosts to external hosts.",3,2x5,,Implemented

+ROUTING005,Routing v4/v6,"IPv6 pingall between all the hosts in the topology.
+IPv6 ping from internal hosts to external hosts.",3,2x5,,Implemented

+ROUTING006,Routing v4/v6,"All IPv4 hosts ping each other and all IPv6 hosts ping each other.
+IPv4 and IPv6 ping from internal hosts to external hosts.",3,2x5,,Implemented

+ROUTING007,Routing v4/v6,"Ping between ipv4 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING008,Routing v4/v6,"Ping between ipv6 hosts and an external host that is not configured inexternal router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING009,Routing v4/v6,"Ping between ipv4 and ipv6 hosts and an external host that is not configured inexternal router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING101,Routing v4/v6,"Kill and recover links.
+Ping between all ipv4 hosts in the topology.",3,2x5,,Implemented

+ROUTING102,Routing v4/v6,"Kill and recover links.
+Ping between all ipv6 hosts in the topology.",3,2x5,,Implemented

+ROUTING103,Routing v4/v6,"Kill and recover links.
+Ping between all ipv4 and ipv6 hosts in the topology.",3,2x5,,Implemented

+ROUTING104,Routing v4/v6,"Kill and recover links
+Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts",3,2x5,,Implemented

+ROUTING105,Routing v4/v6,"Kill and recover links
+Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts",3,2x5,,Implemented

+ROUTING106,Routing v4/v6,"Kill and recover links
+Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts",3,2x5,,Implemented

+ROUTING107,Routing v4/v6,"Kill and recover links
+Ping between ipv4 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING108,Routing v4/v6,"Kill and recover links
+Ping between ipv6 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING109,Routing v4/v6,"Kill and recover links
+Ping between ipv4/ipv6 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING201,Routing v4/v6,"Kill and recover spine switches.
+Ping between all ipv4 hosts in the topology.",3,2x5,,Implemented

+ROUTING202,Routing v4/v6,"Kill and recover spine switches.
+Ping between all ipv6 hosts in the topology.",3,2x5,,Implemented

+ROUTING203,Routing v4/v6,"Kill and recover spine switches.
+Ping between all ipv4 and ipv6 hosts in the topology.",3,2x5,,Implemented

+ROUTING204,Routing v4/v6,"Kill and recover spine switches
+Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts",3,2x5,,Implemented

+ROUTING205,Routing v4/v6,"Kill and recover spine switches
+Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts",3,2x5,,Implemented

+ROUTING206,Routing v4/v6,"Kill and recover spine switches
+Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts",3,2x5,,Implemented

+ROUTING207,Routing v4/v6,"Kill and recover spine switches
+Ping between ipv4 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING208,Routing v4/v6,"Kill and recover spine switches
+Ping between ipv6 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING209,Routing v4/v6,"Kill and recover spine switches
+Ping between ipv4/ipv6 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING301,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between all ipv4 hosts in the topology.",3,2x5,,Implemented

+ROUTING302,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between all ipv6 hosts in the topology.",3,2x5,,Implemented

+ROUTING303,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between all ipv4 and ipv6 hosts in the topology.",3,2x5,,Implemented

+ROUTING304,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts",3,2x5,,Implemented

+ROUTING305,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts",3,2x5,,Implemented

+ROUTING306,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts",3,2x5,,Implemented

+ROUTING307,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between ipv4 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING308,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between ipv6 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+ROUTING309,Routing v4/v6,"Kill and recover ONOS nodes
+Ping between ipv4/ipv6 hosts and an external host that is not configured in external router config, but reachable through the use of route-add command",3,2x5,,Implemented

+DHCP relay test,"DHCP relay v4/v6
+(WIP)","Clients gets IP or IPv6 address from DHCP server
+The host store and router store should includes specific hosts and routes.
+Only one switch in DHCP relay test",,,,

+DHCPRELAY01,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp4-1,"find 4+1 hosts from host store with correct information
+All hosts should get IP address",Implemented

+DHCPRELAY02,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch indirectly (via gateway)",3,dhcp4-2,"find 4+1 hosts from host store with correct information
+All hosts should get IP address","Implemented
+(test is failing)"

+DHCPRELAY03,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via normal DHCP relay)
+Server: 1 server attached to switch directly",3,dhcp4-3,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IP address","Implemented
+(test is failing)"

+DHCPRELAY04,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via normal DHCP relay)
+Server: 1 server attached to switch indirectly (via gateway)",3,dhcp4-4,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IP address","Implemented
+(test is failing)"

+DHCPRELAY05,"DHCP relay v4/v6
+(WIP)","Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via normal DHCP relay)
+Server: 1 server attached to switch directly for direct connected host another server attached to switch directly for indirect connected host",3,dhcp4-5,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IP address","Implemented
+(test is failing)"

+DHCPRELAY06,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via special DHCP relay)
+Server: 1 server attached to switch directly for direct connected host another server attached to switch directly for indirect connected host
+""DhcpRelayAgentIp"" address should be configured for indirect hosts",3,dhcp4-6,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IP address","Implemented
+(test is failing)"

+DHCPRELAY11,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp6-1,"find 4+1 hosts from host store with correct information
+All hosts should get IPv6 address",Implemented

+DHCPRELAY12,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch indirectly (via gateway)",3,dhcp6-2,"find 4+1 hosts from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+DHCPRELAY13,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via normal DHCP relay)
+Server: 1 server attached to switch directly",3,dhcp6-3,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+DHCPRELAY14,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via normal DHCP relay)
+Server: 1 server attached to switch indirectly (via gateway)",3,dhcp6-4,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+DHCPRELAY15,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via normal DHCP relay)
+Server: 1 server attached to switch directly for direct connected host another server attached to switch directly for indirect connected host",3,dhcp6-5,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+DHCPRELAY16,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests
+Client: 2 clients attached to switch directly, 2 clients attached to switch indirectly (via special DHCP relay)
+Server: 1 server attached to switch directly for direct connected host another server attached to switch directly for indirect connected host
+""DhcpRelayAgentIp"" address should be configured for indirect hosts",3,dhcp6-6,"find 2+1 hosts from host store with correct information
+find 2 routes from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+DHCPRELAY21,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests with tagged hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp4-1,"find 4+1 hosts from host store with correct information
+All hosts should get IP address",Implemented

+DHCPRELAY22,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests with tagged hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch indirectly (via gateway)",3,dhcp4-2,"find 4+1 hosts from host store with correct information
+All hosts should get IP address",Implemented

+DHCPRELAY31,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests with tagged hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp6-1,"find 4+1 hosts from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+DHCPRELAY41,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests with dual-homed hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp4-7,"find 4+1 hosts from host store with correct information
+All hosts should get IP address",Implemented

+DHCPRELAY51,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests with dual-homed hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp6-7,"find 4+1 hosts from host store with correct information
+All hosts should get IPv6 address",Implemented

+DHCPRELAY61,"DHCP relay v4/v6
+(WIP)","DHCP v4 tests with dual-homed tagged hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp4-7,"find 4+1 hosts from host store with correct information
+All hosts should get IP address",Implemented

+DHCPRELAY71,"DHCP relay v4/v6
+(WIP)","DHCP v6 tests with dual-homed tagged hosts
+Client: 4 clients attached to switch directly
+Server: 1 server attached to switch directly",3,dhcp6-7,"find 4+1 hosts from host store with correct information
+All hosts should get IPv6 address","Implemented
+(test is failing)"

+MCAST1,"Multicast v4/v6
+(WIP)",Start 2x2 topology of hardware switches,3,2x2,All switches are up and discovered by ONOS,Implemented

+MCAST01,"Multicast v4/v6
+(WIP)",Sink and source on the same dual-tor leaf,3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST02,"Multicast v4/v6
+(WIP)",Sink and source on different dual-tor leaves,3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST03,"Multicast v4/v6
+(WIP)",Sink and source on different leaves (sink on single-tor),3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST04,"Multicast v4/v6
+(WIP)",Combines MCAST01 and MCAST02,3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST05,"Multicast v4/v6
+(WIP)",Combines MCAST02 and MCAST03,3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST06,"Multicast v4/v6
+(WIP)",Combines MCAST01 and MCAST03,3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST07,"Multicast v4/v6
+(WIP)","Combines MCAST01, MCAST02 and MCAST03",3,2x5,"Flows and groups are installed
+Traffic is properly forwarded
+Flows and groups are removed",Implemented

+MCAST08,"Multicast v4/v6
+(WIP)",Combines MCAST07 with route removal,3,2x5,Flows and groups are removed,Implemented

+MCAST101,"Multicast v4/v6
+(WIP)",Combines MCAST07 with a link failure (link ingress-spine),3,2x5,"Flows and groups are installed
+Traffic is properly forwarded",Implemented

+MCAST102,"Multicast v4/v6
+(WIP)",Combines MCAST07 with a link failure (link spine-egress-dt-leaf),3,2x5,"Flows and groups are installed
+Traffic is properly forwarded",Implemented

+MCAST103,"Multicast v4/v6
+(WIP)",Combines MCAST07 with a link failure (link spine-egress-st-leaf),3,2x5,"Flows and groups are installed
+Traffic is properly forwarded",Implemented

+MCAST201,"Multicast v4/v6
+(WIP)",Combines MCAST07 with spine failure,3,2x5,"Flows and groups are installed
+Traffic is properly forwarded",Implemented

+MCAST202,"Multicast v4/v6
+(WIP)",Combines MCAST07 with ingress failure and recovery,3,2x5,"Flows and groups are removed (failure)
+Flows and groups are installed (recovery)
+Traffic is properly forwarded (recovery)",Implemented

+MCAST203,"Multicast v4/v6
+(WIP)",Combines MCAST07 with egress-dt-leaf failure and recovery,3,2x5,"Flows and groups are removed for the failing sink (failure)
+Traffic is properly forwarded on remaining sinks (failure)",Implemented

+MCAST204,"Multicast v4/v6
+(WIP)",Combines MCAST07 with egress-st-leaf failure and recovery,3,2x5,"Flows and groups are removed for the failing sink (failure)
+Traffic is properly forwarded on remaining sinks (failure)
+Flows and groups are installed (recovery)
+Traffic is properly forwarded (recovery)",Implemented

+MCAST205,"Multicast v4/v6
+(WIP)",Combines MCAST07 with egress leaves failure and recovery,3,2x5,"Flows and groups are removed for the failing sinks (failure)
+Traffic is properly forwarded on remaining sink (failure)
+Flows and groups are installed (recovery)
+Traffic is properly forwarded (recovery)",Implemented

+MCAST301,"Multicast v4/v6
+(WIP)",Combines MCAST07 with ONOS failure and recovery,3,2x5,"Flows and groups are installed(failure)
+Traffic is properly forwarded(failure)
+Flows and groups are installed (recovery)
+Traffic is properly forwarded (recovery)",Implemented

+DYNAMIC01,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> tagged 10
+h1: not configured --> VLAN ID 10
+(P2: untagged 10, P3 and P4: tagged 20 and native 10)
+(h2-h4: not configured)",3,0x1,"Ping succeeds between:
+h1, h2, h3, h4",Implemented

+DYNAMIC02,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> untagged 20(P2: untagged 10, P3 and P4: tagged 20 and native 10
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC03,"Dynamic Interface Configuration
+(WIP)","P1, P2: untagged 10 --> untagged 110
+(P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC04,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> tagged 20
+h1: not configured --> VLAN ID 20
+(P2: untagged 10, P3 and P4: untagged 20)
+(h2-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC05,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> tagged 20, native 10
+(P2: untagged 10, P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC06,"Dynamic Interface Configuration
+(WIP)","P1 and P2: untagged 10 --> tagged 120, native 110
+(P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC07,"Dynamic Interface Configuration
+(WIP)","P1: tagged 10 --> untagged 10h1: VLAN ID 10 --> not configured
+(P2: untagged 10, P3 and P4: untagged 20)
+(h2-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC08,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20 --> tagged 20, native 10
+(P2: untagged 10, P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC09,"Dynamic Interface Configuration
+(WIP)","P1, P2: tagged 10 --> tagged 120, native 110
+h1, h2: VLAN ID 10 --> not configured(P3 and P4: untagged 20)
+(h3 and h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC10,"Dynamic Interface Configuration
+(WIP)","P1: tagged 10, native 20 --> untagged 20
+(P2: tagged 10, native 20, P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2, h3, h4",Implemented

+DYNAMIC11,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20, native 10 --> tagged 20
+(P2: tagged 20, native 10, P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping fails between:
+h1 <--> h2, h3, h4",Implemented

+DYNAMIC12,"Dynamic Interface Configuration
+(WIP)","P1, P2: tagged 20, native 10 --> tagged 20, native 110
+(P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC13,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20, native 10 --> tagged 120, native 10
+(P2:tagged 20, native 10,P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h2
+h3, h4",Implemented

+DYNAMIC14,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> tagged 20
+(P2: untagged 10, P3 and P4: untagged 20)
+(h1: VLAN ID 20, h2-h4: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC15,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> tagged 120
+(P2: untagged 10, P3 and P4: untagged 20)
+(h1: VLAN ID 20, h2-h4: not configured)",3,2x2,"Ping fails between:
+h1 <--> h2, h3, h4",Implemented

+DYNAMIC16,"Dynamic Interface Configuration
+(WIP)","P1: untagged 10 --> tagged 20, native 10
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC17,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20 --> tagged 120
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping fails between:
+h1 <--> h2, h3, h4",Implemented

+DYNAMIC18,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20 --> tagged 20, native 10
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC19,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20, native 10 --> untagged 20
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping fails between:
+h1 <--> h2, h3, h4",Implemented

+DYNAMIC20,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20, native 10 --> tagged 20
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC21,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20, native 10 --> tagged 20, native 110
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping succeeds between:
+h1, h3, h4",Implemented

+DYNAMIC22,"Dynamic Interface Configuration
+(WIP)","P1: tagged 20, native 10 --> tagged 120, native 10
+(P2: untagged 10, P3 and P4: tagged 20)
+(h1, h3, h4: VLAN ID 20, h2: not configured)",3,2x2,"Ping fails between:
+h1 <--> h2, h3, h4",Implemented

+DYNAMIC23,"Dynamic Interface Configuration
+(WIP)","Consecutive configuration changes:
+P1: untagged 20 --> Tagged 10 --> Untagged 50 --> Tagged 20 --> Tagged 40 with Native 30 --> Tagged 20 --> Untagged 20 --> Untagged 10
+(P2: tagged 10, native 20, P3 and P4: untagged 20)
+(h1-h4: not configured)",3,2x2,"Ping succeeds between:
+h1 <---> h2",Implemented

+DYNAMIC24,"Dynamic Interface Configuration
+(WIP)","Changing a subnet
+Leaf1-P1: untagged 20 and 10.0.2.254/24 --> untagged 60 and 10.0.6.254/24
+h1: 10.0.2.1 --> 10.0.6.1(Leaf1-P2, P3, P4: 10.0.2.254/24,h2, h3, h4: 10.0.2.0/24)
+(Leaf2-P1, P2, P3 P4: 10.0.3.254/24, h5, h6, h7, h8: 10.0.3.0/24)",3,2x2,"Ping succeeds between:
+h1 <---> h5",Implemented
\ No newline at end of file