Subject: Comments on <draft-fz-6man-ipv6-alt-mark-05>

From: Bob Hinden <[email-masked]>
Date: Mon, 17 Feb 2020 14:12:18 -0800

I have some comments on <draft-fz-6man-ipv6-alt-mark-05>.

This draft defines an alt mark option for hop-by-hop options and destination options, as well as a TLV for SRH.  To my thinking, the TLV is not intended a general vehicle for carrying IPv6 options.  It is intended to carry SRH meta data.   The relevant text from Section 2.1 SRH TLVs of draft-ietf-6man-segment-routing-header-26:

   A TLV provides meta-data for segment processing.  The only TLVs
   defined in this document are the HMAC (Section 2.1.2) and PAD
   (Section 2.1.1) TLVs.

I don’t see how the alt-mark information can be considered meta-data for segment processing.   I think this draft should focus on an option for hop-by-hop and destionation option headers.  The SRH TLV should be removed.

The Security Considerations section of the draft is empty.   Like most new things proposed, there may be security issues.   With this text, it hard to evaluate the security issues.

As I noted in an earlier draft, this draft appears to depend on other work, such as:

draft-fioccola-v6ops-ipv6-alt-mark-01
draft-ietf-6man-segment-routing-header-26
draft-ietf-ippm-multipoint-alt-mark-04
draft-song-opsawg-ifit-framework-10
RFC8321

However, there are no normative references to these documents.  As I also noted earlier, RFC8231 is Experimental.  Why wasn’t this addressed in this draft?

Other comments inline below.

Bob

> 1.  Introduction
> 
>    [RFC8321] and [I-D.ietf-ippm-multipoint-alt-mark] describe a passive
>    performance measurement method, which can be used to measure packet
>    loss, latency and jitter on live traffic.  Since this method is based
>    on marking consecutive batches of packets, the method is often
>    referred as Alternate Marking Method.
> 
>    [I-D.song-opsawg-ifit-framework] introduces the telemetry
>    architecture that can be considered as reference.
> 
>    This document defines how the Alternate Marking Method ([RFC8321])
>    can be used to measure packet loss and delay metrics in IPv6.
> 
>    The format of the IPv6 addresses is defined in [RFC4291] while
>    [RFC8200] defines the IPv6 Header, including a 20-bit Flow Label and
> 
>    the IPv6 Extension Headers.  The Segment Routing Header (SRH) is
>    defined in [I-D.ietf-6man-segment-routing-header].
> 
>    [I-D.fioccola-v6ops-ipv6-alt-mark] reported a summary on the possible
>    implementation options for the application of the Alternate Marking
>    Method in an IPv6 domain.  This document, starting from the outcome
>    of [I-D.fioccola-v6ops-ipv6-alt-mark], introduces a new TLV that can
>    be encoded in the Option Headers (both Hop-by-hop or Destination) and
>    in the SRH ([I-D.ietf-6man-segment-routing-header] for the purpose of
>    the Alternate Marking Method application in an IPv6 domain).

As noted above, I don’t think this should be used in SRH.

> 
> 2.  IPv6 application of the Alternate Marking
> 
>    The Alternate Marking Method requires a marking field.  As mentioned,
>    several alternatives have been analysed in
>    [I-D.fioccola-v6ops-ipv6-alt-mark] such as IPv6 Extension Headers,
>    IPv6 Address and Flow Label.
> 
>    The preferred choice would be the use of a new TLV to be encoded in
>    the Option (Hop-by-hop or Destination) header and in the SRH.

Remove SRH.

> 
>    This approach is compliant with [RFC8200] that recommends the use of
>    existing EH rather than defining new ones especially with hop by hop
>    behaviour.

RFC8200 is very clear that new EHs with hop by hop behavior must not be defined.  The text says:

   Note: New extension headers that require hop-by-hop behavior must not
   be defined because, as specified in Section 4 of this document, the
   only extension header that has hop-by-hop behavior is the Hop-by-Hop
   Options header.

It is more than a recommendation.

> 
>    In order to optimize implementation and scaling of the Alternate
>    Marking Method, a way to identify flows is required.  The Flow
>    Monitoring Identification field (FlowMonID), as introduced in the
>    next section, goes in this direction and it is used to identify a
>    monitored flow.
> 
>    The Flow Monitoring Identification (FlowMonID) is required for some
>    general reasons:
> 
>       First, it helps to reduce the per node configuration.  Otherwise,
>       each node needs to configure an access-control list (ACL) for each
>       of the monitored flows.  Moreover, using a flow identifier allows
>       a flexible granularity for the flow definition.
> 
>       Second, it simplifies the counters handling.  Hardware processing
>       of flow tuples (and ACL matching) is challenging and often incurs
>       into performance issues, especially in tunnel interfaces.
> 
>       Third, it eases the data export encapsulation and correlation for
>       the collectors.
> 
>    Note that the FlowMonID is different from the Flow Label field of the
>    IPv6 Header ([RFC8200]).  Flow Label is used for application service,
> 
>    like load-balancing/equal cost multi-path (LB/ECMP) and QoS.
>    Instead, FlowMonID is only used to identify the monitored flow.  The
>    reuse of flow label field for identifying monitored flows is not
>    considered since it may change the application intent and forwarding
>    behaviour.  Furthermore the flow label may be changed en route and
>    this may also violate the measurement task.  Those reasons make the
>    definition of the FlowMonID necessary for IPv6.  Flow Label and
>    FlowMonID within the same packet have different scope, identify
>    different flows, and associate different uses.
> 
> 3.  Definition of the AltMark TLV
> 
>    The desired choice is to define a new TLV for the Option and SRH
>    extension headers, carrying the data fields dedicated to the
>    alternate marking method.

Remove SRH

> 
> 3.1.  Data Fields Format
> 
>    The following figure shows the data fields format for enhanced
>    alternate marking TLV.  This AltMark data is expected to be
>    encapsulated in the IPv6 Option (hop-by-hop or destination) and SRH
>    extension headers.

ditto

> 
>     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
>                                    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>                                    |     Type      |    Length     |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |              FlowMonID                |L|D|     Reserved      |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
>    where:
> 
>    o  Type/Option Type: 8 bit identifier of the type of Option/TLV that
>       needs to be allocated.  Unrecognised Types MUST be ignored on
>       receipt.

ditto

> 
>    o  Length/Opt Data Len: The length of the length Data Fields of this
>       Option/TLV in bytes.
> 
>    o  FlowMonID: 20 bits unsigned integer.  The FlowMon identifier field
>       is to uniquely identify a monitored flow within the measurement
>       domain.  The field is set at the ingress node.  The FlowMonID can
>       be uniformly assigned by the central controller or algorithmically
>       generated by the ingress node.  The latter approach cannot
>       guarantee the uniqueness of FlowMonID but it may be preferred for
>       local or private network, where the conflict probability is small
>       due to the large FlowMonID space.
> 
>    o  L: Loss flag as defined in [RFC8321];
> 
>    o  D: Delay flag as defined in [RFC8321];
> 
>    o  Reserved: is reserved for further use.  These bits MUST be set to
>       zero on transmission and ignored on receipt.

s/further/future/

Correct?

> 
> 4.  AltMark: EH Option or SRH TLV
> 
>    Using a new EH Option assumes that all routers in the domain support
>    this type of headers even if an unrecognized EH Option may be just
>    ignored without impacting the traffic.  So, the new AltMark Option
>    Layout seems the best way to implement the Alternate Marking method.
> 
>    It is important to highlight that the Option Layout can be used both
>    as Destination Option and as Hop-By-Hop Option depending on the Use
>    Cases.  In general, it is needed to perform both end-to-end and hop-
>    by-hop measurements, and the alternate marking methodology in
>    [RFC8321] allows, by definition, both performance measurements.
> 
>    So, Hop-By-Hop Options Header or Destination Options Header can be
>    used based on the chosen type of performance measurement.

Remove “So, “

>    SRv6 leverages the Segment Routing header which consists of a new
>    type of routing header.  Like any other use case of IPv6, HBH and
>    Destination options are useable when SRv6 header is present.  Because
>    SRv6 is a routing header, destination options before the routing
>    header are processed by each destination in the route list.

Why is this necessary?

> 
>    SRH TLV can also be used to encode the AltMark Data Fields for SRv6.
>    Furthermore, the intermediated nodes that are not in the SID list may
>    consider the SRH as a green field, therefore they cannot support and
>    bypass or support and dig into the SRH TLV.
> 
>    In summary, it is possible to list the alternative options:
> 
>       Destination Option => measurement only by node in Destination
>       Address.
> 
>       Hop-By-Hop Option => every router on the path with feature
>       enabled.
> 
>       SRH TLV => every node along the SR path.

I think this is only nodes that are identities in the SR path, not ever node along the SR path.

> 
>       Destination Option + SRH => every node along the SR path.
> 
>    Note that the SRH TLV and Destination Option + SRH can be considered
>    equivalent so in this case it may be preferred to use the SRH.
> 
>    Both [RFC7045] and [RFC8200] do not recommend the introduction of new
>    Hop-by-Hop Options headers because nodes may be configured to ignore,
>    drop or assign to a slow processing path.  But, in case of the
>    AltMark data fields described in this document, the new hop-by-hop
>    option is needed for OAM and an intermediate node can read it or not
>    but, this does not affect the packet behavior.  The source node is
>    the only one that writes the hop-by-hop option to mark alternately
>    the flow, so, the performance measurement can be done for those nodes
>    configured to read this option, while the others are simply not
>    considered for the metrics.  Moreover, in case of SRv6, the use of
>    SRH TLV for every node along the SR path is a good choice to
>    implement hop-by-hop measurements.
> 
>    In addition to the previous alternatives, for legacy network it is
>    possible to mention a non-conventional application of the SRH TLV and
>    Destination Option for the hop-by-hop usage.  [RFC8200] defines that
>    the nodes along a path examine and process the Hop-by-Hop Options
>    header only if HBH processing is explicitly configured.  On the other
>    hand, using the SRH TLV or Destination Option for hop-by-hop action
>    would cause worse performance than Hop-By-Hop.  The only motivation
>    for hiding the hop-by-hop options inside of destination options can
>    be for compatibility reasons but in general it is not recommended.

“hiding” ?   I don’t follow, they aren’t hidden, destination options are processed at the destination.  Please rewrite.

> 
> 5.  Alternate Marking Method Operation
> 
>    [RFC8321] and [I-D.ietf-ippm-multipoint-alt-mark] describe in detail
>    the methodology.
> 
> 6.  Security Considerations
> 
>    tbc

This needs to be looked at.

> 
> 7.  IANA Considerations
> 
>    The option type should be assigned in IANA's "Destination Options and
>    Hop-by-Hop Options" registry.  Also, the TLV type should be assigned
>    from Segment Routing Header TLVs Registry.

Remove the request TLV type.

---

From: Giuseppe Fioccola <[email-masked]>
Date: Tue, 18 Feb 2020 12:42:12 +0000

Hi Bob,
Thanks a lot for your detailed comments.
Please find my answers inline tagged as [GF].

Please let me know if you agree with my replies, so I will work on a new version of the draft.

Regards,

Giuseppe

-----Original Message-----
From: ipv6 [mailto:[email-masked]] On Behalf Of Bob Hinden
Sent: Monday, February 17, 2020 11:12 PM
To: IPv6 List <[email-masked]>
Cc: Bob Hinden <[email-masked]>
Subject: Comments on <draft-fz-6man-ipv6-alt-mark-05>

[GF]: The alt-mark TLV is considered "meta-data for segment processing" as the relevant text of draft-ietf-6man-segment-routing-header-26. Indeed, the packet is originated at the source, the SRH is added in order to steer the packet across a given path that we want to monitor. Therefore this is perfectly in line with the SRH draft to insert a TLV that is going to be processed by the segment endpoint for monitoring purposes. In this case, the process means to read the marking field and update, locally on the node, both the counters and the timestamps for the measurement. 

[GF]: Sure I will add some text here. I can be inspired from RFC8321 that includes a detailed Security Considerations section.

[GF]: Yes, you are right. I can move RFC8200, draft-ietf-6man-segment-routing-header and RFC8321 as normative references. RFC 8321 is Experimental because in IPPM we decided to describe the very general performance measurement methodology that can be applied for all the protocols. So the focus of RFC8321 is only on the methodology and not on its application (the only example mentioned in RFC8321 was in a lab environment with the reuse of DSCP fields or the unused bit of IPv4 header). To be Standard we need to use some "dedicated" bits and that is the purpose of this draft: the application of this straightforward method to IPv6.

Bob

[GF]: see my reply regarding SRH TLV above

Remove SRH.

[GF]: ...

[GF]: Sure, I will updated the text here

Remove SRH

[GF]: see my reply regarding SRH TLV above

ditto

[GF]: ...

Ditto

[GF]: ...

s/further/future/

Correct?

[GF]: yes, I will modify

Remove “So, “

[GF]: Ok

Why is this necessary?

[GF]: It is just to have an example of how a destination/hbh option is processed if SRH is present. I will review the text here.

[GF]: Sure, I will change this definition here

[GF]: Yes, I will do. I mean the use of destination option as hbh, but it is not crucial, I can also omit.

[GF]: Yes, as said above, I will borrow some text from RFC8321.

[GF]: see my reply regarding SRH TLV above

---

From: Tom Herbert <[email-masked]>
Date: Tue, 18 Feb 2020 07:05:27 -0800

> [GF]: The alt-mark TLV is considered "meta-data for segment processing" as the relevant text of draft-ietf-6man-segment-routing-header-26. Indeed, the packet is originated at the source, the SRH is…

It seems like the TLV in SRH is then mostly redundant to HBH. Both of
them would do the same processing on the TLV, the only difference I
see is that the nodes that process the option in the segment in the
SRH case would be a subset of the nodes processing the HBH. Is there
any advantage to limiting the nodes that handle the option? It seems
to me that having more nodes in the path look at the options would be
better or at least the same quality of measurement.

The general concern is that we may be setting a precedent here.
Options in SRH TLVs really need to be directly related to segment
routing processing, lest everytime someone come up with a new option
we need to have both a HBH option and as SRH option because everyone
else does it.

Tom

> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> [email-masked]
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------

---

From: Giuseppe Fioccola <[email-masked]>
Date: Tue, 18 Feb 2020 16:44:26 +0000

Hi Tom,

Regards,

Giuseppe

-----Original Message-----
From: Tom Herbert [mailto:[email-masked]] 
Sent: Tuesday, February 18, 2020 4:05 PM
To: Giuseppe Fioccola <[email-masked]>
Cc: Bob Hinden <[email-masked]>; IPv6 List <[email-masked]>
Subject: Re: Comments on <draft-fz-6man-ipv6-alt-mark-05>

> [GF]: The alt-mark TLV is considered "meta-data for segment processing" as the relevant text of draft-ietf-6man-segment-routing-header-26. Indeed, the packet is originated at the source, the SRH is…

It seems like the TLV in SRH is then mostly redundant to HBH. Both of them would do the same processing on the TLV, the only difference I see is that the nodes that process the option in the segment in the SRH case would be a subset of the nodes processing the HBH. Is there any advantage to limiting the nodes that handle the option? It seems to me that having more nodes in the path look at the options would be better or at least the same quality of measurement.

The general concern is that we may be setting a precedent here.
Options in SRH TLVs really need to be directly related to segment routing processing, lest everytime someone come up with a new option we need to have both a HBH option and as SRH option because everyone else does it.

Tom

[GF]: I think we should focus on the best way to implement the SRv6 performance measurement. In this case we do not want all nodes in the path to process the alt-mark bits, so this is exactly the reason for using SRH TLV. The Use Case is to monitor the segment endpoint connectivity and not each individual hop. Therefore, in this specific case, the HBH is clearly not the right tool and the SRH TLV fits the role.

---

From: Tom Herbert <[email-masked]>
Date: Tue, 18 Feb 2020 09:12:11 -0800

> [GF]: I think we should focus on the best way to implement the SRv6 performance measurement. In this case we do not want all nodes in the path to process the alt-mark bits, so this is exactly the r…
Can you elaborate on why this TLV is required in SRH? As I understand
it, the point of alt-mark is to measure the characteristics of the
network path. In segment routing there may be other nodes in a network
path that are not in the segment list. If all the nodes in the path
are expressed in the segment list, then the same measurements should
result with either technique. If there are nodes in the path not in
the SRH route list, then those nodes would be able to participate in
the measurement and hence provide better results. Again, it seems like
the goal is to measure performance through the network path, not just
some subset of nodes.

I'd also point out that if one really wants to only measure at nodes
in the route list, putting the alt-mark in destination options before
the routing header would be serve that purpose. And, note that would
work for all types of routing headers, not just the narrow use case of
SRH which is what we get in using an SRH TLV.

Tom

---

From: Giuseppe Fioccola <[email-masked]>
Date: Tue, 18 Feb 2020 19:56:29 +0000

Hi Tom,
my answers inline tagged as [GF].
Thanks,

Giuseppe

-----Original Message-----
From: Tom Herbert [mailto:[email-masked]] 
Sent: Tuesday, February 18, 2020 6:12 PM
To: Giuseppe Fioccola <[email-masked]>
Cc: Bob Hinden <[email-masked]>; IPv6 List <[email-masked]>
Subject: Re: Comments on <draft-fz-6man-ipv6-alt-mark-05>

> [GF]: I think we should focus on the best way to implement the SRv6 performance measurement. In this case we do not want all nodes in the path to process the alt-mark bits, so this is exactly the r…
Can you elaborate on why this TLV is required in SRH? As I understand it, the point of alt-mark is to measure the characteristics of the network path. In segment routing there may be other nodes in a network path that are not in the segment list. If all the nodes in the path are expressed in the segment list, then the same measurements should result with either technique. If there are nodes in the path not in the SRH route list, then those nodes would be able to participate in the measurement and hence provide better results. Again, it seems like the goal is to measure performance through the network path, not just some subset of nodes.

I'd also point out that if one really wants to only measure at nodes in the route list, putting the alt-mark in destination options before the routing header would be serve that purpose. And, note that would work for all types of routing headers, not just the narrow use case of SRH which is what we get in using an SRH TLV.

Tom

[GF]: Consider that our scope is to define the Alt-Mark data field for IPv6 in general indeed it can be encoded as HBH Option, Destination Option or SRH TLV. The alternatives you mentioned are possible and are already described within the draft. However we have to consider that the HBH Option header is examined by the nodes along the path only if its processing is explicitly configured (RFC8200) and both RFC7045 and RFC8200 do not recommend the introduction of new HBH Options headers because nodes may ignore, drop or assign to a slow processing path. For this reason we cannot rely only on HBH Options. In addition the use of Destination Option before the Routing Header for HBH action would cause worse performance, so it would be better to select the way that fits better the use case to monitor. Anyway the draft aims to explore all the alternatives.

> > IETF IPv6 working group mailing list [email-masked] Administrative 
> > Requests: https://www.ietf.org/mailman/listinfo/ipv6

---

From: Tom Herbert <[email-masked]>
Date: Tue, 18 Feb 2020 15:30:54 -0800

> [GF]: Consider that our scope is to define the Alt-Mark data field for IPv6 in general indeed it can be encoded as HBH Option, Destination Option or SRH TLV. The alternatives you mentioned are poss…

Why would Destination Options before the Routing Header be worse performance?

---

From: Bob Hinden <[email-masked]>
Date: Tue, 18 Feb 2020 22:48:13 -0800

Giuseppe,

I have read your response, and the emails with Tom, I am still not convinced TLVs are needed, and not what the TLVs in SRH were intend for.  You can get the same behavior with hop-by-hop and destination options.

Bob

> On Feb 18, 2020, at 11:56 AM, Giuseppe Fioccola <[email-masked]> wrote:
> 
> Hi Tom,

---

From: Giuseppe Fioccola <[email-masked]>
Date: Thu, 20 Feb 2020 12:55:06 +0000

Hi Bob and Tom,

This draft is to explore all the alternatives for the IPv6 application. And we discussed 4 encapsulations for 3 scenarios:
https://mailarchive.ietf.org/arch/msg/ipv6/B936R24YXNfYteklKQcWyzfER68
While hop-by-hop measure is accurate, it will also introduce costs. The measure for some of the nodes can be used to limit the problem to a segment and to reduce costs.

In case of SRv6 application we have two possibilities: Destination Option before the Routing Header or SRH TLV. In theory they have an equivalent behavior but if we use DOH + SRH we have to use two extension headers instead of one. And when using DOH + SRH, the DOH could probably be dropped or sent to the slow path. SRH TLV would fit better for SRv6.
For this reason we think that SRH TLV is worth to be explored in addition to HBH and DOH.

How about keep mentioning within the draft all the possibilities for now?

Regards,

Giuseppe

-----Original Message-----
From: Bob Hinden [mailto:[email-masked]] 
Sent: Wednesday, February 19, 2020 7:48 AM
To: Giuseppe Fioccola <[email-masked]>
Cc: Bob Hinden <[email-masked]>; Tom Herbert <[email-masked]>; IPv6 List <[email-masked]>
Subject: Re: Comments on <draft-fz-6man-ipv6-alt-mark-05>

Giuseppe,

Bob

---

From: Tom Herbert <[email-masked]>
Date: Thu, 20 Feb 2020 07:43:59 -0800

On Thu, Feb 20, 2020 at 4:55 AM Giuseppe Fioccola
<[email-masked]> wrote:
> In case of SRv6 application we have two possibilities: Destination Option before the Routing Header or SRH TLV. In theory they have an equivalent behavior but if we use DOH + SRH we have to use two extension headers instead of one. And when using DOH + SRH, the DOH could probably be dropped or sent to the slow path.

Giuseppe,

An SRH with TLVs could also be dropped or sent to the slow path just
as easily. The hard part of this would be processing TLVs in the fast
path. Whether the TLV list is DOH, HBH, or SRV6 makes no difference
for processing cost.

> SRH TLV would fit better for SRv6.

Again, SRv6 is just one use case. HBH options work in all cases of
IPv6, DOH works for all types of routing header. For instance, DOH
will work with CRH which doesn't define its own TLVs.

> How about keep mentioning within the draft all the possibilities for now?
I think creating an SRv6 TLV for this is uncessary complexity, a
narrow use case, not what SRv6 TLVs were intended for, and potentially
undermines the communities' efforts to deploy the existing
extensibility mechanisms of IPv6. I'd also point out that SRv6 TLVs,
unlike HBH and DOH, break AH (discussed on the list) and AFAIK there
is not yet a single implementation that properly implements SRv6 TLVs
hence any statements that they are going to be more deployable than
HBH or DOH are more intuition than empirical.

Tom

---

From: Tianran Zhou <[email-masked]>
Date: Fri, 21 Feb 2020 01:12:12 +0000

Hi Tom,

In addition to drop and send to the slow path, device can also bypass the packet when it cannot deal with TLVs. Bypass can keep the continuity which is helpful to the measurement deployment.
We talk about the SRv6 network. So SRH is well supported, and if the device cannot deal with the TLV, just bypass.
I agree that HbH and DoH can fiit more generic use cases, so we worked on them. But as we are also developing and deploying the SRv6 network, we just consider this exact "narrow case".
So I think we need to consider all these 4 encapsulations.

Cheers,
Tianran

-----Original Message-----
From: ipv6 [mailto:[email-masked]] On Behalf Of Tom Herbert
Sent: Thursday, February 20, 2020 11:44 PM
To: Giuseppe Fioccola <[email-masked]>
Cc: IPv6 List <[email-masked]>; Bob Hinden <[email-masked]>
Subject: Re: Comments on <draft-fz-6man-ipv6-alt-mark-05>

Giuseppe,

An SRH with TLVs could also be dropped or sent to the slow path just as easily. The hard part of this would be processing TLVs in the fast path. Whether the TLV list is DOH, HBH, or SRV6 makes no difference for processing cost.

> SRH TLV would fit better for SRv6.

Again, SRv6 is just one use case. HBH options work in all cases of IPv6, DOH works for all types of routing header. For instance, DOH will work with CRH which doesn't define its own TLVs.

> How about keep mentioning within the draft all the possibilities for now?
I think creating an SRv6 TLV for this is uncessary complexity, a narrow use case, not what SRv6 TLVs were intended for, and potentially undermines the communities' efforts to deploy the existing extensibility mechanisms of IPv6. I'd also point out that SRv6 TLVs, unlike HBH and DOH, break AH (discussed on the list) and AFAIK there is not yet a single implementation that properly implements SRv6 TLVs hence any statements that they are going to be more deployable than HBH or DOH are more intuition than empirical.

Tom

> Cc: Bob Hinden <[email-masked]>; Tom Herbert 
> <[email-masked]>; IPv6 List <[email-masked]>
> >>> ------------------------------------------------------------------
> >>> -- IETF IPv6 working group mailing list [email-masked] 
> >>> Administrative

---

From: Tom Herbert <[email-masked]>
Date: Thu, 20 Feb 2020 19:20:02 -0800

On Thu, Feb 20, 2020, 5:12 PM Tianran Zhou <[email-masked]> wrote:

> Hi Tom,
>
> In addition to drop and send to the slow path, device can also bypass the
> packet when it cannot deal with TLVs. Bypass can keep the continuity which
> is helpful to the measurement deployment.
> We talk about the SRv6 network.

Tianran,

A terminology nit here. "SRv6 network" is misleading. SRv6 is a type of
routing header that may be used in an IPv6 network", but it is still
fundamentally an "IPv6 network" and all the rules and requirements of IPv6
apply.

So SRH is well supported,

Not SRH TLVs at this point.

and if the device cannot deal with the TLV, just bypass.

This argument was made when the SRv6 proponents were justifying having TLVs
in the protocol. If allowing nodes to ignore TLVs is a requirement, the we
can relax the requirement that destinations need to process destination
options before the routing header, similar to and with the same
justification that intermediate nodes can ignore HBH options in RFC8200.

Tom

I agree that HbH and DoH can fiit more generic use cases, so we worked on
> them. But as we are also developing and deploying the SRv6 network, we just
> consider this exact "narrow case".
> > This draft is to explore all the alternatives for the IPv6 application.
> And we discussed 4 encapsulations for 3 scenarios:
> > While hop-by-hop measure is accurate, it will also introduce costs. The
> measure for some of the nodes can be used to limit the problem to a segment
> and to reduce costs.
> >
> > In case of SRv6 application we have two possibilities: Destination
> Option before the Routing Header or SRH TLV. In theory they have an
> equivalent behavior but if we use DOH + SRH we have to use two extension
> headers instead of one. And when using DOH + SRH, the DOH could probably be
> dropped or sent to the slow path.
>
> Giuseppe,
>
> An SRH with TLVs could also be dropped or sent to the slow path just as
> easily. The hard part of this would be processing TLVs in the fast path.
> Whether the TLV list is DOH, HBH, or SRV6 makes no difference for
> processing cost.
>
> Again, SRv6 is just one use case. HBH options work in all cases of IPv6,
> DOH works for all types of routing header. For instance, DOH will work with
> CRH which doesn't define its own TLVs.
>
> I think creating an SRv6 TLV for this is uncessary complexity, a narrow
> use case, not what SRv6 TLVs were intended for, and potentially undermines
> the communities' efforts to deploy the existing extensibility mechanisms of
> IPv6. I'd also point out that SRv6 TLVs, unlike HBH and DOH, break AH
> (discussed on the list) and AFAIK there is not yet a single implementation
> that properly implements SRv6 TLVs hence any statements that they are going
> to be more deployable than HBH or DOH are more intuition than empirical.
>
> Tom
>
> > Regards,
> >
> > Giuseppe
> >
> >
> > I have read your response, and the emails with Tom, I am still not
> convinced TLVs are needed, and not what the TLVs in SRH were intend for.
> You can get the same behavior with hop-by-hop and destination options.
> >
> > Bob
> >
> >
> > >>> This draft defines an alt mark option for hop-by-hop options and
> destination options, as well as a TLV for SRH.  To my thinking, the TLV is
> not intended a general vehicle for carrying IPv6 options.  It is intended
> to carry SRH meta data.   The relevant text from Section 2.1 SRH TLVs of
> draft-ietf-6man-segment-routing-header-26:
> > >>>
> > >>> I don’t see how the alt-mark information can be considered meta-data
> for segment processing.   I think this draft should focus on an option for
> hop-by-hop and destionation option headers.  The SRH TLV should be removed.
> > >>>
> > >>> [GF]: The alt-mark TLV is considered "meta-data for segment
> processing" as the relevant text of
> draft-ietf-6man-segment-routing-header-26. Indeed, the packet is originated
> at the source, the SRH is added in order to steer the packet across a given
> path that we want to monitor. Therefore this is perfectly in line with the
> SRH draft to insert a TLV that is going to be processed by the segment
> endpoint for monitoring purposes. In this case, the process means to read
> the marking field and update, locally on the node, both the counters and
> the timestamps for the measurement.
> > >>
> them would do the same processing on the TLV, the only difference I see is
> that the nodes that process the option in the segment in the SRH case would
> be a subset of the nodes processing the HBH. Is there any advantage to
> limiting the nodes that handle the option? It seems to me that having more
> nodes in the path look at the options would be better or at least the same
> quality of measurement.
> > >>
> routing processing, lest everytime someone come up with a new option we
> need to have both a HBH option and as SRH option because everyone else does
> it.
> > >>
> > >> Tom
> > >>
> > >> [GF]: I think we should focus on the best way to implement the SRv6
> performance measurement. In this case we do not want all nodes in the path
> to process the alt-mark bits, so this is exactly the reason for using SRH
> TLV. The Use Case is to monitor the segment endpoint connectivity and not
> each individual hop. Therefore, in this specific case, the HBH is clearly
> not the right tool and the SRH TLV fits the role.
> > >>
> it, the point of alt-mark is to measure the characteristics of the network
> path. In segment routing there may be other nodes in a network path that
> are not in the segment list. If all the nodes in the path are expressed in
> the segment list, then the same measurements should result with either
> technique. If there are nodes in the path not in the SRH route list, then
> those nodes would be able to participate in the measurement and hence
> provide better results. Again, it seems like the goal is to measure
> performance through the network path, not just some subset of nodes.
> > >
> in the route list, putting the alt-mark in destination options before the
> routing header would be serve that purpose. And, note that would work for
> all types of routing headers, not just the narrow use case of SRH which is
> what we get in using an SRH TLV.
> > >
> > > Tom
> > >
> > > [GF]: Consider that our scope is to define the Alt-Mark data field for
> IPv6 in general indeed it can be encoded as HBH Option, Destination Option
> or SRH TLV. The alternatives you mentioned are possible and are already
> described within the draft. However we have to consider that the HBH Option
> header is examined by the nodes along the path only if its processing is
> explicitly configured (RFC8200) and both RFC7045 and RFC8200 do not
> recommend the introduction of new HBH Options headers because nodes may
> ignore, drop or assign to a slow processing path. For this reason we cannot
> rely only on HBH Options. In addition the use of Destination Option before
> the Routing Header for HBH action would cause worse performance, so it
> would be better to select the way that fits better the use case to monitor.
> Anyway the draft aims to explore all the alternatives.
> > >
> > >>>
> > >>> The Security Considerations section of the draft is empty.   Like
> most new things proposed, there may be security issues.   With this text,
> it hard to evaluate the security issues.
> > >>>
> > >>> [GF]: Sure I will add some text here. I can be inspired from RFC8321
> that includes a detailed Security Considerations section.
> > >>>
> > >>> However, there are no normative references to these documents.  As I
> also noted earlier, RFC8231 is Experimental.  Why wasn’t this addressed in
> this draft?
> > >>>
> > >>> [GF]: Yes, you are right. I can move RFC8200,
> draft-ietf-6man-segment-routing-header and RFC8321 as normative references.
> RFC 8321 is Experimental because in IPPM we decided to describe the very
> general performance measurement methodology that can be applied for all the
> protocols. So the focus of RFC8321 is only on the methodology and not on
> its application (the only example mentioned in RFC8321 was in a lab
> environment with the reuse of DSCP fields or the unused bit of IPv4
> header). To be Standard we need to use some "dedicated" bits and that is
> the purpose of this draft: the application of this straightforward method
> to IPv6.
> > >>>
> > >>> [GF]: It is just to have an example of how a destination/hbh option
> is processed if SRH is present. I will review the text here.
> > >>>
> > >>>>
> > >>> “hiding” ?   I don’t follow, they aren’t hidden, destination options
> are processed at the destination.  Please rewrite.
> > >>>
> > >>> --