This is the test plan for SONIC Distributed VOQ support, as described in the Distributed VOQ HLD.
The associated PRs covered in this test plan are:
Redis CLI commands will be used for some validation until SONIC CLI commands are available for system port information.
The functionalty covered in this test plan is:
- system ports,
- router interfaces, when configured on multiple cards, and
- neighbors, when learned on local and remote ports.
Other HLDs in the Chassis Subgroup feature list will be covered in other test plans.
The following are useful commands for validating the testcases that follow.
- Keys from redis in container when no redis-dump exists:
docker exec database1 redis-cli -h <ip> -n 6 KEYS "*"
- Values from redis in container when no redis-dump exists:
docker exec database1 redis-cli -h <ip> -n 6 hgetall "SYSTEM_NEIGH_TABLE|Inband4|3.3.3.5"
- Chassis App Database on Supervisor card:
redis-dump -h <ip> -p 6380 -d 12 -y -k "*SYSTEM_INT*"
These test cases will be run in the proposed T2 topology. It is assumed that such a configuration is deployed on the chassis.
Verify VoQ system initializes correctly on startup.
- Configure a VoQ system with valid configuration files and verify the system comes up.
- Verify supervisor card is up, and all required containers and processes are running.
- Verify redis on supervisor is running and Chassis AppDB is reachable.
- Verify line cards are up and reachable from supervisor.
Verify ASIC Switch object is correct on all line cards.
- Verify ASIC_DB gets switch object created on all asics and linecards (redis-dump -h -d 1 on each linecard)
- Verify switch ID, cores, port list in ASIC DB have the same values as the config_db.json file.
- Verify switch type is voq.
"ASIC_STATE:SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000": {
"expireat": 1550863898.649604,
"ttl": -0.001,
"type": "hash",
"value": {
"NULL": "NULL",
"SAI_SWITCH_ATTR_ECMP_DEFAULT_HASH_SEED": "0",
"SAI_SWITCH_ATTR_FDB_AGING_TIME": "600",
"SAI_SWITCH_ATTR_FDB_EVENT_NOTIFY": "0x55df0bc54540",
"SAI_SWITCH_ATTR_INIT_SWITCH": "true",
"SAI_SWITCH_ATTR_LAG_DEFAULT_HASH_SEED": "0",
"SAI_SWITCH_ATTR_MAX_SYSTEM_CORES": "48",
"SAI_SWITCH_ATTR_PORT_STATE_CHANGE_NOTIFY": "0x55df0bc54550",
"SAI_SWITCH_ATTR_SRC_MAC_ADDRESS": "14:7B:AC:3A:C9:7F",
"SAI_SWITCH_ATTR_SWITCH_HARDWARE_INFO": "8:48,52,58,48,48,46,48,0",
"SAI_SWITCH_ATTR_SWITCH_ID": "36",
"SAI_SWITCH_ATTR_SWITCH_SHUTDOWN_REQUEST_NOTIFY": "0x55df0bc54560",
"SAI_SWITCH_ATTR_SYSTEM_PORT_CONFIG_LIST": "{\"count\":304,\"list\":[{\"attached_core_index\":\"0\", etc
Verify system ports are created on all line cards.
- Verify ASIC_DB get all system ports referenced in config_db.json created on all hosts and ASICs.
- Verify object creation and values of port attributes.
"ASIC_STATE:SAI_OBJECT_TYPE_SYSTEM_PORT:oid:0x5d0000000000e4": {
"expireat": 1550863898.617927,
"ttl": -0.001,
"type": "hash",
"value": {
"NULL": "NULL",
"SAI_SYSTEM_PORT_ATTR_CONFIG_INFO": "{\"attached_core_index\":\"0\",\"attached_core_port_index\":\"20\",\"attached_switch_id\":\"18\",\"num_voq\":\"8\",\"port_id\":\"596\",\"speed\":\"400000\"}"
}
},
Verify local ports are created on all line cards.
- Verify ASIC_DB has host interface information for all local ports on all cards and ASICs.
- Verify host interfaces exist on host CLI (ifconfig).
- Verify interfaces exist in show interfaces on the linecard.
"ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF:oid:0xd00000000126b": {
"expireat": 1550863898.591804,
"ttl": -0.001,
"type": "hash",
"value": {
"SAI_HOSTIF_ATTR_NAME": "Ethernet0",
"SAI_HOSTIF_ATTR_OBJ_ID": "oid:0x1000000000002",
"SAI_HOSTIF_ATTR_OPER_STATUS": "false",
"SAI_HOSTIF_ATTR_TYPE": "SAI_HOSTIF_TYPE_NETDEV"
}
},
admin@dut1-imm2:~$ sudo ifconfig Ethernet0
Ethernet0: flags=4098<BROADCAST,MULTICAST> mtu 9100
ether 14:7b:ac:3a:c9:7f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Verify router interfaces are created on all line cards and present in Chassis App Db.
- Verify router interface creation on local ports in ASIC DB.
- PORT_ID should match system port table and traced back to config_db.json, mac and MTU should match as well.
- Verify SYSTEM_INTERFACE table in Chassis AppDb (redis-dump -h -p 6380 -d 12 on supervisor).
- Verify creation interfaces with different MTUs in config_db.json.
- Verify creation of different subnet masks in config_db.json.
- Repeat with IPv4, IPv6, dual-stack.
ASIC:
"ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x60000000012b3": {
"expireat": 1550863898.6557322,
"ttl": -0.001,
"type": "hash",
"value": {
"SAI_ROUTER_INTERFACE_ATTR_MTU": "9100",
"SAI_ROUTER_INTERFACE_ATTR_PORT_ID": "oid:0x5d00000000015a",
"SAI_ROUTER_INTERFACE_ATTR_SRC_MAC_ADDRESS": "14:7B:AC:3A:C9:7F",
"SAI_ROUTER_INTERFACE_ATTR_TYPE": "SAI_ROUTER_INTERFACE_TYPE_PORT",
"SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID": "oid:0x3000000000027"
}
},
Chassis AppDB:
"SYSTEM_INTERFACE|Slot7|Asic0|Ethernet24": {
"expireat": 1605628181.7629092,
"ttl": -0.001,
"type": "hash",
"value": {
"rif_id": "oid:0x19000600001499"
}
},
Verify inband ports, neighbors, and routes are setup as in device configuration.
- Configure system in inband port mode.
"VOQ_INBAND_INTERFACE": {
"Inband3": {
"inband_type": "port"
},
"Inband3|133.133.133.4/32": {}
},
- On each linecard, verify inband ports are present in ASICDB.
- On each linecard, verify inband router interfaces are present in ASICDB
- On supervisor card, verify inband router interfaces are present in Chassis App DB
- On each linecard, verify permanent neighbors for all inband ports.
- On each linecard, verify kernel routes for all inband ports.
- Repeat with IPv4, IPv6, dual-stack.
Verify neighbor entries are created on linecards for locally adjacent VMS.
- ARP/NDP should be resolved when BGP to adjacent VMs is established.
- On local linecard, verify ASIC DB entries.
- MAC address matches MAC of neighbor VM.
- Router interface OID matches back to the correct interface and port the neighbor was learned on.
- On local linecard, verify show arp/ndp, ip neigh commands.
- MAC address matches MAC of neighbor VM.
- On local linecard. verify neighbor table in appDB.
- MAC address matches MAC of neighbor VM.
- On supervisor card, verify SYSTEM_NEIGH table in Chassis AppDB (redis-dump -h -p 6380 -d 12 on supervisor).
- Verify encap index and MAC address match between ASICDB the Chassis AppDB
- Repeat with IPv4, IPv6, dual-stack.
- Asic:
"ASIC_STATE:SAI_OBJECT_TYPE_NEIGHBOR_ENTRY:{\"ip\":\"102.0.0.1\",\"rif\":\"oid:0x6000000001290\",\"switch_id\":\"oid:0x21000000000000\"}": {
"expireat": 1550863898.638045,
"ttl": -0.001,
"type": "hash",
"value": {
"SAI_NEIGHBOR_ENTRY_ATTR_DST_MAC_ADDRESS": "6E:3A:88:CF:C6:2A",
"SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX": "1074790407"
}
},
"ASIC_STATE:SAI_OBJECT_TYPE_NEXT_HOP:oid:0x40000000012c2": {
"expireat": 1550863898.637784,
"ttl": -0.001,
"type": "hash",
"value": {
"SAI_NEXT_HOP_ATTR_IP": "102.0.0.1",
"SAI_NEXT_HOP_ATTR_ROUTER_INTERFACE_ID": "oid:0x6000000001290",
"SAI_NEXT_HOP_ATTR_TYPE": "SAI_NEXT_HOP_TYPE_IP"
}
},
- AppDb:
"NEIGH_TABLE:Ethernet8:102.0.0.1": {
"expireat": 1550863889.965874,
"ttl": -0.001,
"type": "hash",
"value": {
"family": "IPv4",
"neigh": "6e:3a:88:cf:c6:2a"
}
},
- Chassis AppDb:
"SYSTEM_NEIGH|Slot7|Asic0|Ethernet8:102.0.0.1": {
"expireat": 1605628181.762964,
"ttl": -0.001,
"type": "hash",
"value": {
"encap_index": "1074790407",
"neigh": "6e:3a:88:cf:c6:2a"
}
},
Verify when local neighbors are established on a linecard, other linecards in the VoQ system will be programmed with neighbor entries.
- When local neighbors are established as in the Local Neighbor testcase, corresponding entries will be established on all other line cards. On each remote card, verify:
- Verify ASIC DB entries on remote linecards.
- Verify impose index=True in ASIC DB.
- Verify MAC address in ASIC DB is the remote neighbor mac.
- Verify encap index for ASIC DB entry matches Chassis App DB.
- Verify router interface OID matches the interface the neighbor was learned on.
- Verify on linecard CLI, show arp/ndp, ip neigh commands.
- For inband port, MAC should be inband port mac in kernel table and LC appDb.
- For inband vlan mode, MAC will be remote ASIC mac in kernel table and LC appdb.
- Verify neighbor table in linecard appdb.
- Verify static route is installed in kernel routing table with /32 (or /128 for IPv6) for neighbor entry.
- Repeat with IPv4, IPv6, dual-stack.
- Asic DB
"ASIC_STATE:SAI_OBJECT_TYPE_NEIGHBOR_ENTRY:{\"ip\":\"101.0.0.1\",\"rif\":\"oid:0x60000000012b3\",\"switch_id\":\"oid:0x21000000000000\"}": {
"expireat": 1550863898.651915,
"ttl": -0.001,
"type": "hash",
"value": {
"SAI_NEIGHBOR_ENTRY_ATTR_DST_MAC_ADDRESS": "4E:49:E4:62:ED:88",
"SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_IMPOSE_INDEX": "true",
"SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX": "1074790407",
"SAI_NEIGHBOR_ENTRY_ATTR_IS_LOCAL": "false"
}
},
"ASIC_STATE:SAI_OBJECT_TYPE_NEXT_HOP:oid:0x40000000012c0": {
"expireat": 1550863898.6276,
"ttl": -0.001,
"type": "hash",
"value": {
"SAI_NEXT_HOP_ATTR_IP": "101.0.0.1",
"SAI_NEXT_HOP_ATTR_ROUTER_INTERFACE_ID": "oid:0x60000000012b3",
"SAI_NEXT_HOP_ATTR_TYPE": "SAI_NEXT_HOP_TYPE_IP"
}
},
- App DB
"NEIGH_TABLE:Inband18:101.0.0.1": {
"expireat": 1550863889.96545,
"ttl": -0.001,
"type": "hash",
"value": {
"family": "IPv4",
"neigh": "14:7b:ac:3a:c9:7f"
}
},
- Chassis App DB
"SYSTEM_NEIGH|Slot8|Asic0|Ethernet23:101.0.0.1": {
"expireat": 1605628181.7629762,
"ttl": -0.001,
"type": "hash",
"value": {
"encap_index": "1074790407",
"neigh": "4e:49:e4:62:ed:88"
}
},
- Host
show ip route
K>* 101.0.0.1/32 [0/0] is directly connected, Inband18, 20:55:26
netstat -rn
101.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 Inband18
In order to verify neighbor behaviors, BGP sessions on the DUT and attached VMs will be temporarily shutdown. This will allow the tests to validate the various table deletes before the entries are recreated.
Verify tables, databases, and kernel routes are correctly deleted when a single neighbor adjacency is cleared.
- On local linecard:
- Clear single address with command:
ip neigh flush to "addr"
. - Verify ARP/NDP entry removed from CLI.
- Verify table entries in ASIC, AppDb are removed for only the cleared address.
- Clear single address with command:
- On Supervisor card:
- Verify Chassis App DB entry are removed for only the cleared address.
- On remote linecards:
- Verify table entries in ASICDB, APPDB, and host ARP table are removed.
- Verify kernel route for cleared address is deleted.
- Restart traffic, verify relearn.
- Repeat with IPv4, IPv6, dual-stack.
Verify tables, databases, and kernel routes are correctly deleted when the entire neighbor table is cleared.
- On local linecard:
- Issue
sonic-clear arp
command. and verify all addresses are removed and kernel routes are deleted on all hosts and ASICs. - Verify ARP/NDP entries are removed from CLI.
- Verify table entries in ASIC, AppDb are removed for all cleared addresses.
- Issue
- On Supervisor card:
- Verify Chassis App DB entry are removed for only the cleared address. Entries for addresses on other line cards should still be present.
- On remote linecards:
- Verify table entries in ASICDB, APPDB, and host ARP table are removed for cleared addresses.
- Verify kernel routes for cleared address are deleted.
- Send full mesh traffic and verify relearn and DB.
- Repeat with IPv4, IPv6, dual-stack.
Verify tables, databases, and kernel routes are unaffected when the front panel port flaps and restores.
- Admin down interface on fanout to cause LOS on DUT.
- On local linecard:
- Verify local interface is down, verify ARP is still present in local database.
- On Supervisor card:
- Verify Chassis App DB entry are still present.
- On remote linecards:
- Verify table entries in ASICDB, APPDB, and host ARP table are present for affected addresses.
- Verify kernel routes are present for affected addresses.
- Admin interface up, verify recreation after restarting traffic.
- Verify ARP entries on linecards and supervisors are still correct.
- Repeat with IPv4, IPv6, dual-stack.
Verify tables, databases, and kernel routes are correctly updated when a unsolicited ARP packet changes the MAC address of learned neighbor.
- Send unsolicited ARP packet into DUT for an IP known by DUT with a different MAC address for the neighbor.
- Change the MAC address of the neighbor VM.
- On local linecard:
- Verify table entries in local ASIC, APP, and host ARP table are updated with new MAC.
- On supervisor card:
- Verify Chassis App DB entry is correct for with the updated MAC address.
- On remote linecards:
- Verify table entries in remote hosts/ASICs in APPDB, and host ARP table are still present with inband MAC address
- Verify ASIC DB is updated with new MAC.
- Verify kernel route in remote hosts are still present to inband port.
- Verify that packets can be sent from local and remote linecards to learned address.
- Repeat with IPv4, IPv6, dual-stack.
Verify tables, databases, and kernel routes are correctly updated when the MAC address of a neighbor changes and is updated via request/reply exchange.
- Change the MAC address on a remote host that is already present in the ARP table.
- Without clearing the entry in the DUT, allow the existing entry to time out and the new reply to have the new MAC address.
- On local linecard:
- Verify table entries in local ASIC, APP, and host ARP table are updated with new MAC.
- On supervisor card:
- Verify Chassis App DB entry is correct for with the updated MAC address.
- On remote linecards:
- Verify table entries in remote hosts/ASICs in APPDB, and host ARP table are still present with inband MAC address
- Verify ASIC DB is updated with new MAC.
- Verify kernel route in remote hosts are still present to inband port.
- Verify that packets can be sent from local and remote linecards to the learned address.
- Repeat with IPv4, IPv6, dual-stack.
Verify port, router interface, and neighbor recovery after disruptive events.
- After the following events:
- chassis power cycle,
- supervisor reboot,
- Verify, as in the previous test cases:
- Local neighbor learning,
- remote neighbor learning and route creation
- timeout and clear of neighbors
Verify Chassis App DB is updated with new interface entry when a new IP Interface is added.
- Add IP to a previously unconfigured port by adding minigraph configuration to that linecard.
- Reload the new minigraph and line card.
- On the line card:
- Verify address state in CLI.
- Verify interface in ASIC DB
- On the supervisor card:
- Verify the interface is present in the SYSTEM_INTERFACE table of the Chassis App DB.
- Verify the OID is unique, and matches the router interface ID in the ASIC DB.
- Verify the slot and port are correct.
- Verify bidirectional traffic to an attached host on the newly created port from local and remote linecards.
- Repeat with IPv4, IPv6, dual-stack.
Verify Chassis App DB is updated with new interface entry when an IP interface is removed from a port.
- Remove IP configuration from a previously configured port by removing the minigraph configuration for that port on the linecard minigraph.
- Reload the new minigraph and line card.
- On the line card:
- Verify address is removed from CLI.
- Verify interface is removed from ASIC DB.
- On the supervisor card:
- Verify the interface is removed from the SYSTEM_INTERFACE table of the Chassis App DB.
- Verify bidirectional traffic to attached host on the port from local and remote ASICs is dropped.
- Repeat with IPv4, IPv6, dual-stack.
Please reference the T2 topology files topo_t2.yml and testbed-t2.png for network topology and sample IP addresses. The addresses and VMS below are taken from that example topology.
VMs attached to line card 1 and line card 2 will be used for this test. DUT Port A&B are on line card 1, D is on line card 2.
The HIDE_INTERNAL route policy will prevent inband and interface address from being advertised to EBGP peers. Looback addresses will be used to test traffic flows across cards and VMs.
---------- DUT ----------
|--- LC1 ---|--- LC2 ---|
VM01T3 -------------|A | |
| F0|F1 D|------------- VM01T1
VM02T3 -------------|B LB1 | LB2 |
VM01T3
- Loopbacks:
- ipv4:
100.1.0.1/32
- ipv6:
2064:100::1/128
- ipv4:
- Ethernet:
- ipv4:
10.0.0.1/31
- ipv6:
FC00:2/126
- ipv4:
VM02T3
- Loopbacks:
- ipv4:
100.1.0.2/32
- ipv6:
2064:100::2/128
- ipv4:
- Ethernet:
- ipv4:
10.0.0.3/31
- ipv6:
FC00:6/126
- ipv4:
VM01T1
- Loopbacks:
- ipv4:
100.1.0.33/32
- ipv6:
2064:100::21/128
- ipv4:
- Ethernet:
- ipv4:
10.0.0.65/31
- ipv6:
FC00:82/126
- ipv4:
DUT
- Linecard 1
- Port A (to VM01T3)
10.0.0.0/31
FC00:1/126
- Port B (to VM02T3)
10.0.0.2/31
FC00:5/126
- Inband IP ( Port F0)
133.133.133.1
2064:133::1
- Loopback LB1
11.1.0.1/32
2064:111::1/128
- Port A (to VM01T3)
- Linecard 2
- Port D (to VM01T1)
10.0.0.64/31
FC00:81/126
- Inband IP (Port F1)
133.133.133.5
2064:133::5
- Loopback LB2
11.1.0.2/32
2064:111::2/128
- Port D (to VM01T1)
Verify the kernel route table is correct based on the topology.
- Verify routes for local addresses on both line cards are directly connected.
- Verify routes for local inband interfaces are directly connected.
- Verify BGP established between line cards.
- Verify routes of remote linecard inband interfaces are connected via local linecard inband interface.
- Verify all learned prefixes from neighbors have their neighbors as next hop.
- Repeat for IPv4 only, IPv6 only, dual-stack.
Verify Host IP forwarding for IPv4 and IPv6 for various packet sizes and ttls to local line card interfaces.
- On linecard 1, send ping from:
- DUT IP interface A to DUT IP Interface B. (10.0.0.0 to 10.0.0.2)
- Repeat for TTL 0,1,2,255
- Repeat for 64, 1500, 9100B packets
- Repeat for IPv6
Verify Host IP forwarding for IPv4 and IPv6 for various packet sizes and ttls to neighbor addresses.
- On linecard 1, send ping from:
- DUT IP Interface on port A to directly connected neighbor address. (10.0.0.0 to 10.0.0.1)
- On Router 01T3, send ping from:
- Router IP interface to DUT address on port A. (10.0.0.1 to 10.0.0.0)
- Repeat for TTL 0,1,2,255
- Repeat for 64, 1500, 9100B packets
- Repeat for IPv6
Verify Host IP forwarding for IPv4 and IPv6 for various packet sizes and ttls to learned route addresses.
- On linecard 1, send ping from:
- DUT IP Interface A to routed loopback address from router 01T3. (10.0.0.0 to 100.1.0.1)
- On Router 01T3, send ping from:
- Router loopback interface to DUT address on port A. (100.1.0.1 to 10.0.0.0)
- Repeat for TTL 0,1,2,255
- Repeat for 64, 1500, 9100B packets
- Repeat for IPv6
Verify IP connectivity over inband interfaces.
- On linecard 1 send ping from:
- Inband interface F0 to inband interface F1 (133.133.133.1 to 133.133.133.5)
- Inband interface F0 to neighbor on port A (133.133.133.1 to 10.0.0.1)
- Repeat for TTL 0,1,2,255
- Repeat for 64, 1500, 9100B packets
- Repeat for IPv6
Verify IP Connectivity to DUT loopback addresses.
- On linecard 1 send ping from:
- Loopback to IP interface of port D (11.1.0.1 to 10.0.0.64)
- Loopback to neighbor on port D (11.1.0.1 to 10.0.0.65)
- Loopback to routed loopback address (11.1.0.1 to 100.1.0.1)
- Loopback to routed loopback address (11.1.0.1 to 100.1.0.33)
- On Router 01T3, send ping from:
- Router loopback interface to DUT loopback address on linecard 1. (100.1.0.1 to 11.1.0.1)
- Router loopback interface to DUT loopback address on linecard 2. (100.1.0.1 to 11.1.0.2)
- Repeat for TTL 0,1,2,255
- Repeat for 64, 1500, 9100B packets
- Repeat for IPv6
Verify end to end routing IPv4/v6, packet sizes, ttl(0,1,2,255)
- On Router 1, send ping from:
- End to end port A to B, ports on same linecard. (100.1.0.1 to 100.1.0.2)
- End to end port A to D, ports across multiple linecards. (100.1.0.1 to 100.1.0.33)
- Repeat for TTL 0,1,2,255
- Repeat for 64, 1500, 9100B packets
- Repeat for IPv6
Traffic to Sonic host interfaces recovers after the front panel port flaps.
- Admin down interface on fanout connected to DUT port A to cause LOS on DUT.
- On linecard 1 verify ping is successful from:
- DUT IP Interface B to DUT Interface D
- DUT Neighbor IP B to DUT Neighbor IP D
- On Router 02T3, verify ping is successful from Router Interface to DUT IP Interface B and D.
- On linecard 1, verify ping fails from:
- DUT IP Interface A to DUT IP interface B and D.
- DUT IP Interface A to attached neighbor.
- On Router 01T3, verify ping fails to all DUT addresses.
- On fanout switch, admin up the downed interface.
- Validate all traffic flows are correct as in test cases 2-7.
- Retry traffic with TTL 0,1,2,255
- Retry traffic with 64, 1500, 9100B packets
- Retry traffic with IPv6
Verify system initialization in Inband VLAN mode.
- Verify vlan inband interface is used when in this mode.
- Verify correct VLAN ID is used on all nodes.
- On each linecard, verify inband VLAN router interfaces are present in ASICDB
- On supervisor card, verify inband VLAN router interfaces are present in Chassis App DB
Verify neighbor adjacency as in arp. Inband port will be replaced with VLAN interface as neighbor interface.
- Repeat tests for:
- Local neighbor learning,
- remote neighbor learning and route creation
- timeout and clearing of neighbors
Verify host reachability as in Host IP Connectivity. VLAN interface will replace inband port as next hop.
- Repeat traffic tests for:
- router interface to remote ports,
- router interface to local and remote neighbors,
- router interface to learned routes.
- inband interface to all addresses.
- DUT loopback interface to all addresses.
Verify VoQ system can be switched between modes when configuration is replaced.
- Regenerate configuration of VoQ system, switching device from inband port to inband VLAN.
- Reboot the chassis.
- Verify system is stable in new mode.
- Restore to inband port mode.