-
Notifications
You must be signed in to change notification settings - Fork 16
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
Dev port disaggregation #320
Changes from 23 commits
6c86bc9
116dd1e
5e9cc3d
c629ca4
f705555
9f662fd
2ea6fdc
bd3ffbf
79d594b
4705302
5d4988f
2931551
c571502
72dd3d8
eb10839
e0b2326
acd187a
a04e2ed
6c7d3b6
f12703c
276d21a
7669e51
e2a08f9
fa722dd
579ad62
1356b0e
83e23fa
d3e252c
cbbaa0c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,6 +19,11 @@ components: | |
type: boolean | ||
default: false | ||
x-field-uid: 2 | ||
rx_tx_ratio: | ||
description: |- | ||
Rx Tx ratio. | ||
$ref: '#/components/schemas/Flow.RxTxRatio' | ||
x-field-uid: 6 | ||
timestamps: | ||
description: |- | ||
Enables additional flow metric first and last timestamps. | ||
|
@@ -30,6 +35,11 @@ components: | |
Latency metrics. | ||
$ref: '#/components/schemas/Flow.Latency.Metrics' | ||
x-field-uid: 4 | ||
predefined_metric_tags: | ||
description: |- | ||
Predefined metric tags | ||
$ref: '#/components/schemas/Flow.Predefined.Tags' | ||
x-field-uid: 5 | ||
Flow.Latency.Metrics: | ||
description: |- | ||
The optional container for per flow latency metric configuration. | ||
|
@@ -69,3 +79,50 @@ components: | |
x-field-uid: 1 | ||
cut_through: | ||
x-field-uid: 2 | ||
Flow.Predefined.Tags: | ||
description: |- | ||
List of predefined flow tracking options, outside packet fields, that can be enabled. | ||
type: object | ||
properties: | ||
rx_name: | ||
description: |- | ||
Enables Rx port or lag level disaggregation with predefined metrics tag name set as "rx_name". | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this need an update from rx_name->rx_port_name? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Both otg and gnmi tag name is going to be rx_name (rx_port_name was the earlier proposal). The rx_name is generic tag name, referring to both port and lag as rx endpoints.
There can be other built-in tag names in future, like "mem_name" (as an example), if we want to disaggregate based on lag member ports also. |
||
The Rx port / lag names can be found under tagged_metrics tag names in flow metrics response. | ||
type: boolean | ||
default: false | ||
x-field-uid: 1 | ||
Flow.RxTxRatio: | ||
description: |- | ||
Rx Tx ratio is the ratio of expected number of Rx packets across all Rx ports to the Tx packets | ||
for the configured flow. It is a factor by which the Tx packet count is multiplied to calculate | ||
the sum of expected Rx packet count, across all Rx ports. This will be used to calculate loss | ||
percentage of flow at aggregate level. | ||
type: object | ||
properties: | ||
choice: | ||
type: string | ||
default: value | ||
x-field-uid: 1 | ||
x-enum: | ||
rx_count: | ||
x-field-uid: 1 | ||
value: | ||
x-field-uid: 2 | ||
rx_count: | ||
$ref: '#/components/schemas/Flow.RxTxRatio.RxCount' | ||
x-field-uid: 2 | ||
value: | ||
description: |- | ||
ankur-sheth marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Should be a positive, non-zero value. A custom integer value (>1) can be specified for | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We might need to explain the scenario with the default value (i.e. == 1) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added description for default value. |
||
loss calculation for cases when there are multiple destination addresses configured within one flow, | ||
but DUT is configured to replicate only to a subset of Rx ports. For cases when Tx side generates two | ||
packets from each source in 1:1 protection mode but only one of the two packets are received by the | ||
Rx port, we may need to specify a fractional value instead. | ||
type: number | ||
format: float | ||
default: 1.0 | ||
x-field-uid: 3 | ||
Flow.RxTxRatio.RxCount: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In my current understanding, I'm wondering if we need this option. I'm not sure it's more convenient/explicit for test writer to use vs. just setting the port count explicitly. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. User can use RxCount, so even if the rx port count changes in config, user does not have to update it. |
||
description: |- | ||
This is for cases where one copy of Tx packet is received on all Rx ports and so the sum total of Rx packets | ||
received across all Rx ports is a multiple of Rx port count and Tx packets. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we correct 'port' to 'port or lag'?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not seeing the updated change?