Skip to content

Commit 5db32ee

Browse files
committed
Changes #5 Fixing compilation
1 parent 44b7d4a commit 5db32ee

7 files changed

Lines changed: 67 additions & 65 deletions

File tree

orchagent/orchdaemon.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ bool OrchDaemon::init()
155155
gDirectory.set(vxlan_tunnel_map_orch);
156156
VxlanVrfMapOrch *vxlan_vrf_orch = new VxlanVrfMapOrch(m_applDb, APP_VXLAN_VRF_TABLE_NAME);
157157
gDirectory.set(vxlan_vrf_orch);
158-
VxlanTunnelOrch *vxlan_tunnel_orch; = new VxlanTunnelOrch(m_stateDb, m_applDb, APP_VXLAN_TUNNEL_TABLE_NAME);
159158

160159

161160
EvpnNvoOrch* evpn_nvo_orch = new EvpnNvoOrch(m_applDb, APP_VXLAN_EVPN_NVO_TABLE_NAME);
@@ -317,6 +316,7 @@ bool OrchDaemon::init()
317316
m_orchList.push_back(chassis_frontend_orch);
318317
m_orchList.push_back(vrf_orch);
319318

319+
VxlanTunnelOrch *vxlan_tunnel_orch = NULL;
320320
if (platform == MLNX_PLATFORM_SUBSTRING)
321321
{
322322
EvpnRemoteVnip2mpOrch* evpn_remote_vni_orch = new EvpnRemoteVnip2mpOrch(m_applDb, APP_VXLAN_REMOTE_VNI_TABLE_NAME);

orchagent/port.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ struct VlanMemberEntry
3232

3333
typedef std::map<sai_vlan_id_t, VlanMemberEntry> vlan_members_t;
3434

35-
typedef std::map<string, sai_object_id_t> endpoint_ip_l2mc_group_member_map_t;
35+
typedef std::map<std::string, sai_object_id_t> endpoint_ip_l2mc_group_member_map_t;
3636

3737
struct VlanInfo
3838
{
@@ -42,7 +42,7 @@ struct VlanInfo
4242
sai_vlan_flood_control_type_t uuc_flood_type = SAI_VLAN_FLOOD_CONTROL_TYPE_ALL;
4343
sai_vlan_flood_control_type_t umc_flood_type = SAI_VLAN_FLOOD_CONTROL_TYPE_ALL;
4444
sai_vlan_flood_control_type_t bc_flood_type = SAI_VLAN_FLOOD_CONTROL_TYPE_ALL;
45-
spai_object_id_t l2mc_group_id = SAI_NULL_OBJECT_ID;
45+
sai_object_id_t l2mc_group_id = SAI_NULL_OBJECT_ID;
4646
endpoint_ip_l2mc_group_member_map_t l2mc_members;
4747
};
4848

orchagent/portsorch.cpp

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -406,15 +406,15 @@ PortsOrch::PortsOrch(DBConnector *db, vector<table_name_with_pri_t> &tableNames,
406406

407407
if (sai_query_attribute_enum_values_capability(gSwitchId, SAI_OBJECT_TYPE_VLAN,
408408
SAI_VLAN_ATTR_UNKNOWN_UNICAST_FLOOD_CONTROL_TYPE,
409-
values) != SAI_STATUS_SUCCESS)
409+
&values) != SAI_STATUS_SUCCESS)
410410
{
411411
SWSS_LOG_NOTICE("This device does not support unknown unicast flood control types");
412412
}
413413
else
414414
{
415415
for (uint32_t idx = 0; idx < values.count; idx++)
416416
{
417-
uuc_sup_flood_control_type.insert(values.list[idx]);
417+
uuc_sup_flood_control_type.insert(static_cast<sai_vlan_flood_control_type_t>(values.list[idx]));
418418
}
419419
}
420420

@@ -424,15 +424,15 @@ PortsOrch::PortsOrch(DBConnector *db, vector<table_name_with_pri_t> &tableNames,
424424

425425
if (sai_query_attribute_enum_values_capability(gSwitchId, SAI_OBJECT_TYPE_VLAN,
426426
SAI_VLAN_ATTR_UNKNOWN_MULTICAST_FLOOD_CONTROL_TYPE,
427-
values) != SAI_STATUS_SUCCESS)
427+
&values) != SAI_STATUS_SUCCESS)
428428
{
429429
SWSS_LOG_NOTICE("This device does not support unknown multicast flood control types");
430430
}
431431
else
432432
{
433433
for (uint32_t idx = 0; idx < values.count; idx++)
434434
{
435-
umc_sup_flood_control_type.insert(values.list[idx]);
435+
umc_sup_flood_control_type.insert(static_cast<sai_vlan_flood_control_type_t>(values.list[idx]));
436436
}
437437
}
438438

@@ -442,15 +442,15 @@ PortsOrch::PortsOrch(DBConnector *db, vector<table_name_with_pri_t> &tableNames,
442442

443443
if (sai_query_attribute_enum_values_capability(gSwitchId, SAI_OBJECT_TYPE_VLAN,
444444
SAI_VLAN_ATTR_BROADCAST_FLOOD_CONTROL_TYPE,
445-
values) != SAI_STATUS_SUCCESS)
445+
&values) != SAI_STATUS_SUCCESS)
446446
{
447447
SWSS_LOG_NOTICE("This device does not support broadcast flood control types");
448448
}
449449
else
450450
{
451451
for (uint32_t idx = 0; idx < values.count; idx++)
452452
{
453-
bc_sup_flood_control_type.insert(values.list[idx]);
453+
bc_sup_flood_control_type.insert(static_cast<sai_vlan_flood_control_type_t>(values.list[idx]));
454454
}
455455
}
456456

@@ -4019,7 +4019,7 @@ bool PortsOrch::addVlan(string vlan_alias)
40194019
umc_flood_type = SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED;
40204020
}
40214021

4022-
if(bc_sup_flood_control_type.find(SAI_VLAN_ATTR_BROADCAST_FLOOD_CONTROL_TYPE)
4022+
if(bc_sup_flood_control_type.find(SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED)
40234023
!= umc_sup_flood_control_type.end())
40244024
{
40254025
attr.id = SAI_VLAN_ATTR_BROADCAST_FLOOD_CONTROL_TYPE;
@@ -4128,13 +4128,13 @@ bool PortsOrch::getVlanByVlanId(sai_vlan_id_t vlan_id, Port &vlan)
41284128
return false;
41294129
}
41304130

4131-
bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string &tagging_mode, string end_point_ip)
4131+
bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip)
41324132
{
41334133
SWSS_LOG_ENTER();
41344134

41354135
sai_object_id_t l2mc_group_id = SAI_NULL_OBJECT_ID;
41364136
sai_status_t status;
4137-
4137+
sai_attribute_t attr;
41384138

41394139
if (vlan.m_vlan_info.l2mc_group_id == SAI_NULL_OBJECT_ID)
41404140
{
@@ -4144,7 +4144,6 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string &tagging_mode,
41444144
SWSS_LOG_ERROR("Failed to create l2mc flood group");
41454145
return false;
41464146
}
4147-
sai_attribute_t attr;
41484147

41494148
if (vlan.m_vlan_info.uuc_flood_type == SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED)
41504149
{
@@ -4218,19 +4217,20 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string &tagging_mode,
42184217

42194218
sai_object_id_t l2mc_group_member = SAI_NULL_OBJECT_ID;
42204219
status = sai_l2mc_group_api->create_l2mc_group_member(&l2mc_group_member, gSwitchId,
4221-
static_cast<uint32>attrs.size(),
4220+
static_cast<uint32_t>(attrs.size()),
42224221
attrs.data());
42234222
if (status != SAI_STATUS_FAILURE)
42244223
{
42254224
SWSS_LOG_ERROR("Failed to create l2mc group member for adding tunnel %s to vlan %hu",
42264225
end_point_ip.c_str(), vlan.m_vlan_info.vlan_id);
42274226
return false;
42284227
}
4229-
vlan.m_vlan_info[end_point_ip] = l2mc_group_member;
4228+
vlan.m_vlan_info.l2mc_members[end_point_ip] = l2mc_group_member;
42304229
return true;
42314230
}
42324231

4233-
bool PortsOrch::createVlanMember(Port &vlan, Port &port, string &tagging_mode)
4232+
bool PortsOrch::createVlanMember(Port &vlan, Port &port, sai_vlan_tagging_mode_t &sai_tagging_mode,
4233+
sai_object_id_t &vlan_member_id)
42344234
{
42354235
SWSS_LOG_ENTER();
42364236

@@ -4245,19 +4245,10 @@ bool PortsOrch::createVlanMember(Port &vlan, Port &port, string &tagging_mode)
42454245
attr.value.oid = port.m_bridge_port_id;
42464246
attrs.push_back(attr);
42474247

4248-
sai_vlan_tagging_mode_t sai_tagging_mode = SAI_VLAN_TAGGING_MODE_TAGGED;
42494248
attr.id = SAI_VLAN_MEMBER_ATTR_VLAN_TAGGING_MODE;
4250-
if (tagging_mode == "untagged")
4251-
sai_tagging_mode = SAI_VLAN_TAGGING_MODE_UNTAGGED;
4252-
else if (tagging_mode == "tagged")
4253-
sai_tagging_mode = SAI_VLAN_TAGGING_MODE_TAGGED;
4254-
else if (tagging_mode == "priority_tagged")
4255-
sai_tagging_mode = SAI_VLAN_TAGGING_MODE_PRIORITY_TAGGED;
4256-
else assert(false);
42574249
attr.value.s32 = sai_tagging_mode;
42584250
attrs.push_back(attr);
42594251

4260-
sai_object_id_t vlan_member_id;
42614252
sai_status_t status = sai_vlan_api->create_vlan_member(&vlan_member_id, gSwitchId, (uint32_t)attrs.size(), attrs.data());
42624253
if (status != SAI_STATUS_SUCCESS)
42634254
{
@@ -4275,24 +4266,32 @@ bool PortsOrch::createVlanMember(Port &vlan, Port &port, string &tagging_mode)
42754266

42764267
}
42774268

4278-
bool PortsOrch::addVlanMember(Port &vlan, Port &port, string &tagging_mode, string end_point_ip = "")
4269+
bool PortsOrch::addVlanMember(Port &vlan, Port &port, string &tagging_mode, string end_point_ip)
42794270
{
42804271
SWSS_LOG_ENTER();
42814272

4273+
sai_object_id_t vlan_member_id;
42824274
if (!end_point_ip.empty())
42834275
{
42844276
if (!((vlan.m_vlan_info.uuc_flood_type == SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED) ||
42854277
(vlan.m_vlan_info.umc_flood_type == SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED) ||
4286-
(vlan.m_vlan_info.bc_flood_type == SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED))
4278+
(vlan.m_vlan_info.bc_flood_type == SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED)))
42874279
{
42884280
SWSS_LOG_ERROR("Flood group with end point ip is not supported");
42894281
return false;
42904282
}
4291-
// TODO Check if P2MP bridgeport needs to be added as vlan member
42924283
return addVlanFloodGroups(vlan, port, end_point_ip);
42934284
}
42944285

4295-
if(!createVlanMember(vlan, port, tagging_mode))
4286+
sai_vlan_tagging_mode_t sai_tagging_mode = SAI_VLAN_TAGGING_MODE_TAGGED;
4287+
if (tagging_mode == "untagged")
4288+
sai_tagging_mode = SAI_VLAN_TAGGING_MODE_UNTAGGED;
4289+
else if (tagging_mode == "tagged")
4290+
sai_tagging_mode = SAI_VLAN_TAGGING_MODE_TAGGED;
4291+
else if (tagging_mode == "priority_tagged")
4292+
sai_tagging_mode = SAI_VLAN_TAGGING_MODE_PRIORITY_TAGGED;
4293+
else assert(false);
4294+
if(!createVlanMember(vlan, port, sai_tagging_mode, vlan_member_id))
42964295
{
42974296
return false;
42984297
}
@@ -4319,7 +4318,7 @@ bool PortsOrch::addVlanMember(Port &vlan, Port &port, string &tagging_mode, stri
43194318
return true;
43204319
}
43214320

4322-
bool PortsOrch::removeVlanEndPointIP(Port &vlan, Port &port, string end_point_ip)
4321+
bool PortsOrch::removeVlanEndPointIp(Port &vlan, Port &port, string end_point_ip)
43234322
{
43244323
SWSS_LOG_ENTER();
43254324

@@ -4328,19 +4327,20 @@ bool PortsOrch::removeVlanEndPointIP(Port &vlan, Port &port, string end_point_ip
43284327
if(vlan.m_vlan_info.l2mc_members.find(end_point_ip) == vlan.m_vlan_info.l2mc_members.end())
43294328
{
43304329
SWSS_LOG_NOTICE("End point ip %s is not part of vlan %hu",
4331-
end_point_ip, vlan.m_vlan_info.vlan_id);
4330+
end_point_ip.c_str(), vlan.m_vlan_info.vlan_id);
43324331
return true;
43334332
}
43344333

43354334
status = sai_l2mc_group_api->remove_l2mc_group_member(vlan.m_vlan_info.l2mc_members[end_point_ip]);
43364335
if (status != SAI_STATUS_SUCCESS)
43374336
{
43384337
SWSS_LOG_ERROR("Failed to remove end point ip %s from vlan %hu",
4339-
end_point_ip, vlan.m_vlan_info.vlan_id);
4338+
end_point_ip.c_str(), vlan.m_vlan_info.vlan_id);
43404339
return false;
43414340
}
43424341
vlan.m_vlan_info.l2mc_members.erase(end_point_ip);
43434342
sai_object_id_t l2mc_group_id = SAI_NULL_OBJECT_ID;
4343+
sai_attribute_t attr;
43444344

43454345
if (vlan.m_vlan_info.l2mc_members.empty())
43464346
{
@@ -4352,7 +4352,7 @@ bool PortsOrch::removeVlanEndPointIP(Port &vlan, Port &port, string end_point_ip
43524352
status = sai_vlan_api->set_vlan_attribute(vlan.m_vlan_info.vlan_oid, &attr);
43534353
if (status != SAI_STATUS_SUCCESS)
43544354
{
4355-
SWSS_LOG_ERROR("Failed to set null l2mc group %"
4355+
SWSS_LOG_ERROR("Failed to set null l2mc group "
43564356
" to vlan %hu for unknown unicast flooding",
43574357
vlan.m_vlan_info.vlan_id);
43584358
return false;
@@ -4366,7 +4366,7 @@ bool PortsOrch::removeVlanEndPointIP(Port &vlan, Port &port, string end_point_ip
43664366
status = sai_vlan_api->set_vlan_attribute(vlan.m_vlan_info.vlan_oid, &attr);
43674367
if (status != SAI_STATUS_SUCCESS)
43684368
{
4369-
SWSS_LOG_ERROR("Failed to set null l2mc group %"
4369+
SWSS_LOG_ERROR("Failed to set null l2mc group "
43704370
" to vlan %hu for unknown multicast flooding",
43714371
vlan.m_vlan_info.vlan_id);
43724372
return false;
@@ -4380,7 +4380,7 @@ bool PortsOrch::removeVlanEndPointIP(Port &vlan, Port &port, string end_point_ip
43804380
status = sai_vlan_api->set_vlan_attribute(vlan.m_vlan_info.vlan_oid, &attr);
43814381
if (status != SAI_STATUS_SUCCESS)
43824382
{
4383-
SWSS_LOG_ERROR("Failed to set null l2mc group %"
4383+
SWSS_LOG_ERROR("Failed to set null l2mc group "
43844384
" to vlan %hu for broadcast flooding",
43854385
vlan.m_vlan_info.vlan_id);
43864386
return false;
@@ -4397,13 +4397,13 @@ bool PortsOrch::removeVlanEndPointIP(Port &vlan, Port &port, string end_point_ip
43974397
return true;
43984398
}
43994399

4400-
bool PortsOrch::removeVlanMember(Port &vlan, Port &port, string end_point_ip="")
4400+
bool PortsOrch::removeVlanMember(Port &vlan, Port &port, string end_point_ip)
44014401
{
44024402
SWSS_LOG_ENTER();
44034403

44044404
if (!end_point_ip.empty())
44054405
{
4406-
return removeVlanEndPointIP(vlan, port, end_point_ip);
4406+
return removeVlanEndPointIp(vlan, port, end_point_ip);
44074407
}
44084408
sai_object_id_t vlan_member_id;
44094409
sai_vlan_tagging_mode_t sai_tagging_mode;
@@ -4448,7 +4448,7 @@ bool PortsOrch::removeVlanMember(Port &vlan, Port &port, string end_point_ip="")
44484448
return true;
44494449
}
44504450

4451-
bool PortsOrch::isVlanMember(Port &vlan, Port &port, string end_point_ip = "")
4451+
bool PortsOrch::isVlanMember(Port &vlan, Port &port, string end_point_ip)
44524452
{
44534453
if (!end_point_ip.empty())
44544454
{

orchagent/portsorch.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,12 @@ class PortsOrch : public Orch, public Subject
142142
bool removeTunnel(Port tunnel);
143143
bool addBridgePort(Port &port);
144144
bool removeBridgePort(Port &port);
145-
bool addVlanMember(Port &vlan, Port &port, string& tagging_mode);
146-
bool removeVlanMember(Port &vlan, Port &port);
145+
bool addVlanMember(Port &vlan, Port &port, string& tagging_mode, string end_point_ip = "");
146+
bool removeVlanMember(Port &vlan, Port &port, string end_point_ip = "");
147147
bool isVlanMember(Port &vlan, Port &port, string end_point_ip = "");
148+
bool addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip);
149+
bool createVlanMember(Port &vlan, Port &port, sai_vlan_tagging_mode_t &sai_tagging_mode, sai_object_id_t &vlan_member_id);
150+
bool removeVlanEndPointIp(Port &vlan, Port &port, string end_point_ip);
148151

149152
string m_inbandPortName = "";
150153
bool isInbandPort(const string &alias);

orchagent/saihelper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ void initSaiApi()
184184
sai_api_query(SAI_API_NAT, (void **)&sai_nat_api);
185185
sai_api_query(SAI_API_SYSTEM_PORT, (void **)&sai_system_port_api);
186186
sai_api_query(SAI_API_MACSEC, (void **)&sai_macsec_api);
187-
sai_api_query(SAI_API_L2MC_GROUP, (void **)&sai_l2mc_group_api_t);
187+
sai_api_query(SAI_API_L2MC_GROUP, (void **)&sai_l2mc_group_api);
188188

189189
sai_log_set(SAI_API_SWITCH, SAI_LOG_LEVEL_NOTICE);
190190
sai_log_set(SAI_API_BRIDGE, SAI_LOG_LEVEL_NOTICE);

0 commit comments

Comments
 (0)