Skip to content

SAI IP Measurements (IPM) API proposal - #2356

Open
sperak-cisco wants to merge 1 commit into
opencomputeproject:masterfrom
sperak-cisco:ipm-api
Open

sperak-cisco wants to merge 1 commit into
opencomputeproject:masterfrom
sperak-cisco:ipm-api

Conversation

@sperak-cisco

Copy link
Copy Markdown

Summary

This PR introduces IP Measurements (IPM) as a new SAI feature. It provides an API for configuring active measurement sessions and exposing delay, packet-count and path-health information.

Full design: doc/IPM/SAI-Proposal-IPM.md

Motivation

IPM was presented at SONiC workshop - OCP Global Summit 2024:
https://sonicworkshop2024ocp.sched.com/event/1kqSR/demo-ip-measurements-in-sonic-ahmed-abdelsalam-cisco

Changes

  • Add SAI_API_IPM.
  • Add SAI_OBJECT_TYPE_IPM_SESSION.
  • Add SAI_OBJECT_TYPE_IPM_HISTOGRAM_PROFILE.
  • Add saiipm.h with:
    • IPM session create, remove, set, and get operations.
    • Histogram-profile create, remove, set, and get operations.
    • Session statistics APIs.
    • Session-state and alternate-marking notifications.
  • Add session configuration for:
    • Local and remote IP addresses and UDP ports.
    • Virtual router, DSCP, and IPv6 flow label.
    • Probe transmit interval and liveness timeout.
    • Plain IP/UDP or optional SRv6 encapsulation.
    • Optional reusable histogram profiles.
  • Add statistics for:
    • TX and RX packet counts for alternate-marking values 0 and 1.
    • Per-bin receive delay histograms.
  • Add switch attributes for:
    • Global alternate-marking interval.
    • IPM session enumeration.
    • Local UDP receive-port range.
    • Maximum supported histogram-bin count.
    • Notification callback registration.
  • Extend metadata and Thrift handling for sai_u16_range_t.
  • Add the IPM feature proposal, API examples, error handling and test plan.

Histogram profiles define immutable delay boundaries in nanoseconds. Boundaries must be positive, strictly increasing, and exactly representable. N boundaries define N + 1 bins.

The change is additive and leaves packet formats, timestamp representations and hardware mappings implementation-specific.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@sperak-cisco

Copy link
Copy Markdown
Author

564cd6b history-only rebase with no functional change.

Signed-off-by: Strahinja Perak <sperak@cisco.com>
@sperak-cisco

Copy link
Copy Markdown
Author

e71dc8e history-only rebase with no functional change.

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.

4 participants