Skip to content

Commit 47c3c1f

Browse files
committed
Add test_soc_ip
Add dedicate testcase `test_soc_ip` to cover the SoC IP kernel route skip logic. Remove the skip soc ip check in `test_Neighbor` Signed-off-by: Longxiang Lyu <[email protected]>
1 parent 617a667 commit 47c3c1f

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

tests/test_mux.py

+26-24
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,6 @@ def create_and_test_neighbor(self, confdb, appdb, asicdb, dvs, dvs_route):
284284
self.add_neighbor(dvs, self.SERV1_IPV6, "00:00:00:00:00:01")
285285
srv1_v6 = self.check_neigh_in_asic_db(asicdb, self.SERV1_IPV6)
286286

287-
self.add_neighbor(dvs, self.SERV1_SOC_IPV4, "00:00:00:00:00:01")
288-
srv1_soc_v4 = self.check_neigh_in_asic_db(asicdb, self.SERV1_SOC_IPV4)
289-
290287
existing_keys = asicdb.get_keys(self.ASIC_NEIGH_TABLE)
291288

292289
self.add_neighbor(dvs, self.SERV2_IPV4, "00:00:00:00:00:02")
@@ -298,47 +295,47 @@ def create_and_test_neighbor(self, confdb, appdb, asicdb, dvs, dvs_route):
298295
dvs_route.check_asicdb_route_entries(
299296
[self.SERV2_IPV4+self.IPV4_MASK, self.SERV2_IPV6+self.IPV6_MASK]
300297
)
301-
self.check_tunnel_route_in_app_db(
302-
dvs,
303-
[self.SERV2_IPV4+self.IPV4_MASK, self.SERV2_IPV6+self.IPV6_MASK]
304-
)
305298

306299
# The first standby route also creates as tunnel Nexthop
307-
self.check_tnl_nexthop_in_asic_db(asicdb, 4)
300+
self.check_tnl_nexthop_in_asic_db(asicdb, 3)
308301

309302
# Change state to Standby. This will delete Neigh and add Route
310303
self.set_mux_state(appdb, "Ethernet0", "standby")
311304

312305
asicdb.wait_for_deleted_entry(self.ASIC_NEIGH_TABLE, srv1_v4)
313306
asicdb.wait_for_deleted_entry(self.ASIC_NEIGH_TABLE, srv1_v6)
314-
asicdb.wait_for_deleted_entry(self.ASIC_NEIGH_TABLE, srv1_soc_v4)
315307
dvs_route.check_asicdb_route_entries(
316-
[self.SERV1_IPV4+self.IPV4_MASK, self.SERV1_IPV6+self.IPV6_MASK, self.SERV1_SOC_IPV4+self.IPV4_MASK]
317-
)
318-
self.check_tunnel_route_in_app_db(
319-
dvs,
320308
[self.SERV1_IPV4+self.IPV4_MASK, self.SERV1_IPV6+self.IPV6_MASK]
321309
)
322-
self.check_tunnel_route_in_app_db(
323-
dvs,
324-
[self.SERV1_SOC_IPV4+self.IPV4_MASK],
325-
expected=False
326-
)
327310

328311
# Change state to Active. This will add Neigh and delete Route
329312
self.set_mux_state(appdb, "Ethernet4", "active")
330313

331314
dvs_route.check_asicdb_deleted_route_entries(
332-
[self.SERV2_IPV4+self.IPV4_MASK, self.SERV2_IPV6+self.IPV6_MASK, self.SERV1_SOC_IPV4+self.IPV4_MASK]
315+
[self.SERV2_IPV4+self.IPV4_MASK, self.SERV2_IPV6+self.IPV6_MASK]
333316
)
334317
self.check_neigh_in_asic_db(asicdb, self.SERV2_IPV4)
335318
self.check_neigh_in_asic_db(asicdb, self.SERV2_IPV6)
336-
self.check_neigh_in_asic_db(asicdb, self.SERV1_SOC_IPV4)
337-
self.check_tunnel_route_in_app_db(
338-
dvs,
339-
[self.SERV1_IPV4+self.IPV4_MASK, self.SERV1_IPV6+self.IPV6_MASK, self.SERV1_SOC_IPV4+self.IPV4_MASK],
340-
expected=False
319+
320+
def create_and_test_soc(self, appdb, asicdb, dvs, dvs_route):
321+
322+
self.set_mux_state(appdb, "Ethernet0", "active")
323+
324+
self.add_fdb(dvs, "Ethernet0", "00-00-00-00-00-01")
325+
self.add_neighbor(dvs, self.SERV1_SOC_IPV4, "00:00:00:00:00:01")
326+
327+
time.sleep(1)
328+
329+
srv1_soc_v4 = self.check_neigh_in_asic_db(asicdb, self.SERV1_SOC_IPV4)
330+
self.check_tunnel_route_in_app_db(dvs, [self.SERV1_SOC_IPV4+self.IPV4_MASK], expected=False)
331+
332+
self.set_mux_state(appdb, "Ethernet0", "standby")
333+
334+
asicdb.wait_for_deleted_entry(self.ASIC_NEIGH_TABLE, srv1_soc_v4)
335+
dvs_route.check_asicdb_route_entries(
336+
[self.SERV1_SOC_IPV4+self.IPV4_MASK]
341337
)
338+
self.check_tunnel_route_in_app_db(dvs, [self.SERV1_SOC_IPV4+self.IPV4_MASK], expected=False)
342339

343340
marker = dvs.add_log_marker()
344341

@@ -1149,6 +1146,11 @@ def test_neighbor_miss_no_peer(
11491146
for ip in test_ips:
11501147
self.check_neighbor_state(dvs, dvs_route, ip, expect_route=False)
11511148

1149+
def test_soc_ip(self, dvs, dvs_route, setup_vlan, setup_mux_cable, testlog):
1150+
appdb = swsscommon.DBConnector(swsscommon.APPL_DB, dvs.redis_sock, 0)
1151+
asicdb = dvs.get_asic_db()
1152+
1153+
self.create_and_test_soc(appdb, asicdb, dvs, dvs_route)
11521154

11531155
# Add Dummy always-pass test at end as workaroud
11541156
# for issue when Flaky fail on final test it invokes module tear-down before retrying

0 commit comments

Comments
 (0)