[Pals] draft-ietf-pals-ethernet-cw and enhanced heuristics

Stewart Bryant <stewart.bryant@gmail.com> Wed, 25 October 2017 11:07 UTC

Return-Path: <stewart.bryant@gmail.com>
X-Original-To: pals@ietfa.amsl.com
Delivered-To: pals@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E86C413B1B2; Wed, 25 Oct 2017 04:07:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 8q4bAHCbafOT; Wed, 25 Oct 2017 04:07:46 -0700 (PDT)
Received: from mail-wr0-x22c.google.com (mail-wr0-x22c.google.com [IPv6:2a00:1450:400c:c0c::22c]) (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 14D80138A38; Wed, 25 Oct 2017 04:07:46 -0700 (PDT)
Received: by mail-wr0-x22c.google.com with SMTP id 15so9775741wrb.5; Wed, 25 Oct 2017 04:07:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=cv+Mg6tC9Ki2P36jiTLTBcSazy4yOd9CqQhzBPMeeEg=; b=fRta6VlOOXNl8LDA5hQ/zWent4vtW4Gp67qzRIJcg6xSgQzjuYhfhDFOO6fWgaAxEA A/k3xWVytvbLNx27VsbfVjrZyMNJh7RFt2f1ngkdGug6xBz/XelHFCQSt0/6A3DORKOV gGa8BVjyL339fiqRkDUQ1A6hZkLXNLJ87ypEoGBsjZLhY+WMYImV2GWBW3SkEmEq5vaw BDJM6f+/xARDURQEFlD8zFec4xWhWfQcQ251dSQNZKhd7iXKD6BpykytnWrpd/6/xqJ6 /ppUF6tbPg9MSRGu+7mVMTAid9RqpxKR1d/4D/VpNbV6Z/zmQEWfZH/ZuPhck0VD7KIA ULMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=cv+Mg6tC9Ki2P36jiTLTBcSazy4yOd9CqQhzBPMeeEg=; b=XvYJ27AHDnzJXQzoPxeYsHuTzRFOd9or7kuJ6FzvlxcigS+pCjer5OrOvBYiRaPYBs 1aZJPeTzFy+HCrdeA96lC8TldNzII46dXBcAqrnocA3p9fmpodFGhYFqFNdOZckCCYqc doV345PhGRY7g5qPXTlJF5J9ct+LIrTxThQ8YRnKcm0dGmSjd3zFgRlxoFPd2IpwRaQ6 aUYE6XV0/nik5qycEVtQPpPCG58Sh44CyxWBxb/tW4Sg6+Wwsr1X94nxOj5WhHFfIDRD p+6ZDjl3hNZ5yxPyzsAkw09ljyro3L+uucYzI6z/T0Ti7JNe3CTMTCRM8Exin8U9iOaP e/qQ==
X-Gm-Message-State: AMCzsaVpdrTzfzdoA7cljaJrxRNoTi2OqX0dxVvjxfHyaOnFJi/uFvPO R3OfHGSY0iVWdmvEUsp919m72OHg
X-Google-Smtp-Source: ABhQp+RKH8SqM5D08B/ZB2CRjeYupkAdiqWKATKEClyFDxhtSNmRUFhQJiF1XujVBOvOkovItHhG3A==
X-Received: by 10.223.184.181 with SMTP id i50mr1976649wrf.124.1508929663265; Wed, 25 Oct 2017 04:07:43 -0700 (PDT)
Received: from [192.168.2.126] (host213-123-124-182.in-addr.btopenworld.com. [213.123.124.182]) by smtp.gmail.com with ESMTPSA id v28sm1724939wra.14.2017.10.25.04.07.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Oct 2017 04:07:42 -0700 (PDT)
From: Stewart Bryant <stewart.bryant@gmail.com>
To: "pals@ietf.org" <pals@ietf.org>, draft-ietf-pals-ethernet-cw@ietf.org
Message-ID: <8e6901f8-63ff-008b-ae00-e49620b76769@gmail.com>
Date: Wed, 25 Oct 2017 12:07:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/pals/ZTpJ_NEL5j6gv11NnwDW8guDDGQ>
Subject: [Pals] draft-ietf-pals-ethernet-cw and enhanced heuristics
X-BeenThere: pals@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Pseudowire And LDP-enabled Services dicussion list." <pals.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pals>, <mailto:pals-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pals/>
List-Post: <mailto:pals@ietf.org>
List-Help: <mailto:pals-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pals>, <mailto:pals-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Oct 2017 11:07:48 -0000

The following has just been drawn to my attention:

https://www.juniper.net/documentation/en_US/junos/topics/concept/mpls-encapsulated-payload-load-balancing-overview.html

The writer contacted the authors, but not the list, and stated that this 
heuristic results in similar behaviour to that which we are trying to 
address in this draft, but that the draft as written does not address 
this problem.

I have asked the writer to post to the PALS list or let me do it for them.

In such implementations, even requiring the CW does not address the 
issue that is being reported to us.

Looking at RFC4385 it says:

   If a PW is sensitive to packet misordering and is being carried over
    an MPLS PSN that uses the contents of the MPLS payload to select the
    ECMP path, it MUST employ a mechanism that prevents packet
    misordering.  A suitable mechanism is the PWMCW described in Section
    3 for data, and the PWACH described in Section 5 for channel-
    associated traffic.

PWMCW is a reference to the use of the CW  starting with 0000.

I think that the implication in RFC4385 is that implementations should 
not proceed past the CW. That was certainly my intention when I wrote 
the text in 2005. I must say that whilst I knew of implementations that 
tried to perform ECMP on IP payloads, I was not aware of implementations 
that would attempt to glean that the PW was Ethernet and that its 
payload was IP and then perform five-tuple ECMP on the Ethernet payload.

I am wondering if we need to address this, and if so how to proceed.

One way would be to add text quoting RFC4385 and noting the use of the 
control word only prevents incorrect ECMP in implementations that cease 
further packet analysis on encountering a CW. Implementations that do 
packet analysis beyond the CW should expect unpredictable results, and 
therefore as noted in RFC4385 MUST employ an alternate mechanism to 
prevent packet misordering.

We could leave it there or we could suggest that using RFC6391 or 
RFC6790 with no further heuristics is a safe way to achieve ECMP.

- Stewart