Hi Rob,

Thanks for your review. We posted a new draft version.

Htmlized:https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-ipfix-srv6-srh
Diff:https://author-tools.ietf.org/iddiff?url2=draft-ietf-opsawg-ipfix-srv6-srh-08

See inline for some replies.

Regards, Benoit on behalf of the authors.
On 3/22/2023 6:55 PM, Rob Wilton (rwilton) wrote:
Hi,

Thanks for this document.  Here are my AD review comments for 
draft-ietf-opsawg-ipfix-srv6-srh-07.  There is an obvious disclaimer here that 
I'm not an IPFIX expert, and I appreciate that one of the authors is ;-).

Moderate level comments: (1) p 4, sec 3. IPFIX Information Elements srhIPv6Section
       Exposes the SRH and its TLVs as specified in Section 2 of
       [RFC8754] as series of n octets in IPFIX.
It isn't clear to me exactly what this is? Does this cover the whole SRH, or just the "SRH TLVs" section? From looking at the examples, I think that this exposes the whole SRH, in which case, I think that the description could be clearer.
Right, we added  a reference RFC 8754 section 2.1, next to 2.
Please can you also update the description in the IANA section.
(2) p 12, sec 5.11. srhSegmentIPv6EndpointBehavior

    ElementID:  TBD11
    Description:  The 16-bit SRv6 Endpoint behavior.  Assigned values and
       their meanings are provided in the "SRV6 Endpoint Behavior" IANA
       registry [IANA-IPFIX].

Is this linking to the right reference?  It looks like this should be the SRv6 
IANA registry rather than the IPFIX registry.
Good catch. You are right.
To be consistent with https://datatracker.ietf.org/doc/draft-boucla-opsawg-ipfix-fixes/, we changed it to.

srhSegmentIPv6EndpointBehavior

   ElementID:  TBD11
   Description:  The 16-bit SRv6 Endpoint behavior. Assigned values and their
          meanings are provided in the "SRV6 Endpoint Behavior" registry.

   Abstract Data Type:  unsigned16

   Data Type Semantics:  identifier

   Additional Information:  See the "SRV6 Endpoint Behavior" registry at
          
https://www.iana.org/assignments/segment-routing/segment-routing.xhtml#srv6-endpoint-behaviors.
          Section 4 of RFC8986.


Minor level comments:

(3) p 4, sec 3.  IPFIX Information Elements

    srhSegmentIPv6BasicList
       Ordered basicList [RFC6313] of zero or more 128-bit IPv6 addresses
       in the SRH that represents the SRv6 segment list.  As specified in
       Section 2 of [RFC8754], the Segment List is encoded starting from
       the last segment of the SR Policy.  That is, the first element of
       the Segment List (Segment List[0]) contains the last segment of
       the SR Policy, the second element contains the penultimate segment
       of the SR Policy, and so on.

In terms of naming, I note that the "IPv6" seems to turn up in difference places in the 
IEs defined in this draft.  It might be awkward to change, but wouldn't the names be more 
consistent (e.g., with RFC8754), if they put IPv6 all in the same place?  I was going to suggest 
putting them at the start (e.g., ipv6srh...), but looking 
athttps://www.iana.org/assignments/ipfix/ipfix.xhtml, it looks like the "IPv6" is often 
put at the end of the name.

E.g., srhSegmentIPv6BasicList -> srhSegmentBasicListIPv6, etc.

Note, I'm happy to defer to Benoit's judgement as an IPFIX expert here ...
We discussed that point with Paul Aitken from the IPFIX IE doctors, (ie-doctor mailing list).
To be consistent with the IPFIX registry, we used IPv6 as an adjective.
As an example, IPv6 refers to the srhSegment, hence srhSegmentIPv6


(4) p 4, sec 3.  IPFIX Information Elements

    srhSegmentIPv6LocatorLength
       The number of significant bits.  Together with srhSegmentIPv6 it
       enables the calculation of the SRv6 Locator.

I suggest "The number of significant bits" is reworded to something like: "The IPv6 
location length specified as the number of significant bits."

If you update this, then please can you make a similar clarification for the 
IANA entry description.
    The SRH segment IPv6 locator length specified as the number of significant bits. Together with srhSegmentIPv6 it
    enables the calculation of the SRv6 Locator.
(5) p 9, sec 5.6.  srhSegmentIPv6ListSection

    Description:  The SRH Segment List as defined in section 2 of
       [RFC8754] as series of n octets.

Am I right to assume that the length of the array must be a multiple of 16?
Right.
Is that worth specifying at all?
Isn't it sufficient/better to point to the specification RFC 8754?
(6) p 26, sec Appendix A.  IPFIX Encoding Examples

               Figure 8: Data Set Encoding Format for SRH Section

Note, I don't really know IPFIX well enough to validate the examples, hence I'm 
trusting the authors that they are correct.
Andrew Feren, as IPFIX doctor reviewed the examples (and admittedly found a mistake in A1.1, which was corrected in a previous version. Thanks Andrew. Other examples were implemented, so we should be good.
Nit level comments:

(7) p 2, sec 1.  Introduction

    These IEs are used to export SRv6 active segment and its control
    plane protocol, the SRv6 segment list, the next SRv6 node and its
    type, and then numbers of SRv6 segments left.

"then numbers" -> "the numbers"?


(8) p 4, sec 3.  IPFIX Information Elements

    srhSegmentIPv6ListSection
       Exposes the SRH Segment List as defined in Section 2 of [RFC8754]
       as series of n octets in IPFIX.

I suggest "series of n octets" -> "sesies of octets", here and below.


(9) p 12, sec 6.1.  SRv6 Segment List

    The srhSegmentIPv6BasicList encodes the SRv6 segment list with a
    basicList, specified in the IPFIX Structured Data [RFC6313].  This
    encoding offers the advantage to the data collection that the
    different IPv6 addresses are already structured as a list, without
    the need of post processing.  However, this method requires some
    extra processing on the exporter, to realize the BasicList data
    mapping.

Should it be "to the data collector" or is "to the data collection" correct?
Actually, the data collection seems more appropriate to the authors, as it encompasses the data collector itself, but also the data streaming/ETL, up to the data analytics.
So the data collector is only one piece of the data collection.

(10) p 12, sec 6.1.  SRv6 Segment List

    The srhSegmentIPv6ListSection, on the other hand, encodes the list of
    IPv6 addresses as an octetArray.  This doesn't impose any data flow
    manipulation on the exporter, facilitating the immediate export.
    However, the data collection MUST be able to decode the IPv6
    addresses according the SR specifications.  Compared to the
    srhSegmentIPv6BasicList, the srhSegmentIPv6ListSection flow records
    length is slightly reduced.

'according the' -> 'according to the'

Regards,
Rob


_______________________________________________
OPSAWG mailing list
OPSAWG@ietf.org
https://www.ietf.org/mailman/listinfo/opsawg

Reply via email to