Return-Path: <robert@raszuk.net>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id EDFE4120251
 for <idr@ietfa.amsl.com>; Thu, 27 Jun 2019 03:49:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 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, RCVD_IN_DNSWL_NONE=-0.0001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001]
 autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
 header.d=raszuk.net
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 NwctgXOrA66P for <idr@ietfa.amsl.com>;
 Thu, 27 Jun 2019 03:49:48 -0700 (PDT)
Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com
 [IPv6:2607:f8b0:4864:20::82b])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 9C521120240
 for <idr@ietf.org>; Thu, 27 Jun 2019 03:49:48 -0700 (PDT)
Received: by mail-qt1-x82b.google.com with SMTP id i34so1883390qta.6
 for <idr@ietf.org>; Thu, 27 Jun 2019 03:49:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; 
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=yAwZgAcmiNy/Ev0AhK0GJN7pttbe9aQ1LKRqc4i1akU=;
 b=cGpozCUL2dAGLjG+ph/0Lr8EgGfJpYQoY5USPBBJlycQl4mpZj1GWQ9AqyDQdW4pVe
 LHOX15mCED3XH/NC63KChdrmKn++YdKdpv8bGiNNfYJp3mGtq9TJSJRxJcD6lgWOnoLc
 i1EVoeql5fDbeeUT++kNbIDakFdB05TxDvFE+cn+qqoXT0i2EIl/lCHBIwplHLL00Chv
 7mfEqafLxdmoOfsrhpYXL+z0X1+MXKKq7Fb9KXkzbht2HWkcr+l3P4sFM2LOqebDR1m3
 to7Y3I8vW4N35Jz1xZm0WxkN3uhF8K4vhd9IACj+tyTH787MjjguvltKIb+yyWikQGqW
 rDJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=yAwZgAcmiNy/Ev0AhK0GJN7pttbe9aQ1LKRqc4i1akU=;
 b=ogxieRW8aJxibZp1N4ifgQuyIfd+OQm3m1lXWjGr541JIIbJ5st6fd8lD/YNHiE+71
 y66Yy0ET3Jz9rfesKNnLvVB51REC7pUoPkC5eTEoGvHESjbecwvCncaYIR+bh9DBf0sH
 bE8WbUJ0wSoQ7f2nJZ0mTGr8gtP6i6X68KUmgt8zBJyO2jiwjI1nlowSXVGAn/Xy5JXm
 EJKcE5BnlDuWzWM3Ah82sLkgYX2jp4shWygImxIh4WHlbNJwrVd6/gnaJfJYHCnenqO9
 mqY2KxmUSLlCFYDSqtCZM3HIw3r+qJN47Jw5ixKXOz77kvuyMtM/odelfSURPtQk1JUJ
 rHdQ==
X-Gm-Message-State: APjAAAUDjKxyC4svRhIqGR90ni91edC8LLSfE8pGlGhicLi/KKmF6ltO
 nYdrhLI/xlx3+jT9oE9HAF8+TGXY2dzxtPEHvpA/BQ==
X-Google-Smtp-Source: APXvYqyHbBIYURigOhLoVPG5idU3E05iAvsqIhBWo4pHHb18ejnPSX1k2Vm3R6xD4VQKBqtSpc8bt/ki5EQCt6awGCE=
X-Received: by 2002:aed:228d:: with SMTP id p13mr2443330qtc.208.1561632587497; 
 Thu, 27 Jun 2019 03:49:47 -0700 (PDT)
MIME-Version: 1.0
References: <19AB2A007F56DB4E8257F949A2FB9858E5BDBB89@NKGEML515-MBS.china.huawei.com>
 <9DB8FCD5-DD04-4EB1-AEA5-A33B5B6F1BC4@gmx.com>
 <19AB2A007F56DB4E8257F949A2FB9858E5BE201C@NKGEML515-MBS.china.huawei.com>
 <B577834D-4010-42DF-AF28-690A1BD2A5AC@telekom.de>
 <16253F7987E4F346823E305D08F9115AAB8D61CE@nkgeml514-mbx.china.huawei.com>
 <CAOj+MMGdoi1ROTmbuFu8eXWix6JfYwO1TCPUakyOEdTU01-1zA@mail.gmail.com>
 <B17A6910EEDD1F45980687268941550F4D87EC92@MISOUT7MSGUSRCD.ITServices.sbc.com>
 <8E1E4882-7850-4BF4-82EC-82BDFE9BF408@gmail.com>
 <CAOj+MMGKN9drVzJgrE6WVkF6k43Vqe6TNwK9VpHpFbJTafKUdA@mail.gmail.com>
 <880939EA-32A0-4869-A272-0E7416DED534@gmail.com>
 <16253F7987E4F346823E305D08F9115AAB8D7E66@nkgeml514-mbx.china.huawei.com>
In-Reply-To: <16253F7987E4F346823E305D08F9115AAB8D7E66@nkgeml514-mbx.china.huawei.com>
From: Robert Raszuk <robert@raszuk.net>
Date: Thu, 27 Jun 2019 12:49:36 +0200
Message-ID: <CAOj+MMGQ36AUbk45L6=N-ATwc+sXfyb3a7esu8-NxZgrj7y0GA@mail.gmail.com>
To: Xiejingrong <xiejingrong@huawei.com>
Cc: Alexander Okonnikov <alexander.okonnikov@gmail.com>, 
 "softwires@ietf.org" <softwires@ietf.org>, "idr@ietf.org" <idr@ietf.org>,
 "bess@ietf.org" <bess@ietf.org>, "draft-dawra-bess-srv6-services@ietf.org"
 <draft-dawra-bess-srv6-services@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a5d6d2058c4beb37"
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/dCHj8mTKQVoO5-e-3tgaiLlaSCo>
Subject: Re: [Idr] [bess] [Softwires] Regarding the Next Hop Network Address
 coding for IPv4 VPN over IPv6 Core in RFC5549
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>,
 <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>,
 <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Jun 2019 10:49:52 -0000

--000000000000a5d6d2058c4beb37
Content-Type: text/plain; charset="UTF-8"

> Back to my suggestion: implementation should interpret nexthop RD+IPv4
and nexthop IPv4 the same, and interpret nexthop RD+IPv6 and nexthop IPv6
the same.

When elements of BGP UPDATE message are being parsed code must know what to
expect. Note that we are dealing here with deployed SAFI 128 for nearly 20
years.

So today there are two ways to know what format of next hop is in MP_REACH:

a) Inferring it from AFI/SAFI per section 3 of RFC4760

or (in addition to the above coarse assumption)

b) Inferring it from the discrete value of next hop length field as defined
in section 3 of RFC5549

Note that if we would be defining new SAFI we can write anything we like to
the rules of constructing the update message. But here again we are dealing
with something which is deployed so sort of operating on the plane in
flight.

If implementation can infer next hop type from length we are safe to define
all sections to have next hop length = 16 octets and be done. But if there
are some implementations which would only take AFI/SAFI to check if the
next hop is correct or even further to check if the next hop length is
correct then we have a problem.

/* Btw this notion of next hop length = 32 is bizarre ! I have never seen
any BGP implementation sending two next hops (global IPv6 address followed
by link local IPv6 address) not I am able to find any docs describing how
any BGP stack would handle it. IMHO we should move this 32 next hop length
to historic asap. */

To the msg from Martin,

> maybe the WG would like to reach a conclusion on how to treat that
erratum:
> http://www.rfc-editor.org/errata/eid5738

I would vote to reject the errata. There is no value of stuffing 8 octet of
zeros in the next hop field. If the RFC got defined in 2012 that really
means that most implementations are capable of inferring next hop format
from the length field - which is very good. Accepting the errata would be a
step backwords.

Thx,
R.

On Thu, Jun 27, 2019 at 11:15 AM Xiejingrong <xiejingrong@huawei.com> wrote:

> Thanks for the RFC historical lessons.
>
> --there was historically some assumption that next hop must be of the same
> AF as prefix.
>
> --RFC 2858 says that Next Hop field should match AFI. On the other hand,
> RFC 4760 says that Next Hop Field should match combination of AFI/SAFI.
>
> --authors of RFC 4364 were trying to make it consistent with 4760.
>
> --Also, drafts of RFC 4364 and RFC 4760 were being developed practically
> at the same time period.
>
>
>
> The problem is clear, the nexthop field has been inconsistent between
> different L3VPN/MVPN scenarios and different implementations in the long
> history.
>
>
>
> <draft-dawra-bess-srv6-services-00> is the latest draft, but it has
> different nexthop in section 3.1 to 3.4, in the year 2019.
>
>
>
> Back to my suggestion: implementation should interpret nexthop RD+IPv4 and
> nexthop IPv4 the same, and interpret nexthop RD+IPv6 and nexthop IPv6 the
> same.
>
>
>
> I think it may be helpful for <draft-dawra-bess-srv6-services-00> to add
> the above text, and update RFC4364/4659/4760/5549, to eliminate the worries
> about interoperation. ----is there any worries about interoperation ?
>
>
>
> Thanks
>
> Jingrong
>
>
>
>
>
> *From:* Alexander Okonnikov [mailto:alexander.okonnikov@gmail.com]
> *Sent:* Wednesday, June 26, 2019 9:38 PM
> *To:* Robert Raszuk <robert@raszuk.net>
> *Cc:* UTTARO, JAMES <ju1738@att.com>; Xiejingrong <xiejingrong@huawei.com>;
> softwires@ietf.org; idr@ietf.org; ian.farrer@telekom.de; bess@ietf.org;
> ianfarrer@gmx.com
> *Subject:* Re: [Idr] [bess] [Softwires] Regarding the Next Hop Network
> Address coding for IPv4 VPN over IPv6 Core in RFC5549
>
>
>
> Hi Robert,
>
>
>
> Sorry, I was not so precise :-) Of course, RD part in Next Hop is not
> copied from RD of NLRI, but zeroed. I was trying to explain why Next Hop
> field in RFC 4364 and RFC 4659 has format RD:IP (VPNvX address) rather than
> just IP.
>
>
>
> Thank you!
>
>
>
>
>

--000000000000a5d6d2058c4beb37
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><span style=3D"color:rgb(31,73,125);font-=
family:Calibri,sans-serif;font-size:14px">&gt; Back to my suggestion: imple=
mentation should interpret nexthop RD+IPv4 and nexthop IPv4 the same, and i=
nterpret nexthop RD+IPv6 and nexthop IPv6 the same.</span>=C2=A0</div><div =
dir=3D"ltr"><br></div><div>When elements of BGP UPDATE message are being pa=
rsed code must know what to expect. Note that we are dealing here with depl=
oyed SAFI 128 for nearly 20 years.=C2=A0</div><div><br></div><div>So today =
there are two ways to know what format of next hop is in MP_REACH:=C2=A0</d=
iv><div><br></div><div>a) Inferring it from AFI/SAFI per section 3 of RFC47=
60=C2=A0</div><div><br></div><div>or (in addition to the above coarse assum=
ption)=C2=A0</div><div><br></div><div>b) Inferring it from the discrete val=
ue of next hop length field as defined in section 3 of RFC5549</div><div><b=
r></div><div>Note that if we would be defining new SAFI we can write anythi=
ng we like to the rules of constructing the update message. But here again =
we are dealing with something which is deployed so sort of operating on the=
 plane in flight.=C2=A0<br></div><div><br></div><div>If implementation can =
infer next hop type from length we are safe to define all sections to have =
next hop length =3D 16 octets and be done. But if there are some implementa=
tions which would only take AFI/SAFI to check if the next hop is correct or=
 even further to check if the next hop length is correct then we have a pro=
blem.=C2=A0</div><div>=C2=A0</div><div>/* Btw this notion of next hop lengt=
h =3D 32 is bizarre ! I have never seen any BGP implementation sending two =
next hops (global IPv6 address followed by link local IPv6 address) not I a=
m able to find any docs describing how any BGP stack would handle it. IMHO =
we should move this 32 next hop length to historic asap. */</div><div dir=
=3D"ltr"><br></div><div>To the msg from Martin,</div><div dir=3D"ltr"><br><=
/div><div dir=3D"ltr">&gt; maybe the WG would like to reach a conclusion on=
 how to treat that erratum:<br></div><div dir=3D"ltr">&gt; <a href=3D"http:=
//www.rfc-editor.org/errata/eid5738">http://www.rfc-editor.org/errata/eid57=
38</a><br></div><div dir=3D"ltr"><br></div><div>I would vote to reject the =
errata. There is no value of stuffing 8 octet of zeros in the next hop fiel=
d. If the RFC got defined in 2012 that really means that most implementatio=
ns are capable of inferring next hop format from the length field - which i=
s very good. Accepting the errata would be a step backwords.=C2=A0</div><di=
v dir=3D"ltr"><br></div><div>Thx,<br>R.</div><div><br></div><div>On Thu, Ju=
n 27, 2019 at 11:15 AM Xiejingrong &lt;<a href=3D"mailto:xiejingrong@huawei=
.com">xiejingrong@huawei.com</a>&gt; wrote:<br></div><div class=3D"gmail_qu=
ote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo=
rder-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang=3D"ZH-CN">
<div class=3D"gmail-m_-4321444005660301896WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Thanks for the RFC historic=
al lessons.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">--there was historically so=
me assumption that next hop must be of the same AF as prefix.<u></u><u></u>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">--RFC 2858 says that Next H=
op field should match AFI. On the other hand, RFC 4760 says that Next Hop F=
ield should match combination of AFI/SAFI.
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">--authors of RFC 4364 were =
trying to make it consistent with 4760.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">--Also, drafts of RFC 4364 =
and RFC 4760 were being developed practically at the same time period.<u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">The problem is clear, the n=
exthop field has been inconsistent between different L3VPN/MVPN scenarios a=
nd different implementations in the long history.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">&lt;draft-dawra-bess-srv6-s=
ervices-00&gt; is the latest draft, but it has different nexthop in section=
 3.1 to 3.4, in the year 2019.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Back to my suggestion: impl=
ementation should interpret nexthop RD+IPv4 and nexthop IPv4 the same, and =
interpret nexthop RD+IPv6 and nexthop IPv6
 the same.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">I think it may be helpful f=
or &lt;draft-dawra-bess-srv6-services-00&gt; to add the above text, and upd=
ate RFC4364/4659/4760/5549, to eliminate the worries
 about interoperation. ----is there any worries about interoperation ?<u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Thanks<u></u><u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Jingrong<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt;font=
-family:Calibri,sans-serif">From:</span></b><span lang=3D"EN-US" style=3D"f=
ont-size:11pt;font-family:Calibri,sans-serif"> Alexander Okonnikov [mailto:=
<a href=3D"mailto:alexander.okonnikov@gmail.com" target=3D"_blank">alexande=
r.okonnikov@gmail.com</a>]
<br>
<b>Sent:</b> Wednesday, June 26, 2019 9:38 PM<br>
<b>To:</b> Robert Raszuk &lt;<a href=3D"mailto:robert@raszuk.net" target=3D=
"_blank">robert@raszuk.net</a>&gt;<br>
<b>Cc:</b> UTTARO, JAMES &lt;<a href=3D"mailto:ju1738@att.com" target=3D"_b=
lank">ju1738@att.com</a>&gt;; Xiejingrong &lt;<a href=3D"mailto:xiejingrong=
@huawei.com" target=3D"_blank">xiejingrong@huawei.com</a>&gt;; <a href=3D"m=
ailto:softwires@ietf.org" target=3D"_blank">softwires@ietf.org</a>; <a href=
=3D"mailto:idr@ietf.org" target=3D"_blank">idr@ietf.org</a>; <a href=3D"mai=
lto:ian.farrer@telekom.de" target=3D"_blank">ian.farrer@telekom.de</a>; <a =
href=3D"mailto:bess@ietf.org" target=3D"_blank">bess@ietf.org</a>; <a href=
=3D"mailto:ianfarrer@gmx.com" target=3D"_blank">ianfarrer@gmx.com</a><br>
<b>Subject:</b> Re: [Idr] [bess] [Softwires] Regarding the Next Hop Network=
 Address coding for IPv4 VPN over IPv6 Core in RFC5549<u></u><u></u></span>=
</p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi Robert,<u></u><u></u></span>=
</p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Sorry, I was not so precise :-)=
 Of course, RD part in Next Hop is not copied from RD of NLRI, but zeroed. =
I was trying to explain why Next Hop field in RFC 4364 and RFC 4659 has for=
mat RD:IP (VPNvX address) rather than
 just IP.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Thank you!<u></u><u></u></span>=
</p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><br>
<br>
<u></u><u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
</div>
</div>

</blockquote></div></div>

--000000000000a5d6d2058c4beb37--

