in ptf/saihash.py [0:0]
def setUp(self):
super(SAIHashTest, self).setUp()
dmac1 = '00:11:11:11:11:11'
dmac2 = '00:22:22:22:22:22'
dmac3 = '00:33:33:33:33:33'
dmac4 = '00:44:44:44:44:44'
dmac5 = '00:55:55:55:55:55'
dmac6 = '00:66:66:66:66:66'
dmac7 = '00:77:77:77:77:77'
nhop_ip1 = '11.11.11.11'
nhop_ip2 = '22.22.22.22'
nhop_ip3 = '33.33.33.33'
nhop_ip4 = '44.44.44.44'
nhop_ip5 = '44.55.55.55'
nhop_ip6 = '44.66.66.66'
nhop_ip7 = '44.77.77.77'
# set switch src mac address
sai_thrift_set_switch_attribute(
self.client,
src_mac_address=ROUTER_MAC)
self.lag1_rif = sai_thrift_create_router_interface(
self.client, type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.default_vrf, port_id=self.lag1,
admin_v4_state=True)
self.lag2_rif = sai_thrift_create_router_interface(
self.client, type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.default_vrf, port_id=self.lag2,
admin_v4_state=True)
self.port15_rif = sai_thrift_create_router_interface(
self.client, type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.default_vrf, port_id=self.port15,
admin_v4_state=True)
# create vlan 200 with port0 and lag1
self.vlan200 = sai_thrift_create_vlan(self.client, vlan_id=200)
self.assertNotEqual(self.vlan200, 0)
self.vlan200_member1 = sai_thrift_create_vlan_member(
self.client, vlan_id=self.vlan200, bridge_port_id=self.port0_bp,
vlan_tagging_mode=SAI_VLAN_TAGGING_MODE_UNTAGGED)
self.vlan200_member2 = sai_thrift_create_vlan_member(
self.client, vlan_id=self.vlan200, bridge_port_id=self.lag1_bp,
vlan_tagging_mode=SAI_VLAN_TAGGING_MODE_UNTAGGED)
sai_thrift_set_port_attribute(
self.client,
self.port0,
port_vlan_id=200)
sai_thrift_set_lag_attribute(self.client, self.lag1, port_vlan_id=200)
# test neighbor creation
self.neighbor_entry10 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.port10_rif,
sai_ipaddress(nhop_ip1))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry10,
dst_mac_address=dmac1)
self.neighbor_entry11 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.port11_rif,
sai_ipaddress(nhop_ip2))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry11,
dst_mac_address=dmac2)
self.neighbor_entry12 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.port12_rif,
sai_ipaddress(nhop_ip3))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry12,
dst_mac_address=dmac3)
self.neighbor_entry13 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.port13_rif,
sai_ipaddress(nhop_ip4))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry13,
dst_mac_address=dmac4)
self.neighbor_entry15 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.lag1_rif,
sai_ipaddress(nhop_ip5))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry15,
dst_mac_address=dmac5)
self.neighbor_entry16 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.lag2_rif,
sai_ipaddress(nhop_ip6))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry16,
dst_mac_address=dmac6)
self.neighbor_entry17 = sai_thrift_neighbor_entry_t(
self.switch_id,
self.lag1_rif,
sai_ipaddress(nhop_ip7))
sai_thrift_create_neighbor_entry(
self.client,
self.neighbor_entry17,
dst_mac_address=dmac7)
self.nhop1 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.port10_rif, ip=sai_ipaddress(nhop_ip1))
self.nhop2 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.port11_rif, ip=sai_ipaddress(nhop_ip2))
self.nhop3 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.port12_rif, ip=sai_ipaddress(nhop_ip3))
self.nhop4 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.port13_rif, ip=sai_ipaddress(nhop_ip4))
self.nhop3_lag1 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.lag1_rif, ip=sai_ipaddress(nhop_ip7))
self.nhop4_lag2 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.lag2_rif, ip=sai_ipaddress(nhop_ip4))
self.nhop5_lag1 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.lag1_rif, ip=sai_ipaddress(nhop_ip5))
self.nhop6_lag2 = sai_thrift_create_next_hop(
self.client, type=SAI_NEXT_HOP_TYPE_IP,
router_interface_id=self.lag2_rif, ip=sai_ipaddress(nhop_ip6))
self.nhop_group1 = sai_thrift_create_next_hop_group(
self.client, type=SAI_NEXT_HOP_GROUP_TYPE_ECMP)
self.nh_group1_member1 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group1,
next_hop_id=self.nhop1)
self.nh_group1_member2 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group1,
next_hop_id=self.nhop2)
self.nh_group1_member3 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group1,
next_hop_id=self.nhop3)
self.nh_group1_member4 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group1,
next_hop_id=self.nhop4)
self.route0 = sai_thrift_route_entry_t(
switch_id=self.switch_id,
destination=sai_ipprefix('10.10.10.1/16'),
vr_id=self.default_vrf)
status = sai_thrift_create_route_entry(
self.client,
self.route0,
next_hop_id=self.nhop_group1)
self.assertEqual(status, SAI_STATUS_SUCCESS)
self.nhop_group2 = sai_thrift_create_next_hop_group(
self.client, type=SAI_NEXT_HOP_GROUP_TYPE_ECMP)
self.nh_group2_member1 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group2,
next_hop_id=self.nhop5_lag1)
self.nh_group2_member2 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group2,
next_hop_id=self.nhop6_lag2)
# create route entry for nhop_group2
self.route1 = sai_thrift_route_entry_t(
switch_id=self.switch_id,
destination=sai_ipprefix('20.20.20.1/16'),
vr_id=self.default_vrf)
status = sai_thrift_create_route_entry(
self.client,
self.route1,
next_hop_id=self.nhop_group2)
self.assertEqual(status, SAI_STATUS_SUCCESS)
# create route entry for nhop_group3 Lag1 only
self.nhop_group3 = sai_thrift_create_next_hop_group(
self.client,
type=SAI_NEXT_HOP_GROUP_TYPE_ECMP)
self.nh_group3_member1 = sai_thrift_create_next_hop_group_member(
self.client,
next_hop_group_id=self.nhop_group3,
next_hop_id=self.nhop3_lag1)
self.route2 = sai_thrift_route_entry_t(
switch_id=self.switch_id,
destination=sai_ipprefix('10.70.70.1/16'),
vr_id=self.default_vrf)
status = sai_thrift_create_route_entry(
self.client,
self.route2,
next_hop_id=self.nhop_group3)
self.assertEqual(status, SAI_STATUS_SUCCESS)