Re: [Teas] Types within ietf-te-path-computation and ietf-te-types Modules

Igor Bryskin <Igor.Bryskin@huawei.com> Wed, 23 January 2019 15:02 UTC

Return-Path: <Igor.Bryskin@huawei.com>
X-Original-To: teas@ietfa.amsl.com
Delivered-To: teas@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 29726124C04 for <teas@ietfa.amsl.com>; Wed, 23 Jan 2019 07:02:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id prssihP6FdX4 for <teas@ietfa.amsl.com>; Wed, 23 Jan 2019 07:02:12 -0800 (PST)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 78346130E6D for <teas@ietf.org>; Wed, 23 Jan 2019 07:02:11 -0800 (PST)
Received: from lhreml704-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 8A3867E38C2BC35F5829 for <teas@ietf.org>; Wed, 23 Jan 2019 15:02:08 +0000 (GMT)
Received: from SJCEML701-CHM.china.huawei.com (10.208.112.40) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 23 Jan 2019 15:02:07 +0000
Received: from SJCEML521-MBX.china.huawei.com ([169.254.1.96]) by SJCEML701-CHM.china.huawei.com ([169.254.3.31]) with mapi id 14.03.0415.000; Wed, 23 Jan 2019 07:02:03 -0800
From: Igor Bryskin <Igor.Bryskin@huawei.com>
To: tom petch <ietfa@btconnect.com>, "sergio.belotti@nokia.com" <sergio.belotti@nokia.com>, "julien.meuric@orange.com" <julien.meuric@orange.com>, "teas@ietf.org" <teas@ietf.org>
CC: "esther.lerouzic@orange.com" <esther.lerouzic@orange.com>, "ahmed.triki@orange.com" <ahmed.triki@orange.com>, "tsaad@cisco.com" <tsaad@cisco.com>
Thread-Topic: [Teas] Types within ietf-te-path-computation and ietf-te-types Modules
Thread-Index: AQHUrLF+MRSI9pFT0EemCcHxg8dUFqW892UQ
Date: Wed, 23 Jan 2019 15:02:02 +0000
Message-ID: <0C72C38E7EBC34499E8A9E7DD00786391C6695D5@sjceml521-mbx.china.huawei.com>
References: <38a2168c-b23d-0324-c058-72ce000a84b4@orange.com> <etPan.5c3dd203.5c1b45c5.2232@localhost> <etPan.5c3dead0.76c532e5.48f3@localhost>, <216f71fd-6cc0-ce1a-7da8-0adc4b38da98@orange.com> <etPan.5c3f2a50.63ff74c0.f8f@localhost> <AM0PR07MB59212DE755A64C1CB4756B63919C0@AM0PR07MB5921.eurprd07.prod.outlook.com>, <005601d4b0b8$a3be0f40$4001a8c0@gateway.2wire.net> <etPan.5c449bb6.8af89c7.fcb@localhost> <033101d4b243$68cb64a0$4001a8c0@gateway.2wire.net>
In-Reply-To: <033101d4b243$68cb64a0$4001a8c0@gateway.2wire.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-cr-hashedpuzzle: CYFL Jtey KHDd K2f8 L9AD T+DX di3A lxpy nrpb tIok z2AF 1NcD ABHRlA== ABJ+iA== ABbDwA== ADBJoA==; 7; YQBoAG0AZQBkAC4AdAByAGkAawBpAEAAbwByAGEAbgBnAGUALgBjAG8AbQA7AGUAcwB0AGgAZQByAC4AbABlAHIAbwB1AHoAaQBjAEAAbwByAGEAbgBnAGUALgBjAG8AbQA7AGkAZQB0AGYAYQBAAGIAdABjAG8AbgBuAGUAYwB0AC4AYwBvAG0AOwBqAHUAbABpAGUAbgAuAG0AZQB1AHIAaQBjAEAAbwByAGEAbgBnAGUALgBjAG8AbQA7AHMAZQByAGcAaQBvAC4AYgBlAGwAbwB0AHQAaQBAAG4AbwBrAGkAYQAuAGMAbwBtADsAdABlAGEAcwBAAGkAZQB0AGYALgBvAHIAZwA7AHQAcwBhAGEAZABAAGMAaQBzAGMAbwAuAGMAbwBtAA==; Sosha1_v1; 7; {5CA9D978-3BD4-4FC6-92B1-78CF72495256}; aQBnAG8AcgAuAGIAcgB5AHMAawBpAG4AQABoAHUAYQB3AGUAaQAuAGMAbwBtAA==; Wed, 23 Jan 2019 14:56:58 GMT; UgBFADoAIABbAFQAZQBhAHMAXQAgAFQAeQBwAGUAcwAgAHcAaQB0AGgAaQBuACAAaQBlAHQAZgAtAHQAZQAtAHAAYQB0AGgALQBjAG8AbQBwAHUAdABhAHQAaQBvAG4AIABhAG4AZAAgAGkAZQB0AGYALQB0AGUALQB0AHkAcABlAHMAIABNAG8AZAB1AGwAZQBzAA==
x-cr-puzzleid: {5CA9D978-3BD4-4FC6-92B1-78CF72495256}
x-originating-ip: [10.47.147.149]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/teas/_3Nl90UcEHMvxqZt4bmIK13xYHs>
Subject: Re: [Teas] Types within ietf-te-path-computation and ietf-te-types Modules
X-BeenThere: teas@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Traffic Engineering Architecture and Signaling working group discussion list <teas.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/teas>, <mailto:teas-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/teas/>
List-Post: <mailto:teas@ietf.org>
List-Help: <mailto:teas-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/teas>, <mailto:teas-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Jan 2019 15:02:16 -0000

Hi Tom,

As you know YANG modeling makes no use of TLVs, hence in order to satisfy RFC5305 we would have to define te_node_id and numbered te_link_id as 128b. This would significantly increase client-server TE related information flow (especially TE tunnel EROs/RROs, each of which could potentially contain hundreds of hops/elements) with no practical justification, which would be a waste.
Furthermore, as mentioned earlier, the TE client-server relationships and information flows are orthogonal to the TE routing flooding and, strictly speaking, TE YANG model attributes do not need to comply bluntly to TE routing RFCs TLVs. For example, a IPv6 only TE routing speaker may still assign a 32b te-node_id to every 128b TE router ID it has learned via routing before conveying TE topology info to its clients.

Igor  

-----Original Message-----
From: tom petch [mailto:ietfa@btconnect.com] 
Sent: Tuesday, January 22, 2019 6:14 AM
To: Igor Bryskin; sergio.belotti@nokia.com; julien.meuric@orange.com; teas@ietf.org
Cc: esther.lerouzic@orange.com; ahmed.triki@orange.com; tsaad@cisco.com
Subject: Re: [Teas] Types within ietf-te-path-computation and ietf-te-types Modules

----- Original Message -----
From: "Igor Bryskin" <Igor.Bryskin@huawei.com>;
Sent: Sunday, January 20, 2019 4:00 PM

Hi Tom,

Lets consider Ipv6 only network. Why in your opinion one would  ever
nesd a 128b long TE Router ID? This would be necessary only if TE Router
ID is one of the router's  global IP addresses. But we seem to agree
that TE Router  needs to be neither IP address nor be global (just a TE
topology unique, and there could be more than one TE topologies any
given router could be part of with a separate TE Router ID/ te-node ID).
And there are also, of course,  abstact TE topologies, where TE Router
IDs are meaningless, while te-node IDs are meaningful.

My question is can you thInk of a practical use case that requires 128b
TE Router ID?

<tp>

Igor

I am very happy to always have a 32 bit TE Router ID but the RFC would
appear not to allow it.

By IPv6 only, I mean no IPv4! i.e. the node has not got a routable IPv4
address.

According to RFC5305, s.4.3, TLV134,

'   The router ID TLV contains the 4-octet router ID of the router ...'
' it guarantees that we have a single stable address that can always be
referenced in a path that will be reachable...'
' If a router implements traffic engineering, it MUST include this TLV
in its LSP.  '

This seems impossible; there is no reachable IPv4 address so it cannot
form TLV134 yet it MUST include a TLV134 which must then be invalid.

RFC6119 IPv6 TE does not update this text in RFC5305 and says
'   The TE Router ID TLV contains a stable IPv4 address that is
routable,
   regardless of the state of each interface. '
Again, no stable IPv4 address so this TLV should not be sent.  RFC6119
adds the possibility of
' The IPv6 TE Router ID TLV is TLV type 140.
  The IPv6 TE Router ID TLV contains a 16-octet IPv6 address.  A stable
   global IPv6 address MUST be used '

so the least bad outcome, for a box with IPv6 connectivity but no IPv4
conectivity, would appear to be to omit TLV134 and include TLV140.

That is my logic.  I am not involved with writing code for this but see
this elephant someway down the line and the need to define te-node-id in
te-types, and the post that started this thread, seems to make it come
closer.

Tom Petch


Probably is worth noting that In the te-topology modeling design team we
have both CSCO and JNPR folks. None of them  has ever raised any issues
with 32b long te-node IDs AFAIK.

Cheers,
Igor

From:tom petch
To:Belotti, Sergio (Nokia - IT/Vimercate),Igor
Bryskin,julien.meuric@orange.com,teas@ietf.org,
Cc:esther.lerouzic@orange.com,ahmed.triki@orange.com,Tarek Saad (tsaad),
Date:2019-01-20 07:07:59
Subject:Re: [Teas] Types within ietf-te-path-computation and
ietf-te-types Modules

----- Original Message -----
From: "Belotti, Sergio (Nokia - IT/Vimercate)"
<sergio.belotti@nokia.com>;
Sent: Friday, January 18, 2019 8:39 AM

Hi Igor,
I think Julien is not arguing about the need or not to have a routable
address but on the fact that ,at the moment, te-types in the description
of te-node-id mention RFC 6119 that means a 128-bit format.

<tp>

No it doesn't.  As your extract below shows, the reference is to
Section 3.2.1 of [RFC6119].
Go read it, it only defines a 32-bit stable IPv4 address; like the other
references, 32 bits rules ok!

Where TE might have problems is with a box that is:
- TE
- IPv6 only, no IPv4
- supports both LSR protocols
- wants to follow the advice that the two LSR protocols should use the
same identifier so that information can be correlated.

OSPF then has
Router Address 32-bit, no structure no semantics, the identifier
Router IPv6 Address 128-bit in TLV Type 3

while the other LSR protocol  has
IPv6 TE Router ID 128-bit TLV type 140.

so the two identifiers for the two LSR protocols would appear to be
irreconcilable.

This is a TE issue, not a modelling one; if the TE is in a seemingly
impossible situation, then the YANG module too will be in a seemingly
impossible situation and it is the TE that needs to be resolved first
before the YANG module can be.

Tom Petch

"typedef te-node-id {
    type yang:dotted-quad;
    description
      "A type representing the identifier for a node in a TE
       topology.
       The identifier is represented as 32-bit unsigned integer in
       the dotted-quad notation.
       This attribute MAY be mapped to the Router Address described
       in Section 2.4.1 of [RFC3630], the TE Router ID described in
       Section 3 of [RFC6827], the Traffic Engineering Router ID
       described in Section 4.3 of [RFC5305], or the TE Router ID
       described in Section 3.2.1 of [RFC6119].
       The reachability of such a TE node MAY be achieved by a
       mechanism such as Section 6.2 of [RFC6827].";


Cheers
Sergio

From: Teas <teas-bounces@ietf.org>; On Behalf Of Igor Bryskin
Sent: Wednesday, January 16, 2019 1:56 PM

Hi Julien,

To your A2.1:

te-node-id (a property of a te topology node) is conceptually
different/orthoganal  from TE-router-id ( a property of a TE enabled
routing protocol speaker). There are many reasons to this, to name a
couple:
1. Tthere could be TE networks (especially in cs layers) that are run
without routing protocols;
2. TE topology could be abstract with a te-node representing an
arbitrary segment of the underlay network.

TE routing is just one way (albeit important) a te topology could be
discovered/managed and the RFCs you mentioned are as important for te
topologies as,say, RSVP RFCs are important for te tunnels, i.e. we can
onlly talk about reference points and convenience of
implementaion of popular use cases, but not something that needs to be
comformant to universally.

To your B1.1:

Tunnel termination point normally represents a physical device where a
TE tunnel is terminated, its clients are adoptrd, etc. (e.g. WDM
transponder) with a certain phyisical address, which may or may not fit
in 64, 128, etc. bit, hence the type is defined as binary. On the other
hand, link termination point (or tp per I2RS topology model) is a
numbered or unnumbered identifier of a link terminated on a node. There
is no need for sharing types between the two because they are totally
unrelated.

Cheers,
Igor

From:Julien Meuric
Date:2019-01-16 04:49:41

Hi Igor,

A.1. I'm glad we agree on using the "te-node-id" type in both places.

A.2. I am not questioning the fact that an ID does not need to be a
routable address; I am just saying that there are (Standard Track) RFCs
that defines 128-bit TE Router IDs (e.g., RFC 6119 section 4.1, as
mentioned below) and the definition of "te-node-id" imported from
"te-types" cannot overlook that (this could be another thread directed
to the authors of ietf-te-types).

B.1. I agree that a tunnel TP is different from a link TP; I do not
suggest to use the same name on these leaves. However, both should point
to the "te-tp-id" space (instead of binary). If you believe there are
some missing encodings in "te-tp-id", what are they?

B.2. It is fine to have 2 different types such as "te-node-id" and
"te-tp-id" (as within the RO part in the tree below), we are in sync on
that.

Cheers,

Julien


On 15/01/2019 15:12, Igor Bryskin wrote:
> Hi Julien,
>
> Two more comments from me and Italo:
> 1.To <http://1.To> align src/dst type with the node-id type is a good
> idea;
> 2. As widely discussed, TE node id, generally speaking, is not
> (pingable) IP address, nor it is a routing protocol  router ID , just
> a number that identifys node uniquely in the TE topology the node
> belongs to, hence uint32 is sufficient.
>
> Cheers,
> Igor
> *From:*Igor Bryskin
> *Date:*2019-01-15 07:27:22
>
> Hi Julien,
>
> 2 comments:
> 1.src (dst)-tp-id below means src/dst tunnel termination point, which
> is different from flink-tp-id below, which menas link termination
> point, i.e. place where a numbered/unnumbered link is terminated on a
> node;
> 2. We discussed a lot and believe that node-id sub-object should be
> different from numbered link-id sub-object ( as per current RSVP and
> PCEP) because there are use cases where one needs to distinguish node
> from link in ERO without necessarily looking into topology
infotmation..
>
> Cheers,
> Igor
> *From:*Julien Meuric
> *Date:*2019-01-15 04:05:43
>
> Hi all,
>
> A colleague of mine has started to implement some pieces of the
> ietf-te-path-computation Yang module. He has already bumped into a
> couple of inconsistencies that are worth sharing.
>
> In this module, we have:
>
> +---- path-request* [request-id]
> |  +---- ...
> |  +---- source?                   inet:ip-address
> |  +---- destination?              inet:ip-address
> |  +---- src-tp-id?                binary
> |  +---- dst-tp-id?                binary
> |  +---- ...
> |  +---- explicit-route-objects
> |  |  +---- route-object-exclude-always* [index]
> |  |  |  +---- index            uint32
> |  |  |  +---- (type)?
> |  |  |     +--:(num-unnum-hop)
> |  |  |     |  +---- num-unnum-hop
> |  |  |     |     +---- node-id?      te-types:te-node-id
> |  |  |     |     +---- link-tp-id?   te-types:te-tp-id
> |  |  |     |     +---- ...
>
> In the above, the types associated to source/destination and x-tp-id
are
> different between the request level and the RO level. This leads us to
2
> fixes to consider on this document:
> - src-tp-id/dst-tp-id should mimic link-tp-id and reuse te-tp-id
instead
> of binary;
> - source/destination and node-id should share a common type (any
reason
> they would not?).
>
> What is more, te-node-id is currently defined in ietf-te-types as
32-bit
> only, whereas the references it mentions include 128-bit format; e.g.
> RFC 6119 (section 3.2.1.) says: "it is useful to have a stable IPv6
> address identifying a TE node. The IPv6 TE Router ID TLV is defined in
> Section 4.1."
> Fixing te-types:te-node-id is a prerequisite to fully solve the 2nd
> issue above.
>
> Thanks,
>
> Julien, et al.