Skip to content

Commit 07f4cd8

Browse files
Enable vxlan test (sonic-net#620)
* Enabling decap vxlan test
1 parent 9fda944 commit 07f4cd8

File tree

1 file changed

+33
-13
lines changed

1 file changed

+33
-13
lines changed

tests/test_vxlan_tunnel.py

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def create_vlan(dvs, vlan_name, vlan_ids):
101101
return
102102

103103

104-
def create_vxlan_tunnel(dvs, name, src_ip, dst_ip, tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, skip_dst_ip=False):
104+
def create_vxlan_tunnel(dvs, name, src_ip, dst_ip, tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, lo_id, skip_dst_ip=False):
105105
asic_db = swsscommon.DBConnector(swsscommon.ASIC_DB, dvs.redis_sock, 0)
106106
conf_db = swsscommon.DBConnector(swsscommon.CONFIG_DB, dvs.redis_sock, 0)
107107

@@ -143,13 +143,13 @@ def create_vxlan_tunnel(dvs, name, src_ip, dst_ip, tunnel_map_ids, tunnel_map_en
143143
}
144144
)
145145

146-
# FIXME: !!!
147-
# check_object(asic_db, "ASIC_STATE:SAI_OBJECT_TYPE_TUNNEL", tunnel_id,
148-
# {
149-
# 'SAI_TUNNEL_ATTR_TYPE': 'SAI_TUNNEL_TYPE_VXLAN',
150-
# 'SAI_TUNNEL_ATTR_DECAP_MAPPERS': '1:%s' % tunnel_map_id,
151-
# }
152-
# )
146+
check_object(asic_db, "ASIC_STATE:SAI_OBJECT_TYPE_TUNNEL", tunnel_id,
147+
{
148+
'SAI_TUNNEL_ATTR_TYPE': 'SAI_TUNNEL_TYPE_VXLAN',
149+
'SAI_TUNNEL_ATTR_UNDERLAY_INTERFACE': lo_id,
150+
'SAI_TUNNEL_ATTR_DECAP_MAPPERS': '1:%s' % tunnel_map_id,
151+
}
152+
)
153153

154154
tunnel_type = 'SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2P' if dst_ip != '0.0.0.0' else 'SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2MP'
155155
expected_attributes = {
@@ -214,15 +214,35 @@ def create_vxlan_tunnel_entry(dvs, tunnel_name, tunnel_map_entry_name, tunnel_ma
214214

215215
return
216216

217+
def get_lo(dvs):
218+
asic_db = swsscommon.DBConnector(swsscommon.ASIC_DB, dvs.redis_sock, 0)
219+
vr_id = get_default_vr_id(asic_db)
220+
221+
tbl = swsscommon.Table(asic_db, 'ASIC_STATE:SAI_OBJECT_TYPE_ROUTER_INTERFACE')
222+
223+
entries = tbl.getKeys()
224+
lo_id = None
225+
for entry in entries:
226+
status, fvs = tbl.get(entry)
227+
assert status, "Got an error when get a key"
228+
for key, value in fvs:
229+
if key == 'SAI_ROUTER_INTERFACE_ATTR_TYPE' and value == 'SAI_ROUTER_INTERFACE_TYPE_LOOPBACK':
230+
lo_id = entry
231+
break
232+
else:
233+
assert False, 'Don\'t found loopback id'
234+
235+
return lo_id
236+
217237

218238
def test_vxlan_term_orch(dvs):
219-
return
220239
tunnel_map_ids = set()
221240
tunnel_map_entry_ids = set()
222241
tunnel_ids = set()
223242
tunnel_term_ids = set()
224243
tunnel_map_map = {}
225244
vlan_ids = get_exist_entries(dvs, "ASIC_STATE:SAI_OBJECT_TYPE_VLAN")
245+
loopback_id = get_lo(dvs)
226246

227247
create_vlan(dvs, "Vlan50", vlan_ids)
228248
create_vlan(dvs, "Vlan51", vlan_ids)
@@ -234,25 +254,25 @@ def test_vxlan_term_orch(dvs):
234254
create_vlan(dvs, "Vlan57", vlan_ids)
235255

236256
tunnel_map_map['tunnel_1'] = create_vxlan_tunnel(dvs, 'tunnel_1', '10.0.0.1', '100.100.100.1',
237-
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)
257+
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, loopback_id)
238258

239259
create_vxlan_tunnel_entry(dvs, 'tunnel_1', 'entry_1', tunnel_map_map['tunnel_1'], 'Vlan50', '850',
240260
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)
241261

242262
tunnel_map_map['tunnel_2'] = create_vxlan_tunnel(dvs, 'tunnel_2', '11.0.0.2', '101.101.101.2',
243-
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)
263+
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, loopback_id)
244264

245265
create_vxlan_tunnel_entry(dvs, 'tunnel_2', 'entry_1', tunnel_map_map['tunnel_2'], 'Vlan51', '851',
246266
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)
247267

248268
tunnel_map_map['tunnel_3'] = create_vxlan_tunnel(dvs, 'tunnel_3', '12.0.0.3', '0.0.0.0',
249-
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)
269+
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, loopback_id)
250270

251271
create_vxlan_tunnel_entry(dvs, 'tunnel_3', 'entry_1', tunnel_map_map['tunnel_3'], 'Vlan52', '852',
252272
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)
253273

254274
tunnel_map_map['tunnel_4'] = create_vxlan_tunnel(dvs, 'tunnel_4', '15.0.0.5', '0.0.0.0',
255-
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, True)
275+
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids, loopback_id, True)
256276

257277
create_vxlan_tunnel_entry(dvs, 'tunnel_4', 'entry_1', tunnel_map_map['tunnel_4'], 'Vlan53', '853',
258278
tunnel_map_ids, tunnel_map_entry_ids, tunnel_ids, tunnel_term_ids)

0 commit comments

Comments
 (0)