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
INT extensions for domain specific features #54
INT extensions for domain specific features #54
Conversation
Updated the location of Domain Specific ID and DS Flags
Removed the "S" bit in the first part of the header. Added Domain Specific Field.
Corrected typo
Corrected typo : requring - requiring
Removed the "S" bit.
Deleted Version 1 header. Modified the examples to include the extended headers.
telemetry/specs/INT.mdk
Outdated
except if bit 6 is set, which requires 8 bytes of metadata. Per-hop | ||
metadata length is set accordingly at the INT source. | ||
|
||
Bits 0 - 13 are Baseline INT Instructions and Bit 14, Domain Specific Instruction. |
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.
"Bit 14 is Domain ..."
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.
minor nit, let's correct.
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.
Also bit 14 should be added to the list of bits above.
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.
Removed Bit 14 and added text to address Domain Specific processing
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.
Do we want to leave some notes how it's related to the Domain Specific Extension of the report format?
Removed Bit 14: Domain Specific Instruction
- Removed "Rep" - Removed special "Synthetic/Probe sections"; replaced with clarification of using C bit for such traffic - Allow Transit nodes to do OAM generation and NW Event Detection - Allow Transit nodes to be INT Source for the Domain-specific parts - Some minor cleanup, length fixes in examples, etc.
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.
I see two major differences from the IETF's IOAM namespace beyond the additional fields:
- When a transit node receives an INT packet with a Domain Specific ID that it does not recognize, is it still allowed to add its metadata to the packet?
- Does the Domain Specific ID have any bearing on the semantics and/or metadata units? In the IETF this seems to be the main point of namespace.
It would be good to hash this out further, either aligning with the IETF or clarifying at least to ourselves if not in the spec, why should this be different?
telemetry/specs/INT.mdk
Outdated
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| Instruction Bitmap | Reserved | | ||
| DS Instruction | DS Flags | |
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.
Nit: whitespace at the end of the line
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.
You added whitespace at the end of the line. I thought it should be removed.
telemetry/specs/INT.mdk
Outdated
except if bit 6 is set, which requires 8 bytes of metadata. Per-hop | ||
metadata length is set accordingly at the INT source. | ||
|
||
Bits 0 - 13 are Baseline INT Instructions and Bit 14, Domain Specific Instruction. |
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.
Also bit 14 should be added to the list of bits above.
telemetry/specs/INT.mdk
Outdated
@@ -1141,9 +1174,11 @@ INT Metadata Header and Metadata Stack, followed by TCP payload: | |||
0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Ver=1 | 0 |0|0|0| Reserved | HopML=2 |RemainingHopC=6| | |||
| Ver=2 | 0 |0|0|0|0| Reserved | HopML=2 |RemainingHopC=6| |
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.
I don't see any definition of a new flag bit after the "M" bit.
The only change here should be "Ver=1" --> "Ver=2".
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.
What Flag bit after M are you referring to?
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.
This change adds a fourth 0 before the Reserved field. That does not belong.
@@ -1196,9 +1231,11 @@ INT Metadata Header and Metadata Stack: | |||
0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Ver=1 | 0 |0|0|0| Reserved | HopML=2 |RemainingHopC=5| | |||
| Ver=2 | 0 |0|0|0|0| Reserved | HopML=2 |RemainingHopC=5| |
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.
I don't see any definition of a new flag bit after the "M" bit.
The only change here should be "Ver=1" --> "Ver=2".
@@ -1253,9 +1290,11 @@ INT Metadata Header and Metadata Stack: | |||
0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Ver=1 | 0 |0|0|0| Reserved | HopML=2 |RemainingHopC=5| | |||
| Ver=2 | 0 |0|0|0|0| Reserved | HopML=2 |RemainingHopC=5| |
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.
I don't see any definition of a new flag bit after the "M" bit.
The only change here should be "Ver=1" --> "Ver=2".
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.
Removed the new flag bit. We need to discuss the need for a bit to indicate the VxLAN vs VxLAN GPE encap of the incoming packet. Do we need that indication in the header for the sink node processing.
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.
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.
I see two major differences from the IETF's IOAM namespace beyond the additional fields:
- When a transit node receives an INT packet with a Domain Specific ID that it does not recognize, is it still allowed to add its metadata to the packet?
- Does the Domain Specific ID have any bearing on the semantics and/or metadata units? In the IETF this seems to be the main point of namespace.
It would be good to hash this out further, either aligning with the IETF or clarifying at least to ourselves if not in the spec, why should this be different?
Remaining changes are minor.
Remove some duplicate text.
Fix typos.
Fix packet format changes that no longer apply.
Check packet length in example.
telemetry/specs/INT.mdk
Outdated
@@ -1141,9 +1174,11 @@ INT Metadata Header and Metadata Stack, followed by TCP payload: | |||
0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Ver=1 | 0 |0|0|0| Reserved | HopML=2 |RemainingHopC=6| | |||
| Ver=2 | 0 |0|0|0|0| Reserved | HopML=2 |RemainingHopC=6| |
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.
This change adds a fourth 0 before the Reserved field. That does not belong.
@@ -1194,9 +1212,11 @@ INT Metadata Header and Metadata Stack, followed by TCP payload: | |||
0 1 2 3 |
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.
The length above in the shim header does not seem correct.
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.
Fixed.
@rsivakolundu |
Corrected typos found by Mickey and other changes requested.
Thanks @rsivakolundu for the fixes. They look good to me.
[JK] I didn't think through but the answer depends on the Yang-model-based query mechanism.
[JK] associating the domain ID to the metadata semantics seems a good idea to me. |
Let's merge it and address the domain ID questions in a separate PR on top of master. |
No description provided.