@@ -89,7 +89,9 @@ def create_l3_intf(self, interface, vrf_name):
89
89
return get_created_entry (self .adb .db_connection , table , existed_entries )
90
90
91
91
def remove_l3_intf (self , interface ):
92
+ initial_interface_entries = set (self .adb .get_keys ("ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE" ))
92
93
self .cdb .delete_entry ("INTERFACE" , interface )
94
+ self .adb .wait_for_n_keys ("ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE" , len (initial_interface_entries ) - 1 )
93
95
94
96
def get_nexthop_id (self , ip_address ):
95
97
next_hop_entries = get_exist_entries (self .adb .db_connection , "ASIC_STATE:SAI_OBJECT_TYPE_NEXT_HOP" )
@@ -687,7 +689,9 @@ def create_l3_intf(self, interface, vrf_name):
687
689
return get_created_entry (self .adb .db_connection , table , existed_entries )
688
690
689
691
def remove_l3_intf (self , interface ):
692
+ initial_interface_entries = set (self .adb .get_keys ("ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE" ))
690
693
self .cdb .delete_entry ("INTERFACE" , interface )
694
+ self .adb .wait_for_n_keys ("ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE" , len (initial_interface_entries ) - 1 )
691
695
692
696
def get_nexthop_id (self , ip_address ):
693
697
next_hop_entries = get_exist_entries (self .adb .db_connection , "ASIC_STATE:SAI_OBJECT_TYPE_NEXT_HOP" )
@@ -808,9 +812,8 @@ def teardown_srv6(self, dvs):
808
812
self .remove_ip_address ("Ethernet104" , "192.0.2.2/30" )
809
813
810
814
# remove interface
811
- initial_interface_entries = set (self .adb .get_keys ("ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE" ))
812
815
self .remove_l3_intf ("Ethernet104" )
813
- self . adb . wait_for_n_keys ( "ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE" , len ( initial_interface_entries ) - 1 )
816
+
814
817
815
818
def test_AddRemoveSrv6MySidEnd (self , dvs , testlog ):
816
819
@@ -821,7 +824,7 @@ def test_AddRemoveSrv6MySidEnd(self, dvs, testlog):
821
824
self .setup_srv6 (dvs )
822
825
823
826
# configure srv6 locator
824
- dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/64 block-len 32 node-len 16 func-bits 16\" " )
827
+ dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/48 block-len 32 node-len 16 func-bits 16\" " )
825
828
826
829
# create srv6 mysid end behavior
827
830
dvs .runcmd ("ip -6 route add fc00:0:1:64::/128 encap seg6local action End dev sr0" )
@@ -857,6 +860,7 @@ def test_AddRemoveSrv6MySidEnd(self, dvs, testlog):
857
860
858
861
self .teardown_srv6 (dvs )
859
862
863
+
860
864
def test_AddRemoveSrv6MySidEndX (self , dvs , testlog ):
861
865
862
866
_ , output = dvs .runcmd (f"vtysh -c 'show zebra dplane providers'" )
@@ -866,7 +870,7 @@ def test_AddRemoveSrv6MySidEndX(self, dvs, testlog):
866
870
self .setup_srv6 (dvs )
867
871
868
872
# configure srv6 locator
869
- dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/64 block-len 32 node-len 16 func-bits 16\" " )
873
+ dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/48 block-len 32 node-len 16 func-bits 16\" " )
870
874
871
875
# create srv6 mysid end.x behavior
872
876
dvs .runcmd ("ip -6 route add fc00:0:1:65::/128 encap seg6local action End.X nh6 2001::1 dev sr0" )
@@ -906,6 +910,7 @@ def test_AddRemoveSrv6MySidEndX(self, dvs, testlog):
906
910
907
911
self .teardown_srv6 (dvs )
908
912
913
+
909
914
@pytest .mark .skipif (LooseVersion (platform .release ()) < LooseVersion ('5.11' ),
910
915
reason = "This test requires Linux kernel 5.11 or higher" )
911
916
def test_AddRemoveSrv6MySidEndDT4 (self , dvs , testlog ):
@@ -920,7 +925,7 @@ def test_AddRemoveSrv6MySidEndDT4(self, dvs, testlog):
920
925
dvs .runcmd ("sysctl -w net.vrf.strict_mode=1" )
921
926
922
927
# configure srv6 locator
923
- dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/64 block-len 32 node-len 16 func-bits 16\" " )
928
+ dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/48 block-len 32 node-len 16 func-bits 16\" " )
924
929
925
930
# create srv6 mysid end.dt4 behavior
926
931
dvs .runcmd ("ip -6 route add fc00:0:1:6b::/128 encap seg6local action End.DT4 vrftable {} dev sr0" .format (self .vrf_table_id ))
@@ -956,6 +961,7 @@ def test_AddRemoveSrv6MySidEndDT4(self, dvs, testlog):
956
961
957
962
self .teardown_srv6 (dvs )
958
963
964
+
959
965
def test_AddRemoveSrv6MySidEndDT6 (self , dvs , testlog ):
960
966
961
967
_ , output = dvs .runcmd (f"vtysh -c 'show zebra dplane providers'" )
@@ -965,7 +971,7 @@ def test_AddRemoveSrv6MySidEndDT6(self, dvs, testlog):
965
971
self .setup_srv6 (dvs )
966
972
967
973
# configure srv6 locator
968
- dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/64 block-len 32 node-len 16 func-bits 16\" " )
974
+ dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/48 block-len 32 node-len 16 func-bits 16\" " )
969
975
970
976
# create srv6 mysid end.dt6 behavior
971
977
dvs .runcmd ("ip -6 route add fc00:0:1:6b::/128 encap seg6local action End.DT6 vrftable {} dev sr0" .format (self .vrf_table_id ))
@@ -1003,6 +1009,7 @@ def test_AddRemoveSrv6MySidEndDT6(self, dvs, testlog):
1003
1009
1004
1010
self .teardown_srv6 (dvs )
1005
1011
1012
+
1006
1013
@pytest .mark .skipif (LooseVersion (platform .release ()) < LooseVersion ('5.14' ),
1007
1014
reason = "This test requires Linux kernel 5.14 or higher" )
1008
1015
def test_AddRemoveSrv6MySidEndDT46 (self , dvs , testlog ):
@@ -1017,7 +1024,7 @@ def test_AddRemoveSrv6MySidEndDT46(self, dvs, testlog):
1017
1024
dvs .runcmd ("sysctl -w net.vrf.strict_mode=1" )
1018
1025
1019
1026
# configure srv6 locator
1020
- dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/64 block-len 32 node-len 16 func-bits 16\" " )
1027
+ dvs .runcmd ("vtysh -c \" configure terminal\" -c \" segment-routing\" -c \" srv6\" -c \" locators\" -c \" locator loc1\" -c \" prefix fc00:0:1::/48 block-len 32 node-len 16 func-bits 16\" " )
1021
1028
1022
1029
# create srv6 mysid end.dt46 behavior
1023
1030
dvs .runcmd ("ip -6 route add fc00:0:1:6b::/128 encap seg6local action End.DT46 vrftable {} dev sr0" .format (self .vrf_table_id ))
@@ -1053,6 +1060,7 @@ def test_AddRemoveSrv6MySidEndDT46(self, dvs, testlog):
1053
1060
1054
1061
self .teardown_srv6 (dvs )
1055
1062
1063
+
1056
1064
@pytest .mark .skipif (LooseVersion (platform .release ()) < LooseVersion ('6.1' ),
1057
1065
reason = "This test requires Linux kernel 6.1 or higher" )
1058
1066
def test_AddRemoveSrv6MySidUN (self , dvs , testlog ):
@@ -1100,6 +1108,7 @@ def test_AddRemoveSrv6MySidUN(self, dvs, testlog):
1100
1108
1101
1109
self .teardown_srv6 (dvs )
1102
1110
1111
+
1103
1112
@pytest .mark .skipif (LooseVersion (platform .release ()) < LooseVersion ('6.6' ),
1104
1113
reason = "This test requires Linux kernel 6.6 or higher" )
1105
1114
def test_AddRemoveSrv6MySidUA (self , dvs , testlog ):
@@ -1149,6 +1158,7 @@ def test_AddRemoveSrv6MySidUA(self, dvs, testlog):
1149
1158
1150
1159
self .teardown_srv6 (dvs )
1151
1160
1161
+
1152
1162
@pytest .mark .skipif (LooseVersion (platform .release ()) < LooseVersion ('5.11' ),
1153
1163
reason = "This test requires Linux kernel 5.11 or higher" )
1154
1164
def test_AddRemoveSrv6MySidUDT4 (self , dvs , testlog ):
@@ -1199,6 +1209,7 @@ def test_AddRemoveSrv6MySidUDT4(self, dvs, testlog):
1199
1209
1200
1210
self .teardown_srv6 (dvs )
1201
1211
1212
+
1202
1213
def test_AddRemoveSrv6MySidUDT6 (self , dvs , testlog ):
1203
1214
1204
1215
_ , output = dvs .runcmd (f"vtysh -c 'show zebra dplane providers'" )
@@ -1246,6 +1257,7 @@ def test_AddRemoveSrv6MySidUDT6(self, dvs, testlog):
1246
1257
1247
1258
self .teardown_srv6 (dvs )
1248
1259
1260
+
1249
1261
@pytest .mark .skipif (LooseVersion (platform .release ()) < LooseVersion ('5.14' ),
1250
1262
reason = "This test requires Linux kernel 5.14 or higher" )
1251
1263
def test_AddRemoveSrv6MySidUDT46 (self , dvs , testlog ):
0 commit comments