Re: Mail regarding draft-hu-rtgwg-srv6-egress-protection

Yimin Shen <yshen@juniper.net> Mon, 24 February 2020 16:10 UTC

Return-Path: <yshen@juniper.net>
X-Original-To: rtgwg@ietfa.amsl.com
Delivered-To: rtgwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2B5553A0E13 for <rtgwg@ietfa.amsl.com>; Mon, 24 Feb 2020 08:10:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.49
X-Spam-Level:
X-Spam-Status: No, score=-1.49 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, PDS_BTC_ID=0.499, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net header.b=fcQWrszY; dkim=pass (1024-bit key) header.d=juniper.net header.b=krt12z7a
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 KxyuI9_Q59Dy for <rtgwg@ietfa.amsl.com>; Mon, 24 Feb 2020 08:10:31 -0800 (PST)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (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 4660B3A0E09 for <rtgwg@ietf.org>; Mon, 24 Feb 2020 08:10:31 -0800 (PST)
Received: from pps.filterd (m0108160.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 01OG7vv2031454; Mon, 24 Feb 2020 08:10:23 -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=ryuh4EznENJE7e2kcFFKiIG+Yh46qHgdPTdOR8CI4II=; b=fcQWrszYFEyb5lIR9QanSzk2j1FmcxoyFc77nvQL2SHC+QAU67u8v5+XXEEh+IzogjNQ zxvXbE6/RUlGoZQ34kE1P6CI4eGs1oPeCsKvt2kgQmU5iHmwOBojXLvoepmmShDzN/fk nouZZdZHLxH63KGeg7SHozwtqSm8/bSrkBurRfmnW53VoB5J/8smIxlan3WLXjJSF8H+ Z8vLrEg/gANqEdDa0kL22kBsx4twx3cRPeBvnCC0eGIwgA0h7eW4kLalayjAv4kaDddQ Hr5XVkuuXCUVQ1WRLkOv/WX0LrlXzTeqVwul3F8cCKTiSyJOOcKVvaWhdxUJI6wD6T9J aw==
Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2170.outbound.protection.outlook.com [104.47.56.170]) by mx0b-00273201.pphosted.com with ESMTP id 2ycdbcrfdt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Feb 2020 08:10:23 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BOBDOxOcwesRVktTWMOeZaOGqi+FqfPh3T0H1svVW8jBklFGRcZmH7AL7T770hgwvtllA9nK6Z6Qh6snsDGMpU8gkoFPgMUDWRuhNRILbMRbG/WDJIbbYasI9Zq0kuiSpE5ZcgUcnOmlCCMuQIKQQBTRagFhMZrI+nbha/nziOqRwYWY7KXTnAcX9i2uOIzWfkVjveZM2e3lhOhhm45vHlO6ptdXpNVnVDsSaTw0FAQGFLsV49HrEzz1Ug5UPxzeEpESp3OeY7838uAKc4N3E8OrlFJ1J2awKaP+ycBAnBqOWn1QwPR9KOZ1LJZ9tuRo43Ey24EAQzGGERzNmZOhEg==
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=ryuh4EznENJE7e2kcFFKiIG+Yh46qHgdPTdOR8CI4II=; b=FLd6004zSN2asjg5D6Cs9Vxd8Kn/1cXAQJtq6W9+cT9GlTy9VYz34daPb9IQja9FlMMR+o8z++glOp9VXzuPHHHOdap3odH3lRU0AFaT4/4YqWEZX+OKcdpOQKNEu8R9JYurR3TPhH58LUI5Mlrhq7Kt0rQUCL9EyBASqsq00D2IRp4zLMFEEJJuJZDwFAn54LKrXF3cuaD9/NxDPru71earkP0kwg0AucYmleeMLqWZqPSuihN/pSG+5LqqPR2rDOLudGohdgPgPyWM+Gk26KL5FyoA27eynSXI9dcQhwgT5CDr61+7KZm1AYHVdUWKoyHs2m1Z4J35drjYCUIKWQ==
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=ryuh4EznENJE7e2kcFFKiIG+Yh46qHgdPTdOR8CI4II=; b=krt12z7a17qljQplJC94oGRzw65M2IIaS7cPrsHXlHwmiXc6CMnP9fBYY/T5kFPKAiSwVIijl+OZ5yCqVMlk6UoaaRJFJa5W8kOq0r4cg+ytrrlP6OsXsmjo9TFDDSY7lWtInt93Ge5iRZ0OVH3amgN/giLfch067JDQco7hEfQ=
Received: from DM6PR05MB5131.namprd05.prod.outlook.com (2603:10b6:5:7f::16) by DM6PR05MB6571.namprd05.prod.outlook.com (2603:10b6:5:132::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.11; Mon, 24 Feb 2020 16:10:20 +0000
Received: from DM6PR05MB5131.namprd05.prod.outlook.com ([fe80::fddb:1828:db11:f3aa]) by DM6PR05MB5131.namprd05.prod.outlook.com ([fe80::fddb:1828:db11:f3aa%7]) with mapi id 15.20.2772.012; Mon, 24 Feb 2020 16:10:20 +0000
From: Yimin Shen <yshen@juniper.net>
To: Alexander Vainshtein <Alexander.Vainshtein@ecitele.com>, Huaimo Chen <huaimo.chen@futurewei.com>
CC: "rtgwg@ietf.org" <rtgwg@ietf.org>, Yimin Shen <yshen@juniper.net>
Subject: Re: Mail regarding draft-hu-rtgwg-srv6-egress-protection
Thread-Topic: Mail regarding draft-hu-rtgwg-srv6-egress-protection
Thread-Index: AQHV6Tj/QTh4u6ex9kyPrxr+4lY6AKgnDNKAgAGQgwCAAZY4gA==
Date: Mon, 24 Feb 2020 16:10:20 +0000
Message-ID: <117E28AC-1F96-4C69-B861-70881E1A5E1F@juniper.net>
References: <BY5PR13MB3651E27C33405CA8D1BC4FF4F2EE0@BY5PR13MB3651.namprd13.prod.outlook.com> <15DAD938-D0E1-4BB0-BE20-40602495474A@juniper.net> <AM0PR0302MB3217801FFC00FB8D8B177E2A9DEF0@AM0PR0302MB3217.eurprd03.prod.outlook.com>
In-Reply-To: <AM0PR0302MB3217801FFC00FB8D8B177E2A9DEF0@AM0PR0302MB3217.eurprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.22.0.200209
x-originating-ip: [66.129.241.10]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: b992d1d0-8c6d-4459-2c5a-08d7b9440c04
x-ms-traffictypediagnostic: DM6PR05MB6571:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DM6PR05MB6571A7D32DDB3FA5C7C61677BDEC0@DM6PR05MB6571.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 032334F434
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(39860400002)(396003)(136003)(366004)(346002)(376002)(189003)(199004)(186003)(6486002)(2906002)(26005)(33656002)(36756003)(81166006)(6506007)(81156014)(8676002)(107886003)(53546011)(4326008)(5660300002)(86362001)(478600001)(66446008)(64756008)(66556008)(66476007)(66946007)(91956017)(966005)(76116006)(2616005)(8936002)(6512007)(66574012)(110136005)(54906003)(71200400001)(316002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR05MB6571; H:DM6PR05MB5131.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GW2333QAj6m9ZJE2l1YBAoRqv60TQEpX6S5kGGvAVo6S5v2p/CTLlMzNfvjZSx0rfGxFybSx7ToSqncd++KChWRnF0P418gZUBpkxybUaVwa3fAI7GkWos+LrBsNPFPwTWiQ9m0++1byQqi9Op4rik4OnyTjD1NiLKoa4mogLbyCAQ6cRyZ1FrnUZQ2ng3lw3P1jkMFVptmjUU9Eop1V0r+SdbP+d6HT+wAowKBg5T8Xkjxo6kMTow+zAxZwo7zz1Y+2b3je42HBwMLL3ny6YukexP5pOo/PuK233H3jR/8tn1L09JDB15r9hz0zYNbEDWKyjuJYZXdtcIMuXd8UtqXvytcrG+DgR8muWprAHm8FmxpueiXl2dg4cx4Qb73RHoshpQ54qncPilGhkzyf5NPz0i/SB/gVQ+fdDU7D8YSTsfGzRZ7ml54Z/T1wwUYrzJvF8Nc8739Ypf0uqew0OZHJZG9D711YNPy4cfpa03SMesLXvAt/68XpIDnyCXuFwr/HMWYmTrBsUjGLiRx7/w==
x-ms-exchange-antispam-messagedata: nsERmqWaD7WAtIIy/tii2sKzT2eNXicqpVzCPiZ8pb1yYQrMt50I3FrK4RH3Si8r/oPrkQv0gBmf7QEgyWdoxmec+s223Slcewye09YqMWbaxcKkyi2ibxcVqzKCyrIDVQ2c2bHdRUq4JYaI7X5qhw==
Content-Type: multipart/alternative; boundary="_000_117E28AC1F964C69B86170881E1A5E1Fjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: b992d1d0-8c6d-4459-2c5a-08d7b9440c04
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2020 16:10:20.6239 (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: 5XMfN+fpQ1yyu3U86jAKK1EMWwMUhQaIAZnBzR6RaCyw3d3k17JSqqeU32sbPiCALKII6zMSYpfD+1t+0uDYzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB6571
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-02-24_04:2020-02-21, 2020-02-24 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 impostorscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 clxscore=1011 phishscore=0 priorityscore=1501 malwarescore=0 mlxscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2002240128
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtgwg/bfSSV6ckqY43a0lFVOuh2fav9No>
X-BeenThere: rtgwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Routing Area Working Group <rtgwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtgwg/>
List-Post: <mailto:rtgwg@ietf.org>
List-Help: <mailto:rtgwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Feb 2020 16:10:36 -0000

I believe Sasha has raised a good point regarding the usage of mirror SIDs in this document.



According RFC 8402 section 5.1, a mirror SID



---

“is to provide support for an IGP node to advertise its ability to process traffic originally destined to another IGP node, called the "mirrored node" and identified by an IP address or a Node-SID, provided that a Mirroring Context segment is inserted in the segment list prior to any service segment local to the mirrored node.



When a given node B wants to provide egress node A protection, it advertises a segment identifying node's A context.  Such a segment is called "Mirroring Context segment" and is identified by the Mirror SID.”

---



RFC 8667 specifies the advertisement of a mirror SID (for ISIS) via the SID/Label Binding TLV. The TLV contains a prefix, M-flag =1, and a SID/Label sub-TLV. So, there are two cases. If the SID/Label sub-TLV contains an index (to the SRGB), the mirror SID is routable. If it contains a label, the mirror SID is not routable. The draft assumes the mirror SID to be routable, but both cases should be considered.



If we put RFC 8402, 8667 and 8679 together, we can basically get a high level solution for SRv6 egress protection, shared below:



[1] A protector (P) advertises a mirror SID for each egress node (E) which P protects. It identifies the primary-and-protector relationship between E and P. It indicates P's capability of processing E's SID (or E's SID list) contained in re-routed packets which are originally destined for E. The granularity of mirror SIDs is per ordered pair of <E, P>, not per VPN locator.



[2] The prefix contained in this mirror SID is the IPv6 context ID of <E, P>.



[3] When E advertises each VPN SID, E should attach the mirror SID (i.e. context ID) to the VPN SID, to indicate P’s identity to PLR(s). This is needed regardless of whether the locator in the VPN SID is routable or non-routable.



[4] Each PLR performs bypass path computation for the context ID. (Per previous comments, the draft needs to provide the details of this calculation.)



[5] PLR should set up a backup forwarding state as below (some is similar to what Sasha suggested):

[5.1] Keep packet’s original IPv6 header and SRH header unchanged.

[5.2] Push a new IPv6 header to the packet. This new IPv6 header may be constructed in two ways, depending on whether the mirror SID (i.e. the context ID) is routable or non-routable.

[5.2.1] If the mirror SID (i.e. context ID) is routable, Set DA = context ID, no SRH is needed.

[5.2.2] If the mirror SID (i.e. context ID) is non-routable, there are two sub-cases:

[a] If the bypass path coincides with the shortest path from the PLR to P, set DA = P's node SID, SRH = <P’s node SID, mirror SID>, SL = 1.

[b] If the bypass path is an explicit path corresponding to a SID list <S1, S2,…, Sn>, set DA = S1, and SRH = <S1, S2, …, Sn, mirror SID>, SL = n.



Note that only [4.2.1] is similar to H.Encap defined in draft-ietf-spring-srv6-network-programming. The other behaviors need be defined.



[5] When P receives a re-routed packet, it should get the mirror SID (i.e. context ID) from the outer IPv6 header, remove this outer IPv6 header, and continue to process the inner IPv6. When processing the inner IPv6 header, P should process E’s VPN SID by using the mapping indicated by the mirror SID (i.e. context ID).


Finally, a few general comments on this draft:


  *   The draft currently uses an example (IMO, simplistic) to describe the mechanism. Please consider having a section of generic theory of operation, and then use an example to illustrate.
  *   Do not put the above comments directly in the draft. By no means I’m writing the text for this draft.

Thanks,
-- Yimin


From: Alexander Vainshtein <Alexander.Vainshtein@ecitele.com>
Date: Sunday, February 23, 2020 at 7:01 AM
To: Yimin Shen <yshen@juniper.net>, Huaimo Chen <huaimo.chen@futurewei.com>
Cc: "rtgwg@ietf.org" <rtgwg@ietf.org>
Subject: RE: Mail regarding draft-hu-rtgwg-srv6-egress-protection


Dear all,

I concur with Yimin's comments in his last email.



I have also an additional concern regarding support of a Mirror SID in SRv6. This concern is based on the following observations:

  1.  As per RFC 8402, a Mirror SID is a special case of the Binding SID
  2.  In SR-MPLS, a Mirror SID is defined as a generalization of the Context label  as defined RFC 5331. If it is not the last label in the label stack, then, to the best of my understanding, it is just the Context label identifying the context label space in which the next label (representing the next SID in the list) is looked up. in other words, ability of SR-MPLS to support Mirror SID is based on support of context labels and context label spaces in the MPLS DP. IMHO and FWIW it would not work with the MPLS DP as defined in RFC 3031 and 3032.
  3.  As mentioned in the email by Zhibo Hu<https://urldefense.com/v3/__https:/mailarchive.ietf.org/arch/msg/rtgwg/J2fJ3PF-bIYIeRzeWG83QpqpAR4/__;!!NEt6yMaO-gk!V-obNn_H2GxE-5f1nt8OkBTJoJf0qTAdCWwntY6AQ4cWAHhLMUjV4C237QgDmVE$>, “The behavior of PLR encapsulating Mirror Sid is the same as that of SRv6 Ti-LFA。draft-ietf-spring-srv6-network-programming section 5.1 has been mentioned that H.Encap is used to encapsulate the TiLFA Repair List”.  I assume that this what the draft in question intends to do, i.e.,:
     *   Push a new IPv6 header and a new SRH on the original packet.

                                                               i.      The new SRH would include the Node SID of the Protector node and the Mirror SID

                                                             ii.      The destination IPv6 address would be the address of the Protector node

                                                           iii.      The Next Header value in the SRH would be IPv6

     *   Decrement the TTL in the inner IPv6 header
     *   Forward the packet towards the Protector node.
  1.  This technique would work just fine in the case when the inserted SID refers to a topological instruction (as in the case of Ti-LFA or in the case when a binding SID represented an SR policy.  But I do not understand how it could be used with SIDs that are not topological instructions without any updates to IPv6 data plane.



My 2c,

Sasha



Office: +972-39266302

Cell:      +972-549266302

Email:   Alexander.Vainshtein@ecitele.com



-----Original Message-----
From: rtgwg <rtgwg-bounces@ietf.org> On Behalf Of Yimin Shen
Sent: Sunday, February 23, 2020 4:10 AM
To: Huaimo Chen <huaimo.chen@futurewei.com>; rtgwg@ietf.org
Subject: Re: Mail regarding draft-hu-rtgwg-srv6-egress-protection



Hi Huaimo, Authors,



>> Step 1:  Find the P-Space P(Z, X) and the Q-Space Q(Y, X), which are similar to those in [RFC7490];



Unfortunately this is not a right solution. As I mentioned before, in egress protection, bypass path computation should not rely on LFA, because it is not finding a path to merge back to the protected/primary router. I have already suggested in a previous email to remove the link between PE3 and PE4, to make your discussion more generic. Similarly, the draft should not assume there is a multi-hop path from PE4 to PE3 which does not traverse P1. Your  mechanism must be able to return a bypass path in these cases. My suggestion is to take the guidelines in RFC 8679, and use context-IDs as locators.



>>    Step 5:  Try to find a shortest path from Z to Y without going through X;



As a transit router, Z is supposed to perform generic bypass calculation for X (like other IPv6 addresses), based on a general FRR logic. So, how would Z even know to "Try" in this step ? What is it trying ? Isn't this "shortest path from Z to Y without going through X" the bypass path you are looking for in Step 1 - 3 ?



>>    For a (primary) locator associated with the (primary) egress node of a SR path/tunnel, most often the locator is routable.  This is the case we assumed,



Non-routable locator should be supported, and it can be supported. In this case, bypass path calculation should be based on BGP nexthop. Again, please refer to RFC 8679 regarding how to use context-ID as BGP nexthop for a solution.





Thanks,

-- Yimin





From: Huaimo Chen <huaimo.chen@futurewei.com<mailto:huaimo.chen@futurewei.com>>

Date: Friday, February 21, 2020 at 11:45 PM

To: Yimin Shen <yshen@juniper.net<mailto:yshen@juniper.net>>, "rtgwg@ietf.org<mailto:rtgwg@ietf.org>" <rtgwg@ietf.org<mailto:rtgwg@ietf.org>>

Subject: Re: Mail regarding draft-hu-rtgwg-srv6-egress-protection



Hi Yimin,

    Thanks much for your comments.

    The procedure with details that a PLR uses to compute a backup path has been added into the draft, which has been uploaded.

Best Regards,

Huaimo

Hi Huaimo, authors,



>>> Node P1's pre-computed backup path for PE3 is from P1 to PE4 via P2.



I’m still concerned that there is no details in this draft about the procedures how a PLR computes a backup path to the protector, in both of the two cases below.



[1] the primary locator is routable.

[2] the primary locator is not routable.



Thanks,

-- Yimin







_______________________________________________

rtgwg mailing list

rtgwg@ietf.org<mailto:rtgwg@ietf.org>

https://clicktime.symantec.com/3F1LB8RvcSLpHAYLrEmGjgH6H2?u=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Frtgwg<https://urldefense.com/v3/__https:/clicktime.symantec.com/3F1LB8RvcSLpHAYLrEmGjgH6H2?u=https*3A*2F*2Fwww.ietf.org*2Fmailman*2Flistinfo*2Frtgwg__;JSUlJSUl!!NEt6yMaO-gk!V-obNn_H2GxE-5f1nt8OkBTJoJf0qTAdCWwntY6AQ4cWAHhLMUjV4C23Pywcm-4$>

___________________________________________________________________________

This e-mail message is intended for the recipient only and contains information which is
CONFIDENTIAL and which may be proprietary to ECI Telecom. If you have received this
transmission in error, please inform us by e-mail, phone or fax, and then delete the original
and all copies thereof.
___________________________________________________________________________