Re: [mpls] [Pals] Mail regarding draft-zzhang-tsvwg-generic-transport-functions

"Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net> Wed, 11 November 2020 16:12 UTC

Return-Path: <zzhang@juniper.net>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2128A3A0141; Wed, 11 Nov 2020 08:12:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.996
X-Spam-Level:
X-Spam-Status: No, score=-1.996 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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=juniper.net header.b=NzOTPYBY; dkim=pass (1024-bit key) header.d=juniper.net header.b=VTALozMA
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 XaP9achs42dI; Wed, 11 Nov 2020 08:12:48 -0800 (PST)
Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (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 35B0D3A011B; Wed, 11 Nov 2020 08:12:48 -0800 (PST)
Received: from pps.filterd (m0108156.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0ABG9Wd6010037; Wed, 11 Nov 2020 08:12:47 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=PPS1017; bh=IXg+wMgbp6H2/qFZcjuUSjghYSY4o3finvibo2aGZms=; b=NzOTPYBYn9KhhSXzMnP/0TcGf7whiT/d5hua5GNTchEFzQaPxUDu/JWbN86uX+HB1Reu XINyaQpszf4EF7a9H1VTDRS1VRJBC71ukwS5xOlo3WvhYA5v3sDDqSEQmcrMfL4mrCbV ubiKsN88GxbgEhDSP8267gR/RUuqPqkISABRh5gWaSo3GZRzVV+9N/72YMAT5cmspn7t /FiTP3OKCeGDLjt9QDk306/weWcb+Y84Al3vC8si/ge3Bf98h1TUGHaMsJDAkV66mtEa WHGFQ4pmmAmns1ykWX4+hTqRryB+G9affcuN5HEIHqQpTt/nTLA2xda9r9mjJwj0vyA4 ig==
Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by mx0a-00273201.pphosted.com with ESMTP id 34q67svyyg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 11 Nov 2020 08:12:46 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NhyR6oXU0zJCzdLatkjG8o5kZo90GK++QgA36gFI/oREYRWRO14KGwXo09c0/kdE024otpDqnczRFsTH5uco/IWc5Yv6LcbR2hSM1KeXcDeFaS+CDkkXckWQXykJuEQoUKcieiJ25tYYPMRy7sRK4tWcmVNXoSKDfKX5YLtaCH75i1MZoGhAGJwE3ggLF2GCGhLPgIMb4KskHHdtT9oOA+pWpOPMy3oJ9Gw3pVLBP8W8ZeG8KmkpZd+gzT1/cKBoY5X6/s6ZnuIvwAJoQWMN3OsME9KeBBJlcx0z1dh4LW4gwaZOnOh19P9CULPN0BEIo5ogSdV/e84SBH3jhm06KA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IXg+wMgbp6H2/qFZcjuUSjghYSY4o3finvibo2aGZms=; b=jq8gOGggYckZCJoiGbCcG5gmOVJb52ONUS3SIxZNVQVOuY+TyrEFLHqp7MFeXncvaBkuiwPTKNvB02cLINskIE2Fcx4bjmytKV56SFf51ySBksWZOmZkgeDxm5F7zsBnWZhqsBC2gaHyM2a3AixDstupUvfblkxOg+5rtGnGlYvcYjZ3tIlWfqOpgS/IIxjC29Pidzx/zSGWwQsfyyQx9VXYEwE0j1Sofgp/1W92BPwLaGzmuiOHD1ZfkEt3ipMyc5cp68nUNBIutsgW0BAgRvOjsvFK9KJSzAZV0bMdVlORddLffjhKZCzpMZpmDOcZvZtSj7UHQOmZi5k9v8OZyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IXg+wMgbp6H2/qFZcjuUSjghYSY4o3finvibo2aGZms=; b=VTALozMAfLTO4bm4NbvfgJrC05lq741E0UZKcb28fJQsN9xWz2g9+1BX9qL5XuvDSAjItWl9RZFkwxqtdWDGOWuwbWf7NZVE9+DIfNV1Knnge8L2sVN8fGGsqCotSQW1ooAPXngtygomwTBLI7kmz3iX8i0ratv/EQ0QAZpW+Ck=
Received: from MN2PR05MB5981.namprd05.prod.outlook.com (2603:10b6:208:c3::15) by MN2PR05MB6254.namprd05.prod.outlook.com (2603:10b6:208:ce::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.13; Wed, 11 Nov 2020 16:12:44 +0000
Received: from MN2PR05MB5981.namprd05.prod.outlook.com ([fe80::2cd5:f786:c003:42c6]) by MN2PR05MB5981.namprd05.prod.outlook.com ([fe80::2cd5:f786:c003:42c6%7]) with mapi id 15.20.3564.021; Wed, 11 Nov 2020 16:12:44 +0000
From: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>
To: Stewart Bryant <stewart.bryant@gmail.com>
CC: "Andrew G. Malis" <agmalis@gmail.com>, "draft-zzhang-tsvwg-generic-transport-functions@ietf.org" <draft-zzhang-tsvwg-generic-transport-functions@ietf.org>, mpls <mpls@ietf.org>, "pals@ietf.org" <pals@ietf.org>
Thread-Topic: [Pals] Mail regarding draft-zzhang-tsvwg-generic-transport-functions
Thread-Index: AQHWt3HSrZv8vql+mUe9YRZAM8x3B6nBfsCAgAB9pNCAAOmmAIAAFVLA
Date: Wed, 11 Nov 2020 16:12:44 +0000
Message-ID: <MN2PR05MB598187CACA481A245F45E891D4E80@MN2PR05MB5981.namprd05.prod.outlook.com>
References: <4CF6B760-9792-45BD-AC35-31C5C70E2646@gmail.com> <CAA=duU2GXO+gwCGiW_FAn-C4WDA4yS6+Kjg=Ojys6Zics5i06w@mail.gmail.com> <MN2PR05MB5981B357959D01F00A001F84D4E90@MN2PR05MB5981.namprd05.prod.outlook.com> <BC44F2A9-A337-4ADE-98EB-939248B7406B@gmail.com>
In-Reply-To: <BC44F2A9-A337-4ADE-98EB-939248B7406B@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-product: dlpe-windows
dlp-version: 11.5.0.60
dlp-reaction: no-action
msip_labels: MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ActionId=1ccfbb44-7a7d-4754-8549-8fb3c9822c9b; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ContentBits=0; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Enabled=true; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Method=Standard; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Name=0633b888-ae0d-4341-a75f-06e04137d755; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SetDate=2020-11-11T14:15:40Z; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SiteId=bea78b3c-4cdb-4130-854a-1d193232e5f4;
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.11]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 02387bf8-717e-4b43-ab6a-08d8865c9f83
x-ms-traffictypediagnostic: MN2PR05MB6254:
x-microsoft-antispam-prvs: <MN2PR05MB625496D93C3905C021CFC0A7D4E80@MN2PR05MB6254.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: sPl/VBFodC+aaY+SCfgAcTk7QLkI3b1CXhW2X/Ph+pF86+wFLZCosP+Lj9NLASJ1c8ptmR3pxeoRBHZ7JDWL0Hm5O5cfB31hzmzW6kotF7FycuJJkCzuksmTnM9/Ik11sPsyRs/ifFYgUVmaGm9HMRPuIMSmydDx24jtg8BvEgwpfnmdxQ00uSDHc+zQ8jDDbi8bNMsLCkkdsNrhVbpctaZ88KZH975a8W0Z534ofFddgtqvRFQ/NYE5OfpkLDUt+4Z6QfuwU7GPJ+rZWgLNpO4m+Nxok17fzyYtPGKJv9UvnEKUOu+nuALnrEFxpyLdQrRWwMDTtnYQdbgQRNeTdYBCFe/v+PMU3dATOUEVR4RkCUWoGqfok+IbCO6McwobL6l4/cdMTL8CCctPnBmneSXvzZgtAbg3Fn74dzdO89MawknB41ko8PFK6QLrk72B5bLMoWOSKU3FamlZPuZckg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR05MB5981.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(39860400002)(396003)(346002)(376002)(33656002)(4326008)(53546011)(83380400001)(52536014)(66574015)(9326002)(54906003)(6506007)(186003)(478600001)(26005)(6916009)(2906002)(316002)(5660300002)(166002)(86362001)(66556008)(9686003)(966005)(7696005)(66446008)(66946007)(8676002)(8936002)(64756008)(55016002)(71200400001)(76116006)(66476007)(30864003)(41533002)(579004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: C49bxyoJ2M9/pyWI/0aV8mMZR9k+hgeWjAGOEFyH1jJNjK/mCXwH4hCSuPZ53gGNzL1n7y+LIxeo8a+4DE4J8SzbCaerJGV5xxdSsJyjpm+YlShmasm0rwzqdes8nYWGF8YPRgvfnAaKghfShucmdx+Pf2lzl3gzcDxJbUSEqx4CJFElOFtUuB/lguExpParaiGLuR3GQs/+n3W3dbqJjX4P0kXuO8MLXHcKWvFoLHrLVR0+6NVtV1vIw98OBKbS9q51nxJIlh/VHHLlHL9Z1GUI6VNR5v8hfRKQXkYVpllFrdfmKn01KTxypnofrCFH9AEOoL9ljplmpcSmLIVDKbvk4JnWMBhEl4E7GOVz/+YcW8ubVm0Z5PvCeiDfOz2p6sjUIAAVZA+Iu7iNdBtutbKZveZZ1kdiF5fdY6YfNS19U/0OIw1iLbGU/Q5270shIHRAOgNWY+SiOCi084lUotBVnbekgEJErquBO1Qu2hYwyUgdY4hw1M8Z5wyU+4ooChjxQbWjgLmo1/4bzZfKYj9Sxrh96Dgao/7CK2c6OgvsjLmYJS+KNMPk7dcHRNC+gaLAqwcIXLAN9z4mh99tJBSTWtkxFNxrF5ot5Br8X/fMthal5IL4693bqgJgj2EzAxjl0CqoGgAHb+YtrPGZ1KhzlV4ylJN/JnbF4HcXB2zgNENT0dERo74S3snWTQ6yRl6V6TNTXiDqJCKmVMZoDer7E0h5Z1O2azVpB9Vf5vD3WfehqaGOavnZU+QMOYej0KrdYeTZO7/d6DoMiuMlzrRPV57Rf/NBviJpOJ20BnK9A/gwIsuDyUkz8tCApMaTPjlMSZsmeDEdGzVpLJqq0THMUKXQ8UGUR+N+MAnBnNffNRq6kAuGy9edcBGSW0TfJvxQV4m3/1+PdpP+LCsQpA==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_MN2PR05MB598187CACA481A245F45E891D4E80MN2PR05MB5981namp_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR05MB5981.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02387bf8-717e-4b43-ab6a-08d8865c9f83
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2020 16:12:44.2825 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Q71crUjDNaaNQIrd1WNOQC3R92RZOUXOBScBUo5MdcDYIPjMmnlpNXrofcnfzukBFZ8GIMLplUfr9XRS1OXYCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6254
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312, 18.0.737 definitions=2020-11-11_07:2020-11-10, 2020-11-11 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 bulkscore=0 mlxlogscore=999 priorityscore=1501 mlxscore=0 suspectscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1015 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011110095
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/WnE_ETAjPG-L2y-XjhutWob8h4M>
Subject: Re: [mpls] [Pals] Mail regarding draft-zzhang-tsvwg-generic-transport-functions
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Nov 2020 16:12:51 -0000

Hi Stewart,

Please see zzh> below.

From: Stewart Bryant <stewart.bryant@gmail.com>
Sent: Wednesday, November 11, 2020 7:59 AM
To: Jeffrey (Zhaohui) Zhang <zzhang@juniper.net>
Cc: Stewart Bryant <stewart.bryant@gmail.com>; Andrew G. Malis <agmalis@gmail.com>; draft-zzhang-tsvwg-generic-transport-functions@ietf.org; mpls <mpls@ietf.org>; pals@ietf.org
Subject: Re: [Pals] Mail regarding draft-zzhang-tsvwg-generic-transport-functions

[External Email. Be cautious of content]





First some comments on the draft itself.



SB> The draft needs to discuss RFC4623 and explain when this draft would be used in place of RFC4623



Zzh> Agreed. What prompted to this draft-zzhang is the EVPN use case and I added the PW scenario just because I was not aware of RFC4623.



   Some functionalities (e.g. fragmentation/reassembly and Encapsulating

   Security Payload) provided by IPv6 can be viewed as independent of

   IPv6 or even IP entirely.

SB> Specifically IPv6 does not support network fragmentation because it provides PMTUD and devolves the problem to host.



Zzh> Understand.

Zzh> In the EVPN case, the IPv6 encapsulation (followed by fragmentation/reassembly) would be done by the PEs so the PEs are considered “hosts” for this purpose.



This document proposes to provide those

   functionalities at different layers (e.g., MPLS, BIER or even

   Ethernet) independent of IP.



SB> I think we need to understand why after all these years this is now needed.

SB> Although we have this in PW, I am not sure it is widely used.



Zzh> I was told that there are customers who have to resort to adding IP/GRE encapsulation just to get around this problem. Either people are not aware of RFC4623 or they just resorted to IP/GRE encapsulation because RFC4623 may not be supported by vendors.



1.  Introduction



   Consider an operator providing Ethernet services such as pseudowires,

SB> It is already provided for PWs. Now you can build a case for why you need something better, but you must build the case.

Zzh> As explained above, I can remove PWs (or explain RFC4623 relevance) and focus on EVPN. But if it is done for EVPN, then it can also be used for PWs (and any scenario).



   VPLS or EVPN.  The Ethernet frames that a Provider Edge (PE) device

   receives from a Customer Edge (CE) device may have a larger size than

   the PE-PE path MTU (pMTU) in the provider network.

SB> I think you need to build a more complete case that the following because correctly implemented IPv6 will not send a frame that is too large because PMTUD and host fragmentation or transport fragmantation will prevent that.  IPv4 supports fragmentation.

SB> So that begs the question of what these packets are?

Zzh> Please see bellow.



   This could be

   because



   1.  the provider network is built upon virtual connections (e.g.

       pseudowires) provided by another infrastructure provider, or



   2.  the customer network uses jumbo frames while the provider network

       does not, or



   3.  the provider-side overhead for transporting customers packets

       across the network pushes past the pMTU.



   In any case, the provider simply cannot require its customers to

   change their MTU.

SB> Don’t they change it automatically for most protocols?

Zzh> If you’re an operator with smaller MTUs and your EVPN customer uses jumbo frames, you may not be able to ask the customer to move away from jumbo frames?



   To get those large frames across the provider network, currently the

   only workaround is to encapsulate the frames in IP (with or without

   GRE) and then fragment the IP packets.

SB> Again I think we need a bigger discussion of what those packets are.

Zzh> To the EVPN operator, the packets would be ethernet. Even if the ethernet payload is IP, It may be impossible for the operator to ask its EVPN customer to use smaller MTU.



   Even if MPLS is used for

   service delimiting, IP is used for transporation (MPLS over IP/GRE).

   This may not be desirable in certain deployment scenarios, where MPLS

   is the preferred transport or IP encapsulation overhead is deemed

   excessive.



SB> Again, I think we need more detail to justify this.





   IPv6 fragmentation and reassembly are based on the IPv6 Fragmentation

   header below [RFC8200]:



   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  Next Header  |   Reserved    |      Fragment Offset    |Res|M|

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                         Identification                        |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                    Figure 1: IPv6 Fragmentation Header



   This document proposes reusing this header in non-IP contexts, since

   the fragmentation/reassembly function is actually independent of IPv6

   except the following aspects:



   o  The fragment header is identified as such by the "previous"

      header.



   o  The "Next Header" value is from the "Internet Protocol Numbers"

      registry.



   o  The "Identification" value is unique in the (source, destination)

      context provided by the IPv6 header

SB> Which of course MPLS does not provide.

Zzh> There is actually a way (defined in this draft).



   The "Identification" field, in conjunction with the IPv6 source and

   destination identifies fragments of the original packet, for the

   purpose of reassembly.



   Therefore, the fragmentation/reassembly function can be applied at

   other layers as long as a) the fragment header is identified as such;

   and b) the context for packet identification is provided.  Examples

   of such layers include MPLS, BIER, and Ethernet (if IEEE determines

   it is so desired).

SB> Presumable we will liaise this to IEEE?

Zzh> Not worried about that for now – if we get IETF work agreed upon first, we can casually check if they’re interested, but that’s not a priority at all.



   For the layers where the IETF is concerned, the "Next Header" value

   will still be from the "Internet Protocol Numbers" registry when the

   function is applied at non-IP layers.

SB> IPv6 has next headers because Frag is an option and that is the way IPv6 works. It is unclear why a transport network fragmantation method as described here would need it.

Zzh> Consider that EVPN-MPLS use case: an outer label will identify a GFH follows; the GFH header’s “next header” will indicate MPLS because after reassembly the beginning of the reassembled payload is an MPLS label that identifies the EVPN bridge domain (similar to PW label).



   For the same consideration, the IP Encapsulating Security Payload

   (ESP) [RFC4303] could also be applied at other layers if ESP is

   desired there.  For example, if for whatever reason the Ethernet

   service provider wants to provide ESP between its PEs, it could do so

   without requiring IP encapsulation if ESP is applied at non-IP

   layers.

SB> I think we should get to the mechanics before discussing the options.

Zzh> The priority now is fragmentation. The paragraph just points out that ESP could be done similarly. The details are deferred, and it may be determined that ESP may not be done generically.



   The possibility of applying some other IP functions (e.g.

   Authentication Header [RFC4302]) is for further study.





2.  Specifications



2.1.  Generic Fragmentation Header



   For generic fragmentation/reassembly functionality independent of IP,

   the following Generic Fragmentation Header (GFH) is defined:



   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  Next Header  | Header Length |      Fragment Offset    |R|S|M|

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                         Identification                        |

   |                           (variable)                          |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                  Figure 2: Generic Fragmentation Header



   The "Next Header", "Fragment Offset" and "M" flag bit fields are as

   in the IPv6 Fragmentation Header.

SB> I am really not sure why a transport network frag needs to worry about NH. It should not care about what it is carrying. Its job is to simply glue the packet back together and let something that understands the glued together packet interpret it.

SB> IN any case NH could, at least in theory, alias IP and cause ECMP problems unless this sits behind a CW, which I don’t think we have discussed yet.

Zzh> Perhaps “transport” is not the right word; but please see above for explanation why NH is needed.



   Header Length:  the number of octets of the entire header.



   R: The "R" flag bit is reserved.  It MUST be 0 on transmitting and

      ignored on receiving.



   Identification:  at least 4-octet long.

SB> Four seems dangerously short given that IPv4 uses Eight. Also we need some discussion about how the ID is generated such that a misdelivered packet cannot get fragmented.



Zzh> It is “at least” 4-octet long. The real length is derived from “Header Length”. If the outer header provides context, then 4-octet should be enough (just like in IPv6 case).



SB> BTW since later in your discussion you talk about multi-path delivery, you need to discuss reassembly timeout. That is not a problem with a PW since it is single path.



Zzh> It is really no different from IPv4/v6 reassembly – just pulled out to a shim layer.



   S: If the "S" flag bit is clear, the context for the Identification

      field is provided by the outer header, and only the source-

      identifying information in the outer header is used.  If the "S"

      flag bit is set, the variable Identification field encodes both

      source-identifying information (e.g. the IP address of the node

      adding the GFH) and an identification number unique within that

      source.

SB> We need to be clearer that the ID must be unique per flow for the lifetime of any packet from that flow in the network, including “stuck” packets.



Zzh> It is really no different from IPv4/v6 reassembly – just pulled out to a shim layer.



   The outer header MUST identify that a Generic Fragmentation Header

   follows and MAY carry source-identifying information.



   If the outer header is BIER, a TBD value for the "proto" field in the

   BIER header identifies that a GFH follows.  If the "S" flag bit is

   clear, the "BFIR-id" field in the BIER header provides the context

   for the "Identification" field.

SB> It is not yet clear why we need the protocol type at the MPLS layer.

Zzh> Do you mean why the GFH may need to indicate NH is MPLS? That was explained earlier.



   If the outer header is MPLS, the "S" flag bit MAY be clear if the the

   label preceeding the GFH identifies the sending BFR in addition to

   indicating that a GFH follows (see Section 2.2).




On 10 Nov 2020, at 23:13, Jeffrey (Zhaohui) Zhang <zzhang@juniper.net<mailto:zzhang@juniper.net>> wrote:

Hi Andy, Stewart,

If I understand it correctly, RFC4623 is specifically for PWs (p2p) and cannot be used for EVPN/VPLS.

It was certainly intended for use in P2P PWs, I am not sure anyone has thought about its application to EVPN/VPLS.

Zzh> This email thread may conclude that it can’t be used for EVPN/VPLS 😊

The reason is that the sequence number in the control word is specific to the PW and the fragmentation/reassembly is performed in the context of the PW.

That is correct.


In case of EVPN/VPLS, an egress PE could receive fragments from different ingress PEs and reassembly must be done in the right context.

We need to be quite clear here, you mean that it could be concurrently reassembling fragments from different ingress PEs to the same egress PE on the same EVPN label. Yes, that is a problem that needs to be addressed and there are a number of ways that it could be addressed. We need t think about whether the FO method is better than the BE method.

Zzh> I thought the generic fragmentation/reassembly way in this draft will address that (just like how IP addresses it) – reassembly only considers <source, fragment identification> and the VPN demultiplexing comes *after* that.
Zzh> What does FO/BE mean here? Pardon my ignorance 😊

Now the questions is where we start from scratch or provide that identity to RFC4623, and how we provide that identity. One method is SFL, another is to provide identity of the type that you describe as an extended CW. Whatever happens you are going to need a CW to desire that you defeat ECMP inspection of the payload in legacy routers.

Zzh> The generic fragmentation/reassembly, whether applied to EVPN/VPLS or PW, is done independently – fragmentation after EVPN/VPLS/PW and reassembly before EVPN/VPLS/PW processing. Whether CW is used is orthogonal.


In addition, RFC 7432 (EVPN) specifically calls out that control word is either not used or only with all-0:

   - If a network uses deep packet inspection for its ECMP, then the
     "Preferred PW MPLS Control Word" [RFC4385<https://urldefense.com/v3/__https:/tools.ietf.org/html/rfc4385__;!!NEt6yMaO-gk!VuVUW3ykBENH4X3_cX68Wk4a2xzDLhqMBD4rmN4Dvo7mgs21RyTJGlPeSYeHfSrM$>] SHOULD be used with the
     value 0 (e.g., a 4-octet field with a value of zero) when sending
     EVPN-encapsulated packets over an MP2P LSP.

So it has a CW.

What method does it use to do OAM, presumable GAL at BOS?

zzh> Apparently it only uses all-0 to prevent ECMP mishap. Nothing else.

   - If a network uses entropy labels [RFC6790<https://urldefense.com/v3/__https:/tools.ietf.org/html/rfc6790__;!!NEt6yMaO-gk!VuVUW3ykBENH4X3_cX68Wk4a2xzDLhqMBD4rmN4Dvo7mgs21RyTJGlPeSX0ugpyE$>], then the control word
     SHOULD NOT be used when sending EVPN-encapsulated packets over an
     MP2P LSP.

That will only work if you have no legacy nodes on the path. A legacy node is entitled to ignore the EL and do DPI ECMP.


   - When sending EVPN-encapsulated packets over a P2MP LSP or P2P LSP,
     then the control word SHOULD NOT be used.

Given the f/b we got in PALS from the operator community about ECMP on PWs without CW, I wonder what is happening on these networks?



This draft-zzhang allows the context to be determined from the extended “identification” field or from the outer header.

So you have added Identification, and I agree that with unsolicited packets as opposed to the P2P PW case it is needed.

I am not sure about the rest of the design, and in particular I am not sure how you deal with reassembly lockup. That was a problem that could occur in the case of PWs because the reassembly buffer could be considered part of the PW which was something we provisioned. If we had a corruption in the network, then it would all work itself out. With an arbitrary fan in and no preprovisioning, I am not sure what the error behaviour will be. This is something that you certainly need to discuss in the text.

zzh> It is really the same as IP reassembly. An IP host doing reassembly could run into the same problems. Of course, a PE would be more challenged.

In addition, it is “generic” such that it can be used for any situations where fragmentation is needed at any layer for any solution.

I am not convinced that the situations are real. I think there needs to be some more context on the deployments. Should be just fine.

Zzh> As of now, fragmentation for EVPN is the most real use case; but the design is generic so that it can be used other scenarios if they come up.

BTW I note that this is a TSVWG draft. I am not sure it belongs there. I would have though that it belonged in the PALS/MPLS WGs or at least somewhere in RTG which is where EVPN was developed.

Zzh> The use cases for now is in EVPN/MPLS/BIER but the mechanism probably belong to TSVWG, but I am fine with any WG that can take up the work. I did schedule presentation in BESS/MPLS/BIER but I missed PALS.
Zzh> Thanks!
Zzh> Jeffrey

Hopefully the chairs have allowed enough time to discuss next Friday.

Best regards

Stewart



Thanks.

Jeffrey

From: Andrew G. Malis <agmalis@gmail.com<mailto:agmalis@gmail.com>>
Sent: Tuesday, November 10, 2020 10:33 AM
To: Stewart Bryant <stewart.bryant@gmail.com<mailto:stewart.bryant@gmail.com>>
Cc: draft-zzhang-tsvwg-generic-transport-functions@ietf.org<mailto:draft-zzhang-tsvwg-generic-transport-functions@ietf.org>; mpls <mpls@ietf.org<mailto:mpls@ietf.org>>; pals@ietf.org<mailto:pals@ietf.org>
Subject: Re: [Pals] Mail regarding draft-zzhang-tsvwg-generic-transport-functions

[External Email. Be cautious of content]

Indeed, this is an already-solved problem.

Cheers,
Andy


On Tue, Nov 10, 2020 at 9:57 AM Stewart Bryant <stewart.bryant@gmail.com<mailto:stewart.bryant@gmail.com>> wrote:
Please can I draw the attention of the authors to https://tools.ietf.org/html/rfc4623<https://urldefense.com/v3/__https:/tools.ietf.org/html/rfc4623__;!!NEt6yMaO-gk!WnDW7J-i0YOpcV5sF1KDAfZnAaxHY5z-pG0oiSXKdSXdg9o9pRoRlJeq1ENEdsSd$>

This standards track RFC  specifies how you can sent a fragmented Ethernet frame over a PW in an MPLS network and would seem applicable to the problem that you address in your draft.

BR

Stewart
_______________________________________________
Pals mailing list
Pals@ietf.org<mailto:Pals@ietf.org>
https://www.ietf.org/mailman/listinfo/pals<https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/pals__;!!NEt6yMaO-gk!WnDW7J-i0YOpcV5sF1KDAfZnAaxHY5z-pG0oiSXKdSXdg9o9pRoRlJeq1KRQDg8M$>


Juniper Business Use Only



Juniper Business Use Only