Re: [Idr] Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt

Linda Dunbar <> Fri, 21 June 2019 15:26 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 628A612030F; Fri, 21 Jun 2019 08:26:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.01
X-Spam-Status: No, score=-0.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id X0LyYonXdolM; Fri, 21 Jun 2019 08:26:16 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 78DA912030D; Fri, 21 Jun 2019 08:25:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vw6T3VTpi9mDcF+iAGPaqOC88yd+j6DBUs8hAfDYNr4=; b=C818WWZKFT2KgB1Fh+OnoJ1QP1pfDrOdD+nJ+/GkC6gxoePdVj+THsz4Sj77lvYlsajo9x11ZMuZ/hMIsCUFajBymfqRA43PAerfq0bvqDl34qA9bhxdUXwaJse8f0vxyMWM/50zRzmQUMQMYNBaK7iRFW8Lx0uZqxfrf+H5vEM=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.5; Fri, 21 Jun 2019 15:25:38 +0000
Received: from ([fe80::b5e8:95cb:5d8e:9397]) by ([fe80::b5e8:95cb:5d8e:9397%7]) with mapi id 15.20.2008.014; Fri, 21 Jun 2019 15:25:38 +0000
From: Linda Dunbar <>
To: John E Drake <>, "" <>, "" <>
Thread-Topic: Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt
Thread-Index: AdUm2V3OpdsU1OeER3S07GObn2sxqQAuM8HQAAeqFDAAAhbNoAAAx2nAAB0KTXAAA76b8A==
Date: Fri, 21 Jun 2019 15:25:38 +0000
Message-ID: <>
References: <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
msip_labels: MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Enabled=True; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SiteId=bea78b3c-4cdb-4130-854a-1d193232e5f4;; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SetDate=2019-06-20T19:11:03.7993880Z; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Name=Juniper Internal; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Application=Microsoft Azure Information Protection; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ActionId=02a3f884-fb1d-482b-98e6-b0a47699f04b; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Extended_MSFT_Method=Automatic
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e090c39d-8419-400f-69d4-08d6f65cb71e
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR13MB3552;
x-ms-traffictypediagnostic: MN2PR13MB3552:
x-ms-exchange-purlcount: 3
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0075CB064E
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(366004)(346002)(39850400004)(376002)(136003)(189003)(199004)(2501003)(7696005)(33656002)(2201001)(5024004)(236005)(229853002)(14444005)(1941001)(9686003)(55016002)(86362001)(71200400001)(6306002)(99286004)(53936002)(256004)(71190400001)(25786009)(54896002)(316002)(8936002)(2906002)(76176011)(68736007)(7736002)(110136005)(74316002)(81166006)(81156014)(8676002)(66066001)(53546011)(6246003)(478600001)(66574012)(6506007)(102836004)(14454004)(5660300002)(606006)(26005)(6116002)(52536014)(790700001)(3846002)(186003)(76116006)(446003)(11346002)(476003)(66946007)(6436002)(66476007)(66556008)(64756008)(66446008)(73956011)(486006)(44832011); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR13MB3552;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: 6YgwWHMjXjzxvemAePtQpbJSsVHkTCLtzb5B/3RLy4ySl5GxY15q7FqYH2eLZTBcH/LdIu0af417p2Qaz1OyhVEtIpnKEasO0hPklJ+tZrN6plQq9zL9Vkbp2PKc6DHUHPh0FDY3EJymGjFax2/XP0Vu4MSzz5WwDMgv67RM8pcNxEZl9D+m1/AF6Xghzb4Dmxcszpu7qDtJ+gigc4yEafJmvab1p4FKHsq0yUtH6zhnimlRkgdAfaqxw4mVW9Bkwlgxt7ZzqyogUuDqE4V4ZUaIM8ICwRhS3iNNNwOyd1smlvp/dimSinPf6SyGTyGw+SmpSgEM2zNUeTsZx1WchkWzYZJX8iceI3tzkIPZSn1rfcuh580MU2Egrv38VQ/wl7e5HGsVA3c1u7kbQxY5TfMKDtF52LH94+S6OYUoH3U=
Content-Type: multipart/alternative; boundary="_000_MN2PR13MB35826741E00B40BBFE12616085E70MN2PR13MB3582namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: e090c39d-8419-400f-69d4-08d6f65cb71e
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2019 15:25:38.7322 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0fee8ff2-a3b2-4018-9c75-3a1d5591fedc
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB3552
Archived-At: <>
Subject: Re: [Idr] Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 21 Jun 2019 15:26:22 -0000


I am with you hoping that the Tunnel-encap authors can clarify more.
Based on the description of how the receivers of the Tunnel UPDATE msg add the Encapsulation Headers to client routes described in the Tunnel-Encap draft, it should be:

  *   If the "Remote endpoint" sub-TLV was present and containing the same address as the route itself, then the receivers of the Tunnel UPDATE would construct the encapsulation header with the Outer Destination Address equal to the "route itself" (which is carried in the Remote Endpoint sub-TLV).
I think this can be a serious problem.

  *   if the "Remote Endpoint" sub-TLV was not present, the receivers of the Tunnel UPDATE would assume the UPDATE originator's address as the Tunnel Remote end point.

If the processing behavior described above is NOT what the Tunnel-Encap draft intended, then the Tunnel-Encap draft needs to add text to clarify the description.

Nevertheless, do you have objections of those gaps that Tunnel-Encap and Secure-EVPN:

- Doesn't have the functionality that would help the C-PE to register its WAN Port properties. Some WAN ports are facing public internet with ISP assigned addresses that are in different address space than the SD-WAN address space, some WAN ports are assigned with private addresses which need to propagate NAT information to the trusted peers via Controllers, such as the virtual C-PEs instantiated in public Cloud DCs, and some WAN ports are facing the trusted MPLS network.

- For the same Client route, e.g. 10.1.x.x, attached to a C-PE, need to be encrypted when forwarding to the WAN ports facing untrusted network, and can be forwarded without any encryption towards WAN ports facing trusted network.

Thank you very much for the discussion. I have updated the Gap analysis to reflect what has been discussed in this email thread.


From: John E Drake <>
Sent: Friday, June 21, 2019 8:14 AM
To: Linda Dunbar <>;;
Subject: RE: Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt


It would be useful to get a clarification from the authors.  I had always thought that if the remote endpoint sub-TLV was either not present or present and containing the same address as the route itself, then the information in the tunnel encapsulation attribute pertains to the address specified in the route.  This is the assumption made in the Secure EVPN draft that I mentioned earlier in this thread.

Alternatively, the route could specify a loopback address of the C-PE and the tunnel encapsulation attribute could contain the interface address and characteristics of each of its WAN-facing ports; this is completely compliant with your interpretation that the address specified in the route is reachable through an address specified in the remote endpoint sub-TLV.

[Linda] But there is no field to indicate the property of the WAN ports.

Yours Irrespectively,


Juniper Internal
From: Linda Dunbar <<>>
Sent: Thursday, June 20, 2019 7:08 PM
To: John E Drake <<>>;<>;<>
Subject: RE: Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt


Those addresses stated in the quoted paragraphs are for Clients Routes, i.e. the routes attached to the PE, not the PE's lookback address, correct?
The Loopback Address is specified in the "Remote Endpoint" SubTLV, so that receivers of the UPDATE can establish the Encapsulation with the outer destination address equal to the one specified by the "Remote endpoint" SubTLV.

That was discussed in the long email discussion thread last week.

We can ask the Tunnel-Encap authors to confirm.


From: John E Drake <<>>
Sent: Thursday, June 20, 2019 5:50 PM
To: Linda Dunbar <<>>;<>;<>
Subject: RE: Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt


>From section 5 on the Tunnel Encapsulation Attribute draft:

"[RFC5512] specifies the use of the Tunnel Encapsulation attribute in
BGP UPDATE messages of AFI/SAFI 1/7 and 2/7.  That document restricts
the use of this attribute to UPDATE messsages of those SAFIs.  This
document removes that restriction.

The BGP Tunnel Encapsulation attribute MAY be carried in any BGP
UPDATE message whose AFI/SAFI is 1/1 (IPv4 Unicast), 2/1 (IPv6
Unicast), 1/4 (IPv4 Labeled Unicast), 2/4 (IPv6 Labeled Unicast),
1/128 (VPN-IPv4 Labeled Unicast), 2/128 (VPN-IPv6 Labeled Unicast),
or 25/70 (Ethernet VPN, usually known as EVPN)).  Use of the Tunnel
Encapsulation attribute in BGP UPDATE messages of other AFI/SAFIs is
outside the scope of this document."

What this means is that the tunnel encapsulation draft can be use exactly
as I described in my previous email to describe the characteristics of
of an SD-WAN port.

Yours Irrespectively,


Juniper Internal
From: Linda Dunbar <<>>
Sent: Thursday, June 20, 2019 6:08 PM
To: John E Drake <<>>;<>;<>
Subject: RE: Tunnel-Encap Gaps for SD-WAN described in draft-ietf-rtgwg-net2cloud-gap-analysis-02.txt


Thank you very much for the feedback.
Comments are inserted below:

From: John E Drake <<>>


-       [Tunnel-Encap] doesn't have the functionality that would help the C-PE to register its WAN Port properties.

-       A SD-WAN tunnel, e.g. IPsec-based, requires a negotiation between the tunnel's end points for supported encryption algorithms and tunnel types before it can be properly established, whereas [Tunnel-Encap]  only allow the announcement of one endpoint's supported encapsulation capabilities for specific attached routes and no negotiation between tunnel end points is needed.

[JD]  What you need to do is implement the model described in  the Secure EVPN draft (<>).  Viz, the SD-WAN C-PEs are attached to a route reflector and each uses the route reflector to advertise its security-related  information the other C-PEs.  As we discussed in Prague the tunnel encapsulation attribute is not associated with client routes.  Rather it is associated with the loopback or interface addresses of the advertising SD-WAN C-PE.  I.e., IPv4/IPv6 addresses rather than VPN IPv4/IPv6 addresses

[Linda]Yes, using Loopback address would be a good way for tunnel, but that is not what Tunnel-Encap specified. The draft Tunnel-Encap is to advertise supported Encap capabilities for specified routes.
I have another section (4.3) on the gap analysis for SECURE-EVPN, specifically, Secure-EVPN does not address the scenario of C-PE having some ports facing trusted MPLS VPN and other ports facing the untrusted public Internet. The document assumes that a client route is either forwarded all encrypted through one tunnel, or not encrypted at all through a different tunnel. In SD-WAN, one client route can be forwarded encrypted at one time through the untrusted network and be forwarded unencrypted at different time through MPLS VPN.
If you think the secure-evpn has addressed those scenarios, can you please indicate which section? Thank you.

The establishment of a SD-WAN tunnel can fail, e.g., in case the two endpoints support different encryption algorithms. That is why a SD-WAN tunnel needs to be established and maintained independently from advertising client routes attached to the edge node.

[JD]  See above

-       [Tunnel-Encap] requires all tunnels updates are associated with routes. There can be many client routes associated with the SD-WAN IPsec tunnel between two C-PEs' WAN ports; the corresponding destination prefixes (as announced by the aforementioned routes) may also be reached through the VPN underlay without any encryption.. A more realistic approach to separate SD-WAN tunnel management from client routes association with the SD-WAN tunnels.

[JD]  See above

-       When SD-WAN tunnel and clients routes are separate, the SD-WAN Tunnel establishment may not have routes associated.
There is a suggestion on using a "Fake Route" for a SD-WAN node to use [Tunnel-Encap] to advertise its SD-WAN tunnel end-points properties. However, using "Fake Route" can raise some design complexity for large SD-WAN networks with many tunnels. For example, for a SD-WAN network with hundreds of nodes, with each node having many ports & many endpoints to establish SD-WAN tunnels with their corresponding peers, the node would need as many "fake addresses". For large SD-WAN networks (such as those comprised of more than 10000 nodes), each node might need 10's thousands of "fake addresses", which is very difficult to manage and requires lots of configuration tasks to get the nodes properly set up.

[JD]  There is no need for a 'Fake Route'.  We advertise a tunnel encapsulation attribute with security-related information for a specific SD-WAN port on the C-PE as identified by its IPv4/IPv6 interface address.  If a set of SD-WAN ports have common security-related information a tunnel encapsulation attribute can be advertised with a C-PE's loopback address.

[Linda] this section is for Tunnel-Encap, which doesn't allow Loopback address to be associated with the tunnel. If you think it does, can you please indicate which section? Thank you.