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

OTG Model to support different RoCE speed #400

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

Conversation

alakendu
Copy link
Contributor

@alakendu alakendu commented Dec 19, 2024

Problem Statement:
We have one OTG based solution call snappi_ixnetwork which is a client-side solution. So, entire conversion ( OTG to IxNetwork REST API) is happening in the client side and communicate with IxNetwork Server through REST API (RestPy library).
As this is a client-side solution, so we can access IxNetwork API handle from test and configure others IxNetwork parameters.
We are configuring RoCE using RestPy though OTG model is not support that protocol. But we need to change the speed with specific format ( say fourhundredgigrocev2) which is not support to our current OTG model.

We have these two solutions:

redoc : https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/speed_proposal/artifacts/openapi.yaml&nocors#tag/Configuration/operation/set_config

Solution-1:

Add another Enum as “custom_speed” . So, user will specify vendor specific speed.
 l1 = config.layer1.add(name="l1")
 l1.speed = "custom_speed"
 l1.custom_speed = " fourhundredgigrocev2"

Note: Little annoying as “speed” is not a choice, so directly setting as custom_speed may be debatable.

Solution-2:
This solution is not specific to speed. We will utilize it for generic purpose. This is like open config deviations. I have added more options to handle different use cases.

In this following example we are saying that OTG application should additionally handle rocev2 feature and deviate isis-sr functionality defined in OTG.

ven_optn = config.options.vendor_options.add()
ven_optn.additional_features = ["rocev2"]
ven_optn.deviations = ["isis-sr"]
ven_optn.vendor = "keysight"

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.

2 participants