Skip to content

Commit 0372615

Browse files
authored
[vslib] Refresh queue pause status (sonic-net#814)
1 parent 00d883c commit 0372615

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

vslib/inc/SwitchStateBase.h

+3
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ namespace saivs
149149
virtual sai_status_t refresh_macsec_sci_in_ingress_macsec_acl(
150150
_In_ sai_object_id_t object_id);
151151

152+
virtual sai_status_t refresh_queue_pause_status(
153+
_In_ sai_object_id_t object_id);
154+
152155
public:
153156

154157
virtual sai_status_t warm_boot_initialize_objects();

vslib/src/SwitchStateBase.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -2056,6 +2056,24 @@ sai_status_t SwitchStateBase::refresh_macsec_sci_in_ingress_macsec_acl(
20562056
return SAI_STATUS_SUCCESS;
20572057
}
20582058

2059+
sai_status_t SwitchStateBase::refresh_queue_pause_status(
2060+
_In_ sai_object_id_t object_id)
2061+
{
2062+
SWSS_LOG_ENTER();
2063+
2064+
// To trigger fake PFC storm on fake Broadcom platform, PFC storm detection
2065+
// lua requires SAI_QUEUE_ATTR_PAUSE_STATUS field to be present in COUNTERS_DB.
2066+
// However, the actual value of the attribute does not matter in this regard,
2067+
// so a dummy one is assigned here.
2068+
sai_attribute_t attr;
2069+
attr.id = SAI_QUEUE_ATTR_PAUSE_STATUS;
2070+
attr.value.booldata = false;
2071+
2072+
CHECK_STATUS(set(SAI_OBJECT_TYPE_QUEUE, object_id, &attr));
2073+
2074+
return SAI_STATUS_SUCCESS;
2075+
}
2076+
20592077
// XXX extra work may be needed on GET api if N on list will be > then actual
20602078

20612079
/*
@@ -2205,6 +2223,11 @@ sai_status_t SwitchStateBase::refresh_read_only(
22052223
return refresh_macsec_sci_in_ingress_macsec_acl(object_id);
22062224
}
22072225

2226+
if (meta->objecttype == SAI_OBJECT_TYPE_QUEUE && meta->attrid == SAI_QUEUE_ATTR_PAUSE_STATUS)
2227+
{
2228+
return refresh_queue_pause_status(object_id);
2229+
}
2230+
22082231
auto mmeta = m_meta.lock();
22092232

22102233
if (mmeta)

0 commit comments

Comments
 (0)