+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver | hw_id | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Switch id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
| Type |InProt | Length | Domain Specific ID | /\
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
|D|Q|F|I| RepMdBits |Reserved | Domain Specific Md Bits | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Report
| Variable Optional Metadata | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Packet Fragment or Domain Specific Extensions | \/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
0: None1: Domain Specific Extensions2: Ethernet Packet Fragment3: IPv4 Packet Fragment4: IPv6 Packet Fragment
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver | hw_id | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Switch id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
| Type |D|Q|F|I| Length | Domain Specific ID | /\
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| RepMdBits | Reserved | Domain Specific Md Bits | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Variable Optional Metadata | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Type | Prot | Length | Reserved | Report
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Packet Fragment | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Type | Rsvd | Length | Domain Specific Md Status | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Domain Specific Extensions | \/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
Hi Mickey,
Thanks for suggesting the interesting options.I see that the major difference between the two lies in the co-existence of Packet Fragment and Domain Specific Extensions. The compact option treats them mutually exclusive, the TLV allows co-existence. I'd let Ramesh and Randy comment on this based on their use case scenarios.
hw_id and seq # fields are sharing 24 bits.
Can you remind us the case when we need 8b hw_id (vs 6b in the v1.0 spec)?
Thanks Mickey for coming up with the format options.
From my perspective, Nested TLV is flexible and address all know use cases. The only comment I have is that Instruction Bitmap in the INT Header is 16 bits and Domain Specific Instruction is 16 bits. RepMD bits and Domain Specific MD bits add up to a max of 28 bits (without any reserved bits) in Compact format and 32-bits in Nested TLV format. Does it make sense to move the Domain Specific MD bits to Domain Specific extensions, similar to Domain Specific Md Status.
Thoughts?
-Ramesh
Hi Mickey,
Thanks for pulling together these two proposals.
It looks like both options will address our immediate need to collate multiple packet fragments into a single report. The 1024 size limitation would not be an issue for the use cases which we are exploring.
While we are not currently sending any domain specific TR data, just domain specific data in the INT report. I do see option where we would send some additional domain specific data from the switch/sink generating the TR. For instance, we may leverage some counters or include the current BGP flowspec rules. If this domain specific data doesn’t need to be repeated on each report within the packet, so both option will work.
I like the versatility of the Nested TLV Telemetry Report, since it allows for both domain specific metadata and the packet fragment to be in one report. I don’t have a compelling use for both domain specific and packet fragment info per report at this time.
Thanks,
Randy Levensalor
From: P4-apps <p4-apps...@lists.p4.org> on behalf of Mickey Spiegel <mspi...@barefootnetworks.com>
Date: Wednesday, March 11, 2020 at 6:50 PM
To: "Lee, Jeongkeun" <jk....@intel.com>
Cc: "p4-...@lists.p4.org" <p4-...@lists.p4.org>, "Alvarez, Daniel A" <daniel.a...@intel.com>
Subject: Re: [P4-Apps] Telemetry Report 2.0 options
CableLabs WARNING: The sender of this email could not be validated and may not match the person in the "From" field.
The outcome of today's P4 apps meeting.
There are two high level options for the packet structure, both will be specified in Telemetry Report v2.0:
Compact Telemetry Report v2.0 proposal
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver | hw_id | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
| Type 1|InProt | Length | Domain Specific ID | /\
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
|D|Q|F|I| Rsvd | RepMdBits | DS Md Bits | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Report
| Variable Optional Metadata | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ||
| Packet Fragment or Domain Specific Extensions | \/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
Notes:
0: None
1: Domain Specific Extensions
2: Ethernet Packet Fragment
3: IPv4 Packet Fragment
4: IPv6 Packet Fragment
Nested TLV Telemetry Report v2.0 proposal:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver | hw_id | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --
| Type 2|D|Q|F|I| Report Length | Domain Specific ID | /\
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ —- ||
| Type | Rsvd | Length | RepMdBits | /\ ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ || ||
| Variable Optional Metadata | \/ ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ —- ||
| Type | Prot | Length | Reserved | /\ Report
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ || ||
| Packet Fragment | \/ ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ —- ||
| Type | Rsvd | Length | Domain Specific Md Bits | /\ ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ || ||
| Domain Specific Extensions | \/ \/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ —- --
Notes:
Hi Mickey, Et al.,
I haven’t seen any updates adding this to a PR or follow-up meetings.
Is there a plan to close on this any time soon?
Can I help? Should I add this to my PR for multiple reports per packet or will this be added to another PR?
Many Thanks and looking forward to the release of the 2.0 Telemetry Report.
Randy Levensalor
From: P4-apps <p4-apps...@lists.p4.org> on behalf of Mickey Spiegel <mspi...@barefootnetworks.com>
Date: Friday, March 13, 2020 at 12:01 PM
To: "p4-...@lists.p4.org" <p4-...@lists.p4.org>
Subject: Re: [P4-Apps] Telemetry Report 2.0 options
CableLabs WARNING: The sender of this email could not be validated and may not match the person in the "From" field.
The outcome of today's P4 apps meeting.