-
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
ISIS Tlv Replay #353
Draft
SuryyaKrJana
wants to merge
8
commits into
master
Choose a base branch
from
isis-tlv-replay
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
ISIS Tlv Replay #353
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SuryyaKrJana
requested review from
kingshukdev,
apratimmukherjee and
PrasenjitAdhikary
January 10, 2024 13:19
kingshukdev
reviewed
Jan 10, 2024
kingshukdev
reviewed
Jan 10, 2024
kingshukdev
reviewed
Jan 10, 2024
…erator/models into isis-tlv-replay
…erator/models into isis-tlv-replay
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Redocly View:
ReDoc Interactive Demo (redocly.github.io)
(New optional object at : set_config/devices/isis/replay_tlvs )
Requirement:
While waiting for a proto definition to be available, this PR proposes a potential approach for ISIS Tlv Replay.
A stream of ISIS Tlvs is available to user in a well-known format. When this is fed as input then Open Traffic Generator implementation is expected to play it back over an ISIS session. A user may configure array of Tlv streams to append using function replay_tlvs() or may configure Tlv bytes directly. User can combine both the methods as shown in the code snippet.
Converting exported routes to neutral OTG format:
The proposal is to create a community maintained repository , ( similar to https://github.com/open-traffic-generator/routeimporter ) which would host the source code for converting an input set of ISIS Tlvs
to OTG specific format. This will allow conversion logic to be maintained in a public repo. A public repo will allow users to debug and fix issues that may arise while converting to OTG format.
When to perform conversion?
In initial delivery, we plan to target the initial use-case for this when used from a test program written in go.
a) Create a OTG config with ISIS Router configured.
b) In the test program, import the public conversion go library.
c) Use API provided by the conversion library to convert the input byte stream read from a file to neutral ISIS Tlvs and append it to a specified peer in the OTG config. This API is described below in little more detail in the example. Separate PR will address addition of this library as output of a conversion repository in Open Traffic Generator.
d) Next, the usual workflow will be followed i.e. SetConfig and StartProtocols to advertise the imported Tlvs to the Device Under Test.
Example Code
ISIS Router A (1.1.1.2) <------------------>(1.1.1.1) DUT (2.2.2.1)<---------------------> ISIS Router B(2.2.2.2)