Re: [Softwires] Benoit Claise's Discuss on draft-ietf-softwire-dslite-mib-12: (with DISCUSS and COMMENT)

"Yu Fu" <fuyu@cnnic.cn> Fri, 11 December 2015 06:41 UTC

Return-Path: <fuyu@cnnic.cn>
X-Original-To: softwires@ietfa.amsl.com
Delivered-To: softwires@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 45A8F1A9153; Thu, 10 Dec 2015 22:41:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.088
X-Spam-Level:
X-Spam-Status: No, score=0.088 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 bBeHIjx4ePyb; Thu, 10 Dec 2015 22:41:00 -0800 (PST)
Received: from cnnic.cn (smtp13.cnnic.cn [218.241.118.13]) by ietfa.amsl.com (Postfix) with ESMTP id 0ED201A9154; Thu, 10 Dec 2015 22:40:57 -0800 (PST)
Received: from LIUXD (unknown [218.241.103.118]) by ocmail02.zx.nicx.cn (Coremail) with SMTP id AQAAf0BZYU3vb2pWB0YfCQ--.42611S3; Fri, 11 Dec 2015 14:40:47 +0800 (CST)
From: Yu Fu <fuyu@cnnic.cn>
To: 'Benoit Claise' <bclaise@cisco.com>, 'The IESG' <iesg@ietf.org>
References: <20151202203456.15996.96672.idtracker@ietfa.amsl.com>
In-Reply-To: <20151202203456.15996.96672.idtracker@ietfa.amsl.com>
Date: Fri, 11 Dec 2015 14:40:54 +0800
Message-ID: <00b801d133de$e289c110$a79d4330$@cn>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AdEtQOj1GUDnPFnsQwWmYXBE/mlXpwAMcFJg
Content-Language: zh-cn
X-CM-TRANSID: AQAAf0BZYU3vb2pWB0YfCQ--.42611S3
X-Coremail-Antispam: 1UD129KBjvJXoW3JrW5tw4DtF4UurW7WF18Grg_yoWDJF4fpF W3t3srKrykAw17Jrn7uw48WFy5Zr4rJF45Jryqqry0y34Ykw18tr47KwsYqFyUCry0gr1j qr4jvryDAw1DArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUk2b7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I 8E87Iv6xkF7I0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI 64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8Jw Am72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lc2xSY4AK67AK6r47MxAIw28I cxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2 IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI 42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42 IY6xAIw20EY4v20xvaj40_WFyUJVCq3wCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E 87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUy8u4DUUUU
X-CM-SenderInfo: pix13q5fqqxugofq/
Archived-At: <http://mailarchive.ietf.org/arch/msg/softwires/c_tq3BvaFS8rcL-P5oFPvQeB1s0>
Cc: draft-ietf-softwire-dslite-mib@ietf.org, softwires@ietf.org, softwire-chairs@ietf.org, cuiyong@tsinghua.edu.cn
Subject: Re: [Softwires] Benoit Claise's Discuss on draft-ietf-softwire-dslite-mib-12: (with DISCUSS and COMMENT)
X-BeenThere: softwires@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: softwires wg discussion list <softwires.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/softwires>, <mailto:softwires-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/softwires/>
List-Post: <mailto:softwires@ietf.org>
List-Help: <mailto:softwires-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/softwires>, <mailto:softwires-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Dec 2015 06:41:03 -0000

Dear Benoit and Dave,

Thanks for your extensive review. Please see my reply inline.

On 2/12/2015 5:54 am, "Softwires on behalf of Dave Thaler"
<softwires-bounces@ietf.org on behalf of dthaler@microsoft.com> wrote:

>I was assigned to do the MIB doctor review of this document, since I
>previously
>did an early review of -03.  My full comments are in the marked up copy at
>http://research.microsoft.com/~dthaler/draft-ietf-softwire-dslite-mib-12.p
>df
>Below is a summary of the issues called out therein.
> 
>Substantive issues:
>1)     
>RFC 4001 requires each InetAddress object to explicitly state
>which other InetAddressType object indicates the type.  None of the
>objects
>in this document do so.  RFC 7659 (the NATv2 MIB) does, and can be used as
>an example.

[Yu]: We will add the statement in the updated version according to the RFC 7659 as an example.

>2)     
>dsliteNATBindEntry
>includes
>dsliteTunnelStartAddPreLen in the INDEX.
>To confirm this was intended:
>Can you really have 2 entries that have all
>other INDEX values the same and differ only in the prefix length?

[Yu]: Only the dsliteTunnelStartAddress would be enough to identify the IP address of the tunnel startpoint, so we will delete the dsliteTunnelStartAddPreLen in the INDEX of dsliteNATBindEntry.

>3)     
>dsliteNATBindTable states that it extends natv2PortMapTable in RFC 7659,
>but rather than reusing the not-accessible objects from that table in its
>own
>INDEX clause, it defines its own.  That¹s fine, but it is then not clear
>whether
>each such object in the
>dsliteNATBindTable INDEX needs to match
>a corresponding value in the natv2PortMapTable INDEX,
>or whether there can be additional entries that do not
>appear in the natv2PortMapTable.   This should be clarified.

[Yu]: Each entry in the dsliteNATBindTable not only need to match a corresponding entry in the natv2PortMapTable but also a corresponding entry in the dsliteTunnelTable, so each such object in the dsliteNATBindTable INDEX needs to match a corresponding value in the natv2PortMapTable INDEX and a correspongding value in the dsliteTunnelTable INDEX. We will add a clarification in the DESCRIPTION of the dsliteNATBindEntry.


>4)     
>Many objects in that table, such as dsliteNATBindMappingIntRealm,
>have very terse DESCRIPTIONs, whereas the DESCRIPTION of
>the corresponding object in the natv2PortMapTable is quite
>detailed.  Hence this draft is far less clear than RFC 7659,
>since this draft has no such language.

[Yu]: We will add more detailed description in the defined object in the dsliteNATBindTable.

>5)     
>Objects of type InetAddress incorrectly have a REFERENCE
>clause pointing to the definition of the InetAddress TC.
>REFERENCE clauses should be used to point to the spec defining
>the semantics, rather than the syntax.  For example,
>dsliteNATBindMappingIntAddress is incorrect, whereas the
>corresponding object in RFC 7659 (natv2AddressMapInternalAddressType)
>is correct and points into the DS-Lite RFC (RFC 6333).

[Yu] We will correct it in the next version.

>6)     
>I didn¹t understand DsliteNATBindEntry at all.  Its
>dsliteNATBindMappingMapBehavior object has a value
>addressAndPortDependent(2) which ³maps to a separate external
>address and port combination for each different
>destination address and port combination reached
>through the same external realm².   However, the external
>port
>is in the INDEX clause and the destination address does
>not appear to be
>in the table at all.  Since the 0 value for the external port already has
>a different
>special meaning, it can¹t be 0 either.   So I don¹t understand how this
>table
>can work.

[Yu]: It need more clarification sentence here. Because the AFTR is also a CGN device (Carrier Grade NAT) which translates private IPv4 addresses to and from global IPv4 addresses according to a classical NAPT scheme configured by the Service Provider, the dsliteNATBindMappingMapBehavior object only has a value addressAndPortDependent(2) here in DS-Lite scenario. And the dsliteNATBindMappingExtPort must be a non-zero value. It also need some clarification in the DESCRIPTION of the natv2PortMapExternalPort. Let me take a simple example for the extended IPv4 NAT binding table according to the definition of dsliteNATBindTable: 
+------------------------------------------------------------------------------------------+---------------------------------------------------------------+
| TunnelStartAddress/IPv4InternalAddress/Protocol/InternalPort | IPv4ExternalAddress/Protocol/ExternalPort |
+-------------------------------------------------------------------------------------------+------------------------------------------------------------ -+
|  2001:db8:0:1::1 /      10.0.0.1    /  TCP  /  10000    |     192.0.2.1   /   TCP  /   5000   |
+-------------------------------------------------------------------------------------------+------------------------------------------------------ -------+
the translation tables in the AFTR are configured to forward between IP/TCP (10.0.0.1/10000) and IP/TCP
(192.0.2.1/5000). That is, a datagram received by the Dual-Stack Lite home router from the host at address 10.0.0.1, using TCP port 10000, will be translated to a datagram with IPv4 SRC address
192.0.2.1 and TCP SRC port 5000 in the Internet. This Entry is created when the AFTR receives datagram on the outbound direction. When the datagram is returned from the inbound direction, it will do a reverse lookup in the extended IPv4 NAT binding table to know how to reconstruct the IPv6 encapsulation back to the home router.

>7)     
>dsliteAFTRAlarmProtocolType is underspecified.  It¹s a string,
>but the description is very confusing as to what the legal string
>values are, making it sound more like an INTEGER was intended.
>(³This object indicate the protocol type of alarm,
>                0:tcp,1:udp,2:icmp,3:total²)
>E.g., does that mean the string is ³0:tcp² or ³0² or ³tcp² or what?

[Yu]: We will add a clarification to describe the string as 0:tcp.

>8)     
>The
>dsliteStatisticTransmitted object seems to combine sent + received
>packets into a single counter with a name that implies only one direction.
>This is confusing, especially since most other MIB modules separate sent
>vs received into different counters.

[Yu]: We will separate dsliteStatisticTransmitted object into two objects for sent and received packets.

>9)     
>dsliteAFTRUserSessionNumAlarm and dsliteAFTRPortUsageOfSpecificIpAlarm
>both refer to ³the threshold² without stating what threshold that is.
>There doesn¹t seem to be any such threshold object in this MIB module or
>elsewhere that I could find.

[Yu]: We will define these threshold objects in the next version.

>10)  
>dsliteAFTRAlarmScalarGroup
>is mandatory and requires read-write access.
>But a lesson learned from the NAT MIB (and many other MIBs) is that many
>people don¹t want write support in their MIB modules.  Does the WG really
>feel that write support is required in all implementations?  I¹d recommend
>also having a read-only compliance statement, as is done in many other
>MIB modules.

[Yu]:The read-write object defined in this MIB is intended to set a threshold value used to trigger a trap. So I think the write support is required in DSLite-MIB as the object of natv2InstanceThresholdPortMapEntriesHigh defined in RFC 7659

>11)  
>The security considerations section uses the correct boilerplate for
>sensitive read-only objects, which includes ³These are the tables and
>objects and their sensitivity/vulnerability².  However it then only
>lists the tables/objects and contains no discussion of their
>sensitivity/vulnerability.
>This is required in order to comply with MIB review guidelines in RFC
>4181.

[Yu]: We will add the discussion in the security considerations section.

>12)  
>Per discussion on MIB Doctors, the root OID should probably not be
>{ transmission xxx }, since that space usually implies that xxx is an
>ifType
>(not tunnel type) value.

[Yu]: We will move the DSLite-MIB under mib-2

>13)  
>A number of undefined terms are used that I could not find in the DS-Lite
>RFC (6333) either, e.g., connection, session, etc.  As such, I couldn¹t
>tell what
>was meant, and whether there were issues with the meaning.  At minimum,
>REFERENCE clauses should be added to point to a specific section of a
>document
>that defines the terms.

[Yu]: The session mentioned here is referred to the RFC 4008. We will add the REFERENCE clauses and some description for connection in the object definition.
> 
>Editorial issues:
>14)  
>The title, abstract, MIB module name, etc. all say the MIB module is for
>
>managing DS-Lite, but DS-Lite has two roles: AFTR and B4, and this
>document
>only instruments the AFTR.   Hence I would really recommend putting AFTR
>in the title, abstract, and name.

[Yu]: We will putting the AFTR in the title, abstract, the name.
>15)  
>There are a bunch of editorial issues (grammar, typos) that should be
>cleaned up before publication.

[Yu]: We will revise the editorial issues accordingly. 

>16)  
>In a number of places, it seems to refer to some objects in some MIB
>module,
>whether this document or RFC 7659, without stating the name of the object
>so it is not clear which object was meant.

[Yu]: We will add the name of the object.

>17)  
>The document still refers to
>draft-perrault-behave-natv2-mib
>and should be RFC 7659.

[Yu]: We will update it for RFC7659
> 
>Dave
>

Thanks very much for you review. An updated version of the draft will be submitted soon. 

BR 
Yu