Skip to content

ARS POC #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open

ARS POC #3

wants to merge 17 commits into from

Conversation

VladimirKuk
Copy link

No description provided.

VladimirKuk and others added 15 commits November 20, 2024 11:06
Signed-off-by: Vladimir Kuk <[email protected]>
…tabase issue. (sonic-net#942)

#### Why I did it
Fix a race condition bug: when deleting ZmqProducerStateTable immediately after setting/deleting data, the data is sent to ZMQ but not updated in the database.

#### How I did it
Verify and wait for the data update before the db update thread exits.

##### Work item tracking

#### How to verify it
Pass all test cases.

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111

#### Description for the changelog
Fix the ZMQ producer/consumer table does not update changes to the database issue.

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/SONiC/wiki/Configuration.
-->

#### A picture of a cute animal (not mandatory but encouraged)
Previously, methods like hasData/hasCachedData were exposed through
the FFI, but they are only useful for swss::Select which is not
exposed, so those were deleted. Methods *_getFd were added so that
ffi code may select on those fds separately from swss::Select (we
need this in Rust for tokio::AsyncFd). Comments were added to better
explain the intended use - Either call readData with a timeout to
block in place, or use getFd to select on the fd and then call readData
with a zero timeout to reset the fd.

Co-authored-by: erer1243 <[email protected]>
…nSchema formats. (sonic-net#909)

Summary:
Add function ActionSchemaByNameAndObjectType to allow different ActionSchema formats.
The SAI_ACL_ENTRY_ATTR_ACTION_REDIRECT action redirects to different
object types, which have different formats. Multicast groups are hex
strings, while next hops and ports are regular strings.
Signed-off-by: Yevhen Fastiuk <[email protected]>
Co-authored-by: Saikrishna Arcot <[email protected]>
…ffi boundary (sonic-net#935)

This introduces a couple of new FFI types, representing owned C++ strings and arrays. We use those owned strings for database values, so they do not need to be memcpy'd across ffi boundaries. This is in response to Riff's concerns that database values which hamgrd will be reading may be large and expensive to memcpy.

Partner pr to sonic-net/sonic-dash-ha#11

Co-authored-by: erer1243 <[email protected]>
)

What I did

optimize redispipeline flush performance by remove unnecessary publish commands
add a new parameterbool flushPub in producerstatetable constructor function
to enable/disable batch publish feature
default value of m_flushPub is false, so no impact on existing codes
optimization is effective only explicitly set this option
remove individual publish command from the producerstatetable APIs' lua scripts
add a publish command when the pipeline flushes [if m_flushPub is true]
Why I did it

save TCP traffic and increase fpmsyncd efficiency
It's a feature included in BGP Loading Optimization HLD #1521
…c-net#949)

* Adding DASH Meter Policy and Rule table definitions
* Adding DASH Meter Counter ID list
Signed-off-by: Vladimir Kuk <[email protected]>
Signed-off-by: Vladimir Kuk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants