Skip to content

Commit c4bf94c

Browse files
Fix vstest to handle outbound_direction_lookup
Signed-off-by: Prabhat Aravind <[email protected]>
1 parent f8289dc commit c4bf94c

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

tests/dash/test_dash_vnet.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,21 @@ def test_appliance(self, dash_db: DashDB):
4949
self.sip = "10.0.0.1"
5050
self.vm_vni = "4321"
5151
self.local_region_id = "10"
52+
53+
# verify behavior when outbound_direction_lookup is specified
54+
pb = Appliance()
55+
pb.sip.ipv4 = socket.htonl(int(ipaddress.ip_address(self.sip)))
56+
pb.vm_vni = int(self.vm_vni)
57+
pb.local_region_id = int(self.local_region_id)
58+
pb.outbound_direction_lookup = "dst_mac"
59+
dash_db.create_appliance(self.appliance_id, {"pb": pb.SerializeToString()})
60+
direction_keys = dash_db.wait_for_asic_db_keys(ASIC_DIRECTION_LOOKUP_TABLE)
61+
dl_attrs = dash_db.get_asic_db_entry(ASIC_DIRECTION_LOOKUP_TABLE, direction_keys[0])
62+
assert_sai_attribute_exists("SAI_DIRECTION_LOOKUP_ENTRY_ATTR_ACTION", dl_attrs, "SAI_DIRECTION_LOOKUP_ENTRY_ACTION_SET_OUTBOUND_DIRECTION")
63+
assert_sai_attribute_exists("SAI_DIRECTION_LOOKUP_ENTRY_ATTR_DASH_ENI_MAC_OVERRIDE_TYPE", dl_attrs, "SAI_DASH_ENI_MAC_OVERRIDE_TYPE_DST_MAC")
64+
dash_db.remove_appliance(self.appliance_id)
65+
time.sleep(2)
66+
5267
pb = Appliance()
5368
pb.sip.ipv4 = socket.htonl(int(ipaddress.ip_address(self.sip)))
5469
pb.vm_vni = int(self.vm_vni)
@@ -62,7 +77,8 @@ def test_appliance(self, dash_db: DashDB):
6277
direction_keys = dash_db.wait_for_asic_db_keys(ASIC_DIRECTION_LOOKUP_TABLE)
6378
dl_attrs = dash_db.get_asic_db_entry(ASIC_DIRECTION_LOOKUP_TABLE, direction_keys[0])
6479
assert_sai_attribute_exists("SAI_DIRECTION_LOOKUP_ENTRY_ATTR_ACTION", dl_attrs, "SAI_DIRECTION_LOOKUP_ENTRY_ACTION_SET_OUTBOUND_DIRECTION")
65-
assert_sai_attribute_exists("SAI_DIRECTION_LOOKUP_ENTRY_ATTR_DASH_ENI_MAC_OVERRIDE_TYPE", dl_attrs, "SAI_DASH_ENI_MAC_OVERRIDE_TYPE_DST_MAC")
80+
# When outbound_direction_lookup is not specified, src mac is used by default
81+
assert_sai_attribute_exists("SAI_DIRECTION_LOOKUP_ENTRY_ATTR_DASH_ENI_MAC_OVERRIDE_TYPE", dl_attrs, "SAI_DASH_ENI_MAC_OVERRIDE_TYPE_SRC_MAC")
6682

6783
vip_keys = dash_db.wait_for_asic_db_keys(ASIC_VIP_TABLE)
6884
vip_attrs = dash_db.get_asic_db_entry(ASIC_VIP_TABLE, vip_keys[0])

0 commit comments

Comments
 (0)