Skip to content
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

Support for User Defined Metrics #370

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
363d54d
initial draft of UDS model
PrasenjitAdhikary Mar 20, 2024
44d9ca0
Update auto generated content
actions-user Mar 20, 2024
169133d
remove count constraint from non-array struct
PrasenjitAdhikary Mar 20, 2024
c624a35
Merge branch 'dev-uds' of https://github.com/open-traffic-generator/m…
PrasenjitAdhikary Mar 20, 2024
20e2886
Update auto generated content
actions-user Mar 20, 2024
bac7862
changes for uds
vhowdhur Mar 21, 2024
f007627
Update auto generated content
actions-user Mar 21, 2024
2121369
cosmetic changes
vhowdhur Mar 25, 2024
b1b1356
Merge remote-tracking branch 'origin/dev-uds' into dev-uds
vhowdhur Mar 25, 2024
714f7dc
Update auto generated content
actions-user Mar 25, 2024
1a07486
fix type
vhowdhur Mar 26, 2024
547f677
Update auto generated content
actions-user Mar 26, 2024
11499d5
adding name for filters
vhowdhur Mar 27, 2024
fe4df46
Update auto generated content
actions-user Mar 27, 2024
3ab1dc1
Merge branch 'master' into dev-uds
vhowdhur Apr 1, 2024
1cc60b0
Update auto generated content
actions-user Apr 1, 2024
31dcf38
addressing review comments
vhowdhur Apr 2, 2024
f335571
Update auto generated content
actions-user Apr 2, 2024
f040569
Merge branch 'master' into dev-uds
vhowdhur Apr 2, 2024
2ae5ffd
refactor
vhowdhur Apr 2, 2024
538e5c6
Update auto generated content
actions-user Apr 2, 2024
15736a2
refactor model
vhowdhur Apr 4, 2024
2d5c0e7
Update auto generated content
actions-user Apr 4, 2024
ae4ec49
small nomenclature change
vhowdhur Apr 4, 2024
595d25d
Update auto generated content
actions-user Apr 4, 2024
b43eda8
resolving review comments
vhowdhur Apr 16, 2024
183d69f
Update auto generated content
actions-user Apr 16, 2024
8c6e88c
adding more comments to bin_filters description
vhowdhur Apr 17, 2024
6ab9abb
Update auto generated content
actions-user Apr 17, 2024
c0d710f
limiting packet headers
vhowdhur Apr 17, 2024
013c0ab
Update auto generated content
actions-user Apr 17, 2024
703e9ba
revert spaces
vhowdhur Apr 17, 2024
24111ca
adding mpls packet header
vhowdhur Apr 17, 2024
b5a7d66
Update auto generated content
actions-user Apr 17, 2024
1529bb8
refactoring
vhowdhur Apr 18, 2024
b699dfc
Update auto generated content
actions-user Apr 18, 2024
066ad6e
adding x-uds to packet templates
vhowdhur Apr 19, 2024
b4acead
bug fix for checksum
vhowdhur Apr 19, 2024
f35c3bd
Update auto generated content
actions-user Apr 19, 2024
2a62933
remove checksum and add packet_header hierarchy
vhowdhur Apr 19, 2024
da9ba99
Update auto generated content
actions-user Apr 19, 2024
247d918
making required fields for checksum
vhowdhur Apr 19, 2024
58d4a10
Update auto generated content
actions-user Apr 19, 2024
954a6c6
refactoring bin hierarchy to include mode and per port settings
vhowdhur Apr 29, 2024
a7b9401
Update auto generated content
actions-user Apr 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions artifacts/openapi.html

Large diffs are not rendered by default.

1,447 changes: 1,447 additions & 0 deletions artifacts/openapi.yaml

Large diffs are not rendered by default.

1,009 changes: 1,009 additions & 0 deletions artifacts/otg.proto

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
USE_OPENAPIART_DIR = None

# supported values - branch name or None
USE_OPENAPIART_BRANCH = None
USE_OPENAPIART_BRANCH = "x-field-uds"

OPENAPIART_REPO = "https://github.com/open-traffic-generator/openapiart.git"

Expand Down
12 changes: 12 additions & 0 deletions config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,18 @@ components:
items:
$ref: '../lldp/lldp.yaml#/components/schemas/Lldp'
x-field-uid: 9
receive_bins:
x-status:
status: under_review
information: There may be changes in receive_bins configuration
description: |-
A list of bins that can be configured on the traffic generator,
allowing for the retrieval of metrics based on the configured bins/buckets.
type: array
items:
$ref: '../receive_bins/receive_bins.yaml#/components/schemas/ReceiveBins'
x-field-uid: 10

Config.Options:
description: |-
Global configuration options.
Expand Down
35 changes: 35 additions & 0 deletions flow/packet-headers/ethernet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,38 @@ components:
default: 0
features: [count, metric_tags]
x-field-uid: 4

Filter.Ethernet:
description: Ethernet packet header
type: object
properties:
dst:
x-field-uds:
description: >-
Destination MAC address
format: mac
default: "00:00:00:00:00:00"
x-field-uid: 1
src:
x-field-uds:
description: >-
Source MAC address
format: mac
default: "00:00:00:00:00:00"
x-field-uid: 2
ether_type:
x-field-uds:
description: >-
Ethernet type
format: integer
default: 65535
length: 16
x-field-uid: 3
pfc_queue:
x-field-uds:
description: >-
Priority flow control queue
format: integer
length: 3
default: 0
x-field-uid: 4
205 changes: 205 additions & 0 deletions flow/packet-headers/ipv4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -403,3 +403,208 @@ components:
default: 0
features: [count, metric_tags]
x-field-uid: 6

Filter.Ipv4:
description: IPv4 packet header
type: object
properties:
version:
x-field-uds:
description: >-
Version
format: integer
length: 4
default: 4
x-field-uid: 1
header_length:
x-field-uds:
description: >-
Header length
format: integer
default: 5
length: 4
x-field-uid: 2
priority:
$ref: "#/components/schemas/Filter.Ipv4.Priority"
x-field-uid: 3
total_length:
x-field-uds:
description: >-
Total length
format: integer
default: 46
length: 16
x-field-uid: 4
identification:
x-field-uds:
description: >-
Identification
format: integer
length: 16
default: 0
x-field-uid: 5
reserved:
x-field-uds:
description: >-
Reserved flag.
format: integer
length: 1
default: 0
x-field-uid: 6
dont_fragment:
x-field-uds:
description: >-
Dont fragment flag
If the dont_fragment flag is set and fragmentation is required to
route the packet then the packet is dropped.
format: integer
length: 1
default: 0
x-field-uid: 7
more_fragments:
x-field-uds:
description: >-
More fragments flag
format: integer
length: 1
default: 0
x-field-uid: 8
fragment_offset:
x-field-uds:
description: >-
Fragment offset
format: integer
length: 5
default: 0
x-field-uid: 9
time_to_live:
x-field-uds:
description: >-
Time to live
format: integer
length: 8
default: 64
x-field-uid: 10
protocol:
x-field-uds:
description: >-
Protocol, default is 61 any host internal protocol
format: integer
length: 8
default: 61
x-field-uid: 11
src:
x-field-uds:
description: >-
Source address
format: ipv4
default: 0.0.0.0
x-field-uid: 12
dst:
x-field-uds:
description: >-
Destination address
format: ipv4
default: 0.0.0.0
x-field-uid: 13
Filter.Ipv4.Priority:
description: A container for ipv4 raw, tos, dscp ip priorities.
type: object
properties:
choice:
type: string
default: dscp
x-field-uid: 1
x-enum:
raw:
x-field-uid: 1
tos:
x-field-uid: 2
dscp:
x-field-uid: 3
raw:
x-field-uds:
description: >-
Raw priority
format: integer
length: 8
default: 0
x-field-uid: 2
tos:
$ref: "#/components/schemas/Filter.Ipv4.Tos"
x-field-uid: 3
dscp:
$ref: "#/components/schemas/Filter.Ipv4.Dscp"
x-field-uid: 4
Filter.Ipv4.Dscp:
description: Differentiated services code point (DSCP) packet field.
type: object
properties:
phb:
x-field-uds:
description: >-
Per hop behavior
format: integer
length: 6
default: 0
x-field-uid: 1
ecn:
x-field-uds:
description: >-
Explicit congestion notification
format: integer
length: 2
default: 0
x-field-uid: 2
Filter.Ipv4.Tos:
description: Type of service (TOS) packet field.
type: object
properties:
precedence:
x-field-uds:
description: >-
Precedence
format: integer
length: 3
default: 0
x-field-uid: 1
delay:
x-field-uds:
description: >-
Delay
format: integer
length: 1
default: 0
x-field-uid: 2
throughput:
x-field-uds:
description: >-
Throughput
format: integer
length: 1
default: 0
x-field-uid: 3
reliability:
x-field-uds:
description: >-
Reliability
format: integer
length: 1
default: 0
x-field-uid: 4
monetary:
x-field-uds:
description: >-
Monetary
format: integer
length: 1
default: 0
x-field-uid: 5
unused:
x-field-uds:
description: >-
Unused
format: integer
length: 1
default: 0
x-field-uid: 6
67 changes: 67 additions & 0 deletions flow/packet-headers/ipv6.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,70 @@ components:
default: ::0
features: [count, metric_tags]
x-field-uid: 8

Filter.Ipv6:
description: IPv6 packet header
type: object
properties:
version:
x-field-uds:
description: >-
Version number
format: integer
length: 4
default: 6
x-field-uid: 1
traffic_class:
x-field-uds:
description: >-
Traffic class
format: integer
length: 8
default: 0
x-field-uid: 2
flow_label:
x-field-uds:
description: >-
Flow label
format: integer
length: 20
default: 0
x-field-uid: 3
payload_length:
x-field-uds:
description: >-
Payload length
format: integer
length: 16
default: 0
x-field-uid: 4
next_header:
x-field-uds:
description: >-
Next header
format: integer
length: 8
default: 59
x-field-uid: 5
hop_limit:
x-field-uds:
description: >-
Hop limit
format: integer
length: 8
default: 64
x-field-uid: 6
src:
x-field-uds:
description: >-
Source address
format: ipv6
default: ::0
x-field-uid: 7
dst:
x-field-uds:
description: >-
Destination address
format: ipv6
default: ::0
x-field-uid: 8
37 changes: 37 additions & 0 deletions flow/packet-headers/mpls.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,40 @@ components:
default: 64
features: [count, metric_tags]
x-field-uid: 4

Filter.Mpls:
description: MPLS packet header
type: object
properties:
label:
x-field-uds:
description: >-
Label of routers
format: integer
length: 20
default: 16
x-field-uid: 1
traffic_class:
x-field-uds:
description: >-
Traffic class
format: integer
length: 3
default: 0
x-field-uid: 2
bottom_of_stack:
x-field-uds:
description: >-
Bottom of stack
format: integer
length: 1
default: 1
x-field-uid: 3
time_to_live:
x-field-uds:
description: >-
Time to live
format: integer
length: 8
default: 64
x-field-uid: 4
4 changes: 2 additions & 2 deletions flow/packet-headers/snmpv2c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -366,5 +366,5 @@ components:





Loading