Re: [Gen-art] Gen-ART Last Call review of draft-ietf-trill-ia-appsubtlv

Paul Kyzivat <pkyzivat@alum.mit.edu> Wed, 06 July 2016 22:02 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E36112D10E for <gen-art@ietfa.amsl.com>; Wed, 6 Jul 2016 15:02:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.935
X-Spam-Level:
X-Spam-Status: No, score=-1.935 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=comcast.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 ppu-WIQw0Lfn for <gen-art@ietfa.amsl.com>; Wed, 6 Jul 2016 15:02:21 -0700 (PDT)
Received: from resqmta-ch2-12v.sys.comcast.net (resqmta-ch2-12v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:44]) (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 C5F7E12D0C3 for <gen-art@ietf.org>; Wed, 6 Jul 2016 15:02:20 -0700 (PDT)
Received: from resomta-ch2-16v.sys.comcast.net ([69.252.207.112]) by resqmta-ch2-12v.sys.comcast.net with SMTP id KutTbwRLnTD5UKutgboXD6; Wed, 06 Jul 2016 22:02:20 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1467842540; bh=OOYVoN2WPAwF40bGCDeVmYl92B4PzH5usMLXz/ymLyM=; h=Received:Received:Subject:To:From:Message-ID:Date:MIME-Version: Content-Type; b=qZTHcmq1TgPOMQG17hGNImFLZXer7P4aQVGKMrE/Z6GDf2edIhEaqrTPuRJkeHb1O PxtBJstUT6ueMKEhzHIXuJxy8CjtePkLgfu6T5FV4Yu0Mw2HrfXPCuHUrbN0M2gkqG q4eDWm+IzzgYWIzckuI4F1ec6G5BiIu0EtsfPABtTp5tJnpUjts/t8wQ6THsVuPvSl dp4JEsVvWdnzA/P3AsWzK18gZkeoZ4LZ9txSCQZB3B3FG7wfi+QkQGoxugRjaWXnoA Iwo0rDiX73jOtHB4WBii8aDIEo8kRBFYpxoS3d1l+zaDouHpwaF8PvT666f3nyrMyW W9OmNx2erYXRA==
Received: from Paul-Kyzivats-MacBook-Pro.local ([73.218.51.154]) by resomta-ch2-16v.sys.comcast.net with comcast id Fa2K1t00C3KdFy101a2KT6; Wed, 06 Jul 2016 22:02:20 +0000
To: Donald Eastlake <d3e3e3@gmail.com>
References: <392967e6-b056-ef84-dbe4-5adf7469a641@alum.mit.edu> <CAF4+nEFNUZA6gGA0P3v-CjABYG8gUdW0mqRt13LzQ47-mgSG6A@mail.gmail.com> <3840099b-5151-5be6-c164-91ac8362ea57@alum.mit.edu> <CAF4+nEFF7w_5YW9Mcn-=NrjAz0eFXPH+mkbmm0KgBDhoJLu95Q@mail.gmail.com> <2cff626f-8f5e-19ce-704a-c0f1990c0569@alum.mit.edu> <CAF4+nEGn27KFLLg924Xv_fabZx2BXfqiCkROckRjYc0o3gEPXg@mail.gmail.com> <dcf97210-8468-6bed-224c-5b10f18fb31e@alum.mit.edu> <CAF4+nEFEgqKSpCPo_GwdboU2E+QRHUYjhz7wWnSjOzCa_hdVbg@mail.gmail.com>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <d9b6589a-6c7c-f69b-6b2c-b1c12fa4b409@alum.mit.edu>
Date: Wed, 06 Jul 2016 18:02:18 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:45.0) Gecko/20100101 Thunderbird/45.1.1
MIME-Version: 1.0
In-Reply-To: <CAF4+nEFEgqKSpCPo_GwdboU2E+QRHUYjhz7wWnSjOzCa_hdVbg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/om0eFJImdBX9upaDk-0sarn33MA>
Cc: General Area Review Team <gen-art@ietf.org>, draft-ietf-trill-ia-appsubtlv.all@ietf.org
Subject: Re: [Gen-art] Gen-ART Last Call review of draft-ietf-trill-ia-appsubtlv
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Jul 2016 22:02:24 -0000

On 7/6/16 5:18 PM, Donald Eastlake wrote:
> Hi Paul,
>
> On Wed, Jul 6, 2016 at 1:34 PM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>> Donald,
>>
>> On 7/5/16 9:51 PM, Donald Eastlake wrote:
>>>
>>> Hi Paul,
>>>
>>> Version -09 has been uploaded with the intent that it resolve your
>>> comments.
>>
>>
>> Looks good except for one thing:
>>
>> Some of the new text in section 7 has me baffled:
>>
>>    The following processes should be followed in interpreting sets of
>>    AFN values in an IA APPsub-TLV to synthesize addresses. These apply
>>    whether the AFN values came from sub-sub-TLVs or appeared within an
>>    Address Set or came from both sources. In general, the processing is
>>    applied separately to each Address Set as supplemented by any Fixed
>>    Address sub-sub-TLVs that are present.
>> ...
>>    Typically, an OUI would be provided as a Fixed Address sub-sub-TLV
>>    (see Section 3.2) using the OUI AFN but there is no prohibition
>>    against one or more OUIs appearing in an Address Set.
>>
>>    Each Address Set, after being supplemented by any Fixed Address sub-
>>    sub-TLVs, is processed by combining each OUI in the Address Set with
>>    each MAC/24 and each MAC/40 address in the address set.
>>
>> I get it when an OUI comes as a Fixed Address. That value is combined with
>> each MAC/24 and MAC/40 in the address set, creating a new column in the
>> address set. But I have no idea what it means if an OUI appears in the
>> address set. In that case there will be a whole column of them, with a
>> distinct value in each row. Does each one combine with MAC/*s in *every*
>> row, or only with the MAC/*s in the *same* row? That latter seems like the
>> more sensible interpretation, but the intent isn't clear. Frankly this kind
>> of usage seems more like nonsense.
>
> I don't see any reason to make the processing more complex with
> special cases just because some uses seem very unlikely.

I certainly agree. I expect I'm not understanding the text way you 
intend it to be understood.

>      You take the addresses from an Address Set and then you
> supplement them from any Fixed Address sub-sub-TLVs that might be
> present in the same IA APPsub-TLV. After that step, you have a set of
> addresses and it no longer makes any difference where they came from.
> You then perform certain processing on OUI, MAC/24, and MAC/40
> addresses that are present, if any, to produce some number (possibly
> zero) of 48 and/or 64 bit MAC addresses. You then perform a second
> stage of processing using any IPv6/64 addresses, 48-bit MAC addresses,
> and/or 64-bit addresses that are present, if any, to produce some
> number (possibly zero) of IPv6 addresses.

I think my confusion is that I have been thinking of these things as two 
dimensional tables, so that the processing adds columns, while you are 
thinking of them as providing a list of sets, so that the rules are 
describing how to transform each set.

Additionally, because I was thinking of them as tables, I was thinking 
that if you put an OUI in the table (as a column) then the recipient 
ends up storing that, even though it isn't a useful thing to keep. I 
think I now get it that the recipient is probably simply processing each 
row and then storing away the parts that are interesting to it, so any 
uninteresting parts are discarded.

So feel free to leave things as-is if you believe it will be clear to 
those who care.

	Thanks,
	Paul

>       Why bother making the above description more complex by
> prohibiting OUIs in Address Sets? (or saying they are ignored in
> Address Sets or the the entire Address Set with an OUI is ignored or
> ..., which would probably be better to say since otherwise you would
> want to say what to do about the (artificial in my opinion) "error"
> condition of finding any OUI in an Address Set which implies it is in
> the template for the Address Sets in that IA-APPsub-TLV.)
>
>> But maybe it would make more sense to simply say that OUIs (and the other
>> partial addresses) only make sense in special contexts such as the Fixed
>> Address sub-sub-TLV.
>
> Any OUI in an Address Set is, I admit, pretty odd. But I would expect
> MAC/24 and the like to be in Address Sets. The idea is that you have,
> for example, lots of end station physical Ethernet ports on links
> attached to some RBridge, all from the same manufacturer with the same
> OUI. So you stick that OUI in a Fixed Address sub-sub-TLV and then you
> can save space by just putting a MAC/24 in the Address Set for each of
> those ports in the IA APPsub-TLV originated by the RBridge.
>
> The text already says that "typically" an OUI would be in a Fixed
> Address sub-sub-TLV...
>
> Thanks,
> Donald
> ===============================
>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>  155 Beaver Street, Milford, MA 01757 USA
>  d3e3e3@gmail.com
>
>>         Thanks,
>>         Paul
>>
>>
>>> Thanks,
>>> Donald
>>> ===============================
>>>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>>>  155 Beaver Street, Milford, MA 01757 USA
>>>  d3e3e3@gmail.com
>>>
>>>
>>> On Tue, Jul 5, 2016 at 9:32 AM, Paul Kyzivat <pkyzivat@alum.mit.edu>
>>> wrote:
>>>>
>>>> On 7/4/16 11:35 PM, Donald Eastlake wrote:
>>>>>
>>>>>
>>>>> Hi Paul,
>>>>>
>>>>> I believe we are generally in agreement.
>>>>>
>>>>> On the table in the IANA Considerations, I have read
>>>>>
>>>>> https://tools.ietf.org/html/draft-leiba-cotton-iana-5226bis-15#section-1.1
>>>>> and I can understand why you commented as you did. But, since all the
>>>>> table entries were created by IANA actions, I still think the draft is
>>>>> OK in having that table in the IANA Considerations Section. This is
>>>>> not a case of including some technical specification in with the IANA
>>>>> Considerations.  It's still all code points.
>>>>
>>>>
>>>>
>>>> OK. It is not a big deal.
>>>>
>>>>         Thanks,
>>>>         Paul
>>>>
>>>>
>>>>> Thanks,
>>>>> Donald
>>>>> ===============================
>>>>>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>>>>>  155 Beaver Street, Milford, MA 01757 USA
>>>>>  d3e3e3@gmail.com
>>>>>
>>>>>
>>>>> On Mon, Jul 4, 2016 at 6:50 PM, Paul Kyzivat <pkyzivat@alum.mit.edu>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> Donald,
>>>>>>
>>>>>> On 7/4/16 5:26 PM, Donald Eastlake wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Hi Paul,
>>>>>>>
>>>>>>> Thanks for your comments. Sorry for the delay in response.
>>>>>>> Please see below.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> No problem. I was just concerned that my review hadn't been received.
>>>>>>
>>>>>>
>>>>>>> On Mon, Jun 27, 2016 at 6:46 PM, Paul Kyzivat <pkyzivat@alum.mit.edu>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> I am the assigned Gen-ART reviewer for this draft. The General Area
>>>>>>>> Review Team (Gen-ART) reviews all IETF documents being processed by
>>>>>>>> the IESG for the IETF Chair. Please treat these comments just like
>>>>>>>> any other last call comments. For more information, please see the
>>>>>>>> FAQ at <http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
>>>>>>>>
>>>>>>>> Document: draft-ietf-trill-ia-appsubtlv
>>>>>>>> Reviewer: Paul Kyzivat
>>>>>>>> Review Date: 2016-06-27
>>>>>>>> IETF LC End Date: 2016-06-28
>>>>>>>> IESG Telechat date: 2016-07-07
>>>>>>>>
>>>>>>>> Summary:
>>>>>>>>
>>>>>>>> This draft is on the right track but has open issues, described in
>>>>>>>> the review.
>>>>>>>>
>>>>>>>> This is a well written document. I was generally able to follow it
>>>>>>>> even though I know nothing about the subject.
>>>>>>>>
>>>>>>>>
>>>>>>>> Issues:
>>>>>>>>
>>>>>>>> Major: 0
>>>>>>>> Minor: 7
>>>>>>>> Nits:  2
>>>>>>>>
>>>>>>>> (1) MINOR: (Section 2)
>>>>>>>>
>>>>>>>> "Addr Sets End" is described as follows:
>>>>>>>>
>>>>>>>>    o  Addr Sets End: The unsigned integer offset of the byte, within
>>>>>>>>       the IA APPsub-TLV value part, of the last byte of the last
>>>>>>>>       Address Set. This will be the byte just before the first
>>>>>>>>       sub-sub-TLV if any sub-sub-TLVs are present ...
>>>>>>>>
>>>>>>>> But the remaining text of this section, and the examples, imply that
>>>>>>>> this is really the length of the leading portion of this TLV ending
>>>>>>>> with the last Address Set. The programmer in me says these differ by
>>>>>>>> one, and that the implied definition is the reasonable one, while
>>>>>>>> the action definition, and the name used to identify it, are wrong.
>>>>>>>>
>>>>>>>> I expect it would be difficult at this point to rename this field,
>>>>>>>> but at least the definition can be rewritten to be consistent with
>>>>>>>> the intended usage.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Right. How about
>>>>>>>
>>>>>>>    Addr Sets End: The unsigned integer byte number, within the IA
>>>>>>>    APPsub-TLV value part, of the last byte of the last Address Set,
>>>>>>>    where the first byte is numbered 1. This will be the number of the
>>>>>>>    byte just before ...
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> OK. If you count starting from one. (I don't, but it is your draft.)
>>>>>>
>>>>>>>> (2) MINOR: (Section 5.1)
>>>>>>>>
>>>>>>>> Normally I would expect this section to request IANA to assign new
>>>>>>>> values from the AFN table for OUI...RBridge Port ID. However it is
>>>>>>>> worded as "IANA has allocated". Perhaps this is because they have
>>>>>>>> already been (pre)allocated. I have no problem with that if IANA is
>>>>>>>> OK with it.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Yup, it say "IANA has allocated" because they are already allocated.
>>>>>>> See
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://www.iana.org/assignments/address-family-numbers/address-family-numbers.xhtml
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> OK.
>>>>>>
>>>>>>>> But IMO the references to IPv4...64-bit MAC are gratuitous and
>>>>>>>> inappropriate in an IANA Considerations section. If it is desired to
>>>>>>>> include a list of "useful" AFN values then that belongs in some
>>>>>>>> other portion of the document.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I disagree. It's "IANA Considerations", not "IANA Allocation Actions".
>>>>>>> Someone looking for code points is likely look in the IANA
>>>>>>> Considerations section.  All the values shown are from the same IANA
>>>>>>> registry.  I can see no advantage to splitting this table between two
>>>>>>> different parts of the draft.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> When I wrote this comment I had in mind the following that I recently
>>>>>> read:
>>>>>>
>>>>>>
>>>>>>
>>>>>> https://tools.ietf.org/html/draft-leiba-cotton-iana-5226bis-15#section-1.1
>>>>>>
>>>>>>>> (3) MINOR: (Section 5.1)
>>>>>>>>
>>>>>>>> The "new" values here (OUI, MAC/24, MAC/40, IPv6/64) give "This
>>>>>>>> document" as their reference. But anyone consulting the IANA
>>>>>>>> registry and following it to this document would have difficulty
>>>>>>>> finding any *definition* of these things.
>>>>>>>>
>>>>>>>> Section 6 discusses some operational issues with them, but at best
>>>>>>>> implies a definition. (RFC7042 might be considered a definition of
>>>>>>>> OUI, though it doesn't seem to say how big it would be.)
>>>>>>>>
>>>>>>>> I think what is needed are explicit definitions of all of these,
>>>>>>>> including their widths. (In order to provide enough bits to complete
>>>>>>>> a MAC/24 it must be at least 24 bits wide, but that would be bigger
>>>>>>>> than needed for a MAC/40.  So I guess it must be at least 24 bits,
>>>>>>>> and when used to expand a MAC/24 or MAC/40 an appropriate number of
>>>>>>>> its high order bits are used.)
>>>>>>>>
>>>>>>>> It would be good for there to be a section, appearing in the TOC,
>>>>>>>> for each of these so that someone coming here from the IANA registry
>>>>>>>> will easily be able to find the definition.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> This is a good point. Better definitions of these AFN types and better
>>>>>>> references, either to within this document by explicit pointers to a
>>>>>>> section within another document or both, are good points. Probably
>>>>>>> Section 6 should be expanded and sub-sections added to it...
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> WFM
>>>>>>
>>>>>>
>>>>>>>> (4) MINOR: (Section 5.2)
>>>>>>>>
>>>>>>>> This section defines a new registry with Expert Review as the
>>>>>>>> procedure for approving new entries. What I don't see is any
>>>>>>>> guidance to the expert on appropriate criteria to use to judge
>>>>>>>> suitability of new entries. Without any guidance, relying on the
>>>>>>>> whim of the expert can lead to variable, and perhaps biased,
>>>>>>>> results.
>>>>>>>>
>>>>>>>> It would be good to give guidance on: what sorts of document
>>>>>>>> reference are acceptable, what information needs to be included in
>>>>>>>> the reference document, whether "special" values may be requested
>>>>>>>> (versus just assignment in order requests are received), and the
>>>>>>>> sorts of properties that are appropriate.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> OK. Some guidance can be added.
>>>>>>>
>>>>>>>> (5) MINOR: (Section 6)
>>>>>>>>
>>>>>>>> This section talks about the handling of OUI and IPv6/64 when they
>>>>>>>> appear in a Fixed Address sub-sub-TLV. It says nothing about their
>>>>>>>> meaning if these appear elsewhere, such as in a Template. I presume
>>>>>>>> this kind of usage is nonsense, but it would be better to explicitly
>>>>>>>> state it.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> OK, the draft should explain their processing wherever they occur.
>>>>>>>
>>>>>>>> (6) MINOR: (Section 6)
>>>>>>>>
>>>>>>>> The description of IPv6/64 says:
>>>>>>>>
>>>>>>>>    For this purpose, an 48-bit MAC address is expanded to 64
>>>>>>>>    bits as described in [RFC7042].
>>>>>>>>
>>>>>>>> It wasn't entirely apparent to me what part of 7042 covers that. It
>>>>>>>> would be helpful to provide the section where this aspect is
>>>>>>>> specified. (After some study I guess that it is section 2.2.1.)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> OK.
>>>>>>>
>>>>>>>> (7) MINOR: (Section A.2)
>>>>>>>>
>>>>>>>> I believe that the values of both 'Length' and 'Address Sets End'
>>>>>>>> are too small by 7 - presumably because they forgot to count the
>>>>>>>> fixed fields. This also applies to the "alternative" using explict
>>>>>>>> AFN encoding.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks for catching that there is an error here.
>>>>>>>
>>>>>>> Length should be the size everything after the 2-byte length
>>>>>>> field. That's
>>>>>>>   7  fixed fields
>>>>>>>  36  three address sets, each 12 bytes
>>>>>>>   7  sub-sub-tlv one
>>>>>>>  14  sub-sub-tlv two
>>>>>>> for a total of 64 so the value is off by 10.
>>>>>>>
>>>>>>> Address Sets End should be the above less the sub-sub-tlvs, so that
>>>>>>> would be 43 and the value shown is also off by 10.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> I guess I also got it wrong.
>>>>>>
>>>>>> But it was obvious to me that the examples weren't all done the same
>>>>>> way.
>>>>>>
>>>>>>>> (8) NIT: (Section A.2)
>>>>>>>>
>>>>>>>> Based on a very quick reading, ISTM that section 2.2.1 of 7042
>>>>>>>> suggests that the IPv6 addresses being constructed this way should
>>>>>>>> start with 0x02 rather than 0x20. But I'm far from sure I understand
>>>>>>>> this correctly.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Ahhh, there is indeed an error here but it is in the bottom 64 bits,
>>>>>>> which should be a Modified EUI-64 identifier, as described in Section
>>>>>>> 2.2.1 of RFC 7042. Thus the top byte of the bottom 64 bits of the
>>>>>>> resulting IPv6 addresses should be 0x02. The top byte of the entire
>>>>>>> IPv6 128-bit address should be 0x20 as shown.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> OK. Like I said, I didn't really understand the details.
>>>>>>
>>>>>>         Thanks,
>>>>>>         Paul
>>>>>>
>>>>>>
>>>>>>>> (9) NIT: (Section A.2)
>>>>>>>>
>>>>>>>> There seems to be a typo in the following:
>>>>>>>>
>>>>>>>>    The OUI would them be supplied
>>>>>>>>    by a second Fixed Address sub-sub-TLV proving the OUI.
>>>>>>>>
>>>>>>>> I think "proving" should be "providing".
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> OK.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Donald
>>>>>>> ===============================
>>>>>>>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>>>>>>>  155 Beaver Street, Milford, MA 01757 USA
>>>>>>>  d3e3e3@gmail.com
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>