Re: [tsvwg] Comments on draft-ietf-tsvwg-ecn-encap-guidelines-13

"Black, David" <David.Black@dell.com> Tue, 10 March 2020 21:47 UTC

Return-Path: <David.Black@dell.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EC54C3A0E74 for <tsvwg@ietfa.amsl.com>; Tue, 10 Mar 2020 14:47:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.088
X-Spam-Level:
X-Spam-Status: No, score=-2.088 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dell.com header.b=AsGIzkhm; dkim=pass (1024-bit key) header.d=dell.onmicrosoft.com header.b=CLQbzH9b
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 U-aFhUmrIqPz for <tsvwg@ietfa.amsl.com>; Tue, 10 Mar 2020 14:47:42 -0700 (PDT)
Received: from mx0a-00154904.pphosted.com (mx0a-00154904.pphosted.com [148.163.133.20]) (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 97EC13A0E62 for <tsvwg@ietf.org>; Tue, 10 Mar 2020 14:47:41 -0700 (PDT)
Received: from pps.filterd (m0170389.ppops.net [127.0.0.1]) by mx0a-00154904.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02ALh60p009683; Tue, 10 Mar 2020 17:46:51 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=smtpout1; bh=8a7JfN6/u4LME9YawM7JSb0ZXIklpfAwx4NPQcsYlHQ=; b=AsGIzkhmavoocuBi+JG9C8K5LQXnIR0tr8WoP7ZCmtOfEh0dbUAT7RtZAC14py/XHmnE 9SEa3R1NGiIl8lTAC0HclQi0y0A3Yao9NKxybQ6ofNIvOAdoh0s5bRjaKU8imuAn2rzT JKMC0gXK194kwHVvZgyG6QUwwELooKptyqFkWj+Fss0/mWHrHK6aXANhMdfpyiyjXU4l nXM8bNR6YoD8I2AQZD2L1NYgIyDU+DX/zaQLaCINosbN0TWtnLU5wIu6Ilt7DXOowVO5 XS2J+Sq19jUA46yqIyJQ4CxcMWbGmRUDkg5a4jFh9rL74jOUlsFNaF/Ne7ZgvwkGoUPt qw==
Received: from mx0a-00154901.pphosted.com (mx0a-00154901.pphosted.com [67.231.149.39]) by mx0a-00154904.pphosted.com with ESMTP id 2ypk29008x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 10 Mar 2020 17:46:50 -0400
Received: from pps.filterd (m0133268.ppops.net [127.0.0.1]) by mx0a-00154901.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02ALePXJ055925; Tue, 10 Mar 2020 17:46:50 -0400
Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-00154901.pphosted.com with ESMTP id 2ypjydg3w1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 10 Mar 2020 17:46:50 -0400
Received: from m0133268.ppops.net (m0133268.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 02ALeRNZ055993; Tue, 10 Mar 2020 17:46:50 -0400
Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by mx0a-00154901.pphosted.com with ESMTP id 2ypjydg3vs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Mar 2020 17:46:49 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BrQJwRNQgLJq0SHH57NMHB7BRgcEF4WlpeZzSHXEx+9SM1NGeYZfBxY7aAHd2/DbackVA+MGut2v8BWdKTBBHw9D5rAn/Bd5Bfje77Z4kCATjIveRHywvdEc69vbtyFs0B2esK42V8iKxwxsO29H5K++Ff1Fj0q+w8HJKlVZ1AAogyT1RYTOq81CRO9mtLGhRt1mfqjOFLfi+IxmF9zcEBFEy/1WxfNaKpPin7/vWhxIDNFw13uta7E4UXCJKxQ7nrEFMRiTRdOwoUrTP8nWQy9dUYFxltsCWLWUBLNbGxOnfhL20gvXUGh6GNrkkq+1f5+xOWdiDTpOEiji6EuHZw==
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=8a7JfN6/u4LME9YawM7JSb0ZXIklpfAwx4NPQcsYlHQ=; b=H0axNPwQ3zZ+3kYd3hz1M2DK+jo5spwL2uB4/NijuaIQWxSn0MWUpYCckns157S8A0j8KwguYmSVpoQEK7AwCihpFXZUOpQwDnk60KooLFeaT2mID1d9GRl2BUYYYokaZHNwYbLPNFc1q0irDLPel8ae1V/9SQgcZrAK0+Ze5+NiYSSUT4Rm95gsWKRUfXss1aBMGqLyMjiAVZryBemdsWyCWeLKkp0I+FlXMAduyIC5PioRdba9YCYwtWRQ8/bzn2XhX8RoR82JChG9kT0/4vr/41pzOoNR0eVPUoAOuqvhnd7JRCEHMCddYQ7TBAItVMlyP58Tze76/hAtf/OeIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=dell.com; dmarc=pass action=none header.from=dell.com; dkim=pass header.d=dell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Dell.onmicrosoft.com; s=selector1-Dell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8a7JfN6/u4LME9YawM7JSb0ZXIklpfAwx4NPQcsYlHQ=; b=CLQbzH9b/worAJwwKSCUtg/D4omZGNt8AzGefJLXUUy65Z2R96RyreLTsgABSL2WhBdJuA/HsAzg2Ad2b7SsT2ED0IyYdgihcsN/9khiI+GkTsSZMEohaXZiEPDBzYPxXnCC2cWnl1fpH9DDHomxaDb/Z0624zT1XrWSyN384O0=
Received: from MN2PR19MB4045.namprd19.prod.outlook.com (2603:10b6:208:1e4::9) by MN2PR19MB3150.namprd19.prod.outlook.com (2603:10b6:208:151::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Tue, 10 Mar 2020 21:46:45 +0000
Received: from MN2PR19MB4045.namprd19.prod.outlook.com ([fe80::c476:9aac:4d02:477c]) by MN2PR19MB4045.namprd19.prod.outlook.com ([fe80::c476:9aac:4d02:477c%5]) with mapi id 15.20.2793.013; Tue, 10 Mar 2020 21:46:45 +0000
From: "Black, David" <David.Black@dell.com>
To: Bob Briscoe <in@bobbriscoe.net>, Donald Eastlake <d3e3e3@gmail.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
CC: John Kaippallimalil <John.Kaippallimalil@huawei.com>, "Black, David" <David.Black@dell.com>
Thread-Topic: [tsvwg] Comments on draft-ietf-tsvwg-ecn-encap-guidelines-13
Thread-Index: AQHV3UGySdCE6Xpe/ESkXcPpovJh/ahCSCwAgAAWUfCAADFusA==
Date: Tue, 10 Mar 2020 21:46:45 +0000
Message-ID: <MN2PR19MB404517AEA4306817F0A5DCE283FF0@MN2PR19MB4045.namprd19.prod.outlook.com>
References: <CAF4+nEGu9XEiXypPw0NK+f2N9QbBwyTJKXbViKWVScJhOW=vUA@mail.gmail.com> <CAF4+nEEB2-pz4ugW-m1-3gq9KH-fyt93sLZ9WFh4BkJqQPX7PA@mail.gmail.com> <56499dde-81f1-5bd7-fd7c-67a201376e6a@bobbriscoe.net> <MN2PR19MB404578A43B43F7745ABC827A83FF0@MN2PR19MB4045.namprd19.prod.outlook.com>
In-Reply-To: <MN2PR19MB404578A43B43F7745ABC827A83FF0@MN2PR19MB4045.namprd19.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Enabled=True; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SiteId=945c199a-83a2-4e80-9f8c-5a91be5752dd;MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Owner=david.black@emc.com; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SetDate=2020-03-10T20:14:50.8783566Z; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Name=External Public; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Application=Microsoft Azure Information Protection; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Extended_MSFT_Method=Manual; aiplabel=External Public
x-originating-ip: [168.159.213.214]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 91a1844f-f99c-4927-85e2-08d7c53c8783
x-ms-traffictypediagnostic: MN2PR19MB3150:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <MN2PR19MB3150995AE2BBCFCEBADFB31C83FF0@MN2PR19MB3150.namprd19.prod.outlook.com>
x-exotenant: 2khUwGVqB6N9v58KS13ncyUmMJd8q4
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 033857D0BD
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(39860400002)(346002)(396003)(376002)(136003)(189003)(199004)(64756008)(8676002)(5660300002)(6506007)(66446008)(53546011)(81166006)(81156014)(66556008)(66476007)(316002)(2940100002)(786003)(71200400001)(52536014)(76116006)(2906002)(66946007)(8936002)(110136005)(9686003)(33656002)(186003)(55016002)(7696005)(4326008)(54906003)(26005)(107886003)(86362001)(478600001)(966005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR19MB3150; H:MN2PR19MB4045.namprd19.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: dell.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: NinmQ0vIbwfLYtSa8nX0XZ98X8Jl00bmvHMkxS8Irv/b2eIyIym5rQ4vtYQP3mWO4kInhAiChzoRZuanziSfGowFcYjcvSY34OMeDkQ1+TskkIoem25NzRImSWUBeHoWziDA4DO4WMsOwXpeEJ1nzOuzaXA7NwiZDAKRfdIk5t9j/nqJLivwDUxbrEkkCcDk+ISqdOJIv6QQbwkRxaxoXWPx7o1oJE8neCdbo7iUJednV3SKewXbQlfBRGMXkF3RIRPADUGbWXxxIJgBzOcch/RsK6eU3n1q0Fc5ZhShLugWSHVTTI9wpTcyuzXavDURE6pZcDyKOlxnG7ROT4dZfxgxID5UPnPjUgQ00ZLP11twM+H+pGmdW0zfhWEpqCkj27UkyROgyHO8LIxNLdGxfb2tuBI/DyExl9WPKaQd9ZKYQ92DLAQgWQbJmZAfvmujD+8O35uiCe0KWRs12450nVqAa2hph9ILHd+ZBb0q6goMgPvf/4VWwhQItG4UWeYv4PLNprZy1UEW9eDPqBH97w==
x-ms-exchange-antispam-messagedata: kHQOPrsoLkzMouzY0TClm9N2D0H7ntCRsv1NW25u0f9UXldT7AUq2f2Kqdb9VVZspMmGnZwLbCcw5acUuF4Qb9FQTJrBtW5mtH4eq8s6uyeFYQLMEw05Ur6msbQ2nLglXNpaPL/3B4OLWaWOYzjgDA==
Content-Type: multipart/alternative; boundary="_000_MN2PR19MB404517AEA4306817F0A5DCE283FF0MN2PR19MB4045namp_"
MIME-Version: 1.0
X-OriginatorOrg: Dell.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91a1844f-f99c-4927-85e2-08d7c53c8783
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2020 21:46:45.7402 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 945c199a-83a2-4e80-9f8c-5a91be5752dd
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ebnY6yA5oLcCDejUs3vg4L5dBlAwUFUlK1Rce87Acidgv4ldCeg1zdnKHOrYJZ3DCnB8FWyJT+4t1gTDkQx7Gg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR19MB3150
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-03-10_15:2020-03-10, 2020-03-10 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 mlxlogscore=999 clxscore=1015 mlxscore=0 adultscore=0 spamscore=0 malwarescore=0 phishscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003100128
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 malwarescore=0 adultscore=0 clxscore=1015 suspectscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003100128
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/pORDa2WU2jCDkYwZuWU5APiPCsM>
Subject: Re: [tsvwg] Comments on draft-ietf-tsvwg-ecn-encap-guidelines-13
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Mar 2020 21:47:45 -0000

Oops, missing word – new text should be:


          If the congestion marking is the

          most severe possible, the packet MUST be dropped.  However, if

          congestion can be marked with multiple levels of severity and

          the packet's marking is not the most severe, this requirement

          can be relaxed to: the packet SHOULD be dropped, as forwarding

          all such packets may conceal the network congestion that they

          indicate from the L4 transport that does not understand explicit

          congestion markings.


Thanks, --David

From: Black, David <David.Black@dell.com>
Sent: Tuesday, March 10, 2020 4:15 PM
To: Bob Briscoe; Donald Eastlake; tsvwg@ietf.org
Cc: John Kaippallimalil; Black, David
Subject: RE: [tsvwg] Comments on draft-ietf-tsvwg-ecn-encap-guidelines-13

Writing as draft shepherd …

> Section 4.4, point 1, first starred subpoint, there is something odd about
>     "the packet MAY be forwarded, but it SHOULD be dropped".
> Any better (I've added some of the context for the list)?:

>          If the congestion marking is the

>          most severe possible, the packet MUST be dropped.  However, if

>          congestion can be marked with multiple levels of severity and

>          the packet's marking is not the most severe, this requirement

>          can be relaxed to: the packet SHOULD be dropped, but it MAY be

>          forwarded.

That’s not much of an improvement.  Here’s the full -13 text to provide the context:

1.  If the arriving inner header is a Not-ECN-PDU it implies the L4
       transport will not understand explicit congestion markings.
       Then:

       *  If the outer header carries an explicit congestion marking,
          drop is the only indication of congestion that the L4
          transport will understand.  If the congestion marking is the
          most severe possible, the packet MUST be dropped.  However, if
          congestion can be marked with multiple levels severity and the
          packet's marking is not the most severe, the packet MAY be
          forwarded, but it SHOULD be dropped.

Assuming that we don’t tinker with the technical content of the last sentence, the better thing to
do with a statement of a “SHOULD” requirement is to explain what may happen if something else
is done.   I  think it’s implicit that a packet that is not dropped gets forwarded instead, so here’s
a suggestion for better text:


          If the congestion marking is the

          most severe possible, the packet MUST be dropped.  However, if

          congestion can be marked with multiple levels of severity and

          the packet's marking is not the most severe, this requirement

          can be relaxed to: the packet SHOULD be dropped, as forwarding

          all such packets may conceal the network congestion that they

          from the L4 transport that does not understand explicit congestion

          markings.

Thanks, --David

From: tsvwg <tsvwg-bounces@ietf.org<mailto:tsvwg-bounces@ietf.org>> On Behalf Of Bob Briscoe
Sent: Tuesday, March 10, 2020 1:29 PM
To: Donald Eastlake; tsvwg@ietf.org<mailto:tsvwg@ietf.org>
Cc: John Kaippallimalil
Subject: Re: [tsvwg] Comments on draft-ietf-tsvwg-ecn-encap-guidelines-13


[EXTERNAL EMAIL]
Donald,

Thank you for taking the time to review this (rather long) draft.
Apologies for not getting to your review until now.
On 06/02/2020 23:03, Donald Eastlake wrote:
Hi,

I'm not subscribed to the tsvwg mailing list but I have reviewed draft-ietf-tsvwg-ecn-encap-guidelines-13 and though you might be interested in my comments.

Overall, this is a very clear and well-written draft. The comments below are minor. Whether or not they are incorporated into the draft, I hope that it can be advanced soon.

Section 1. I suggest just deleting the one occurrence in the draft of "[RFC1323]" and the corresponding reference section entry. It seems unnecessary and just leads to a nits checker warning which will have to be explained, etc.

Section 1.1. Very minor but I believe the usual way, inside a draft, to refer to the RFC which that draft might become is "[this document]" (without the double quotes) rather than "[RFCXXXX]". Changing to the more common notation would, I believe, enable the RFC Editor note to be removed as "[this document]" is well understood by the RFC Editor.

Section 2. The initial paragraph on implementation keywords should be updated to the following as per RFC 8174:
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] [RFC8174]
when, and only when, they appear in all capitals, as shown here.
Done all the above
(BTW, I always baulk at having to cite RFC8174, when the following 12 words succinctly state the sum total of its content.)


Section 2. Suggest putting the Terminology entries in alphabetic order..
I haven't done this. They are more for reading through than for being looked up individually, most of them fall into logical little groups, and there are not so many that it's hard to find one.


Section 4.2, page 18. "802.1p" has been merged into 802.1Q ages ago. Values of the priority field are commonly referred to in IEEE 802.1 as Priority Code Points (PCPs) and in any case this seems a bit inconsistent to the way that the merger of 802.1ah into 802.1Q is recognized in the draft. Perhaps the last sentence of Section 4.2 could be: "An operator can define certain [IEEE802.1Q] Priority Code Points to indicate non-QCN frames and an ingress bridge is required to map arriving not-QCN-capable IP packets to one of these code points."
OK. I've taken on board the spirit of your edit, but changed it slightly:

   An operator can define certain

   Priority Code Points (PCPs [IEEE802.1Q]; previously 802.1p) to

   indicate non-QCN frames and an ingress bridge is required to map

   arriving not-QCN-capable IP packets to one of these non-QCN PCPs.
This is then consistent with the other references to 802.1Q, which also give the number of the constituent part before it was wrapped up into the mega-standard. If you think this is clumsy, pls say. I did it this way, because many people know these 802.1 drafts much better by their old name (well, for 'many people' read 'me', or perhaps read it as 'old farts like me').


Section 4.4, point 1, first starred subpoint, there is something odd about "the packet MAY be forwarded, but it SHOULD be dropped".
Any better (I've added some of the context for the list)?:

          If the congestion marking is the

          most severe possible, the packet MUST be dropped.  However, if

          congestion can be marked with multiple levels of severity and

          the packet's marking is not the most severe, this requirement

          can be relaxed to: the packet SHOULD be dropped, but it MAY be

          forwarded.

Section 7. It doesn't matter much but IANA would prefer that sections saying there are no IANA actions be left in the final RFC (see Section 9.1 of RFC 8126).
I'm learning something new every day.


Section 9. Should "the document" in the first line of this section by "this document"?
Yes. Done.

Appendix A. I did not review this update history.

Authors' Addresses: I don't think Pat Thaler can be listed as a front page "author" in the RFC sense unless at least an email address is listed for her. All authors should be pollable about IPR they know and when the draft gets to the AUTH48 state before RFC publication, the RFC editor must be able to contact all the authors. If no email address is known, she should be moved to a "Contributors" section or the like.
Yes. I discovered that (too late) last night, when the draft got rejected on this point!
I've added a Contributors section for her.

Thank you again.



Bob





--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/