Subject: Re: [Softwires] FW: I-D Action: draft-ietf-softwire-dslite-mib-03.txt

From: Tassos Chatzithomaoglou <[email-masked]>
Date: Sun, 15 Sep 2013 22:23:17 +0300

Some comments after a quick review:
> The ifOperStatus in ifTable would be used to represent whether the
>    DS-Lite tunnel function has been originated. 
Maybe replace "originated" with "initiated" or "activated"?

Can someone clarify the usage of the following? Why is it needed?

>       dsliteTunnelStartAddPreLen OBJECT-TYPE
>           SYNTAX Integer32 (0..128)
>           MAX-ACCESS read-create
>           STATUS current
>           DESCRIPTION
>              "IPv6 prefix length of the IP address of the
>               start point of the tunnel."
>           ::= { dsliteTunnelEntry 3 }

Also, shouldn't it be "InetAddressPrefixLength" instead of Integer32?

>       dsliteNATMapLocalAddrTo OBJECT-TYPE
>          SYNTAX      InetAddress
>          MAX-ACCESS  read-create
>          STATUS      current
>          DESCRIPTION
>           "This object specifies the last IP address of the range of
>            IP addresses mapped by this translation entry. If only
>            a single address is being mapped, the value of this
>            object is equal to the value of natAddrMapLocalAddrFrom.
>            The value of this object must be greater than or equal to
>            the value of the natAddrMapLocalAddrFrom object."
>          ::= { dsliteNATMapEntry 5 }

Replace "natAddrMapLocalAddrFrom" with "dsliteNATMapLocalAddrFrom".

Also how do you define greater or less when comparing ip addresses? Is this described somewhere?

>
>       dsliteNATMapEntry OBJECT-TYPE
>          SYNTAX     DsliteNATMapEntry
>          MAX-ACCESS not-accessible
>          STATUS     current
>          DESCRIPTION
>             " This entry represents an address map to be used for
>               NAT and contributes to the address mapping tables of
>               AFTR."
>          INDEX   { ifIndex,
>                    dsliteNATMapIndex  }
>          ::=  {  dsliteNATMapTable 1 }
>
>       DsliteNATMapEntry  ::=
>          SEQUENCE {
>        dsliteNATMapIndex               NatAddrMapId,
>        dsliteNATMapLocalAddrFromType   InetAddressType,
>        dsliteNATMapLocalAddrFrom       InetAddress,
>        dsliteNATMapLocalAddrToType     InetAddressType,
>        dsliteNATMapLocalAddrTo         InetAddress,
>        dsliteNATMapLocalPortFrom       InetPortNumber,
>        dsliteNATMapLocalPortTo         InetPortNumber,
>        dsliteNATMapGlobalAddrFromType  InetAddressType,
>        dsliteNATMapGlobalAddrFrom      InetAddress,
>        dsliteNATMapGlobalAddrToType    InetAddressType,
>        dsliteNATMapGlobalAddrTo        InetAddress,
>        dsliteNATMapGlobalPortFrom      InetPortNumber,
>        dsliteNATMapGlobalPortTo        InetPortNumber,
>        dsliteNATMapAddrUsed            Gauge32
>        }

Is there an actual need to define both dsliteNATMapLocalAddrFromType and dsliteNATMapLocalAddrToType?
The same applies to dsliteNATMapGlobalAddrFromType and dsliteNATMapGlobalAddrToType.
Is there a case where From and To could be different types?

INET-ADDRESS-MIB allows multiple InetAddress object(s) to use the same InetAddressType object.

It is suggested that the
         InetAddressType object be logically registered before the
         object(s) that use the InetAddress textual convention, if
         they appear in the same logical row.

NatAddrMapEntry in RFC 4008 also uses a single InetAddressType for both From and To.

>       dsliteSessionLimitType OBJECT-TYPE
>          SYNTAX  INTEGER
>            {
>                tcp(0),
>                udp(1),
>                icmp(2),
>                total(3)
>             }
>          MAX-ACCESS not-accessible
>          STATUS current
>          DESCRIPTION
>             "This object represents the session limit type:
>              tcp or udp or totally."
>          ::= { dsliteSessionLimitEntry 2 }
icmp is missing from the description.
The same applies for dslitePortLimitType later on.

There are a lot of references to "DS-Lite instance", but it's not clear what this instance is.

>       DsliteStatisticEntry ::=
>          SEQUENCE {
>        dsliteStatisticInstanceName           DisplayString,
>        dsliteStatisticDiscard                Counter64,
>        dsliteStatisticReceived               Counter64,
>        dsliteStatisticTransmitted            Counter64,
>        dsliteStatisticIpv4Session            Counter64,
>        dsliteStatisticIpv6Session            Counter64
>       }

Also, it's not clear what dsliteStatisticIpv4Session and dsliteStatisticIpv6Session refer to.

What i couldn't find into the MIB, or i couldn't conclude based on the existing context (assuming the above two objects aren't the ones i'm looking for), is if there are any objects (especially under stats) regarding the following:

Number of active softwires (aka IPv6 tunnels)
Number of active flows (aka IPv4 sessions)

I don't expect vendors to support activation of ifindex for such tunnels, since their volume will have a negative effect on the control-plane performance.
Likewise many vendors offer the option to disable the creation of entries in the ifindex table for all dynamic subscriber sessions.

And some minor editorial comments:

replace "ifTabel" with "ifTable"
replace "textule" with "textual"
replace "packet count" with "packets"
replace "This object indicate" with "This object indicates"

in some places spaces are missing between parenthesis and the next word.

--
Tassos

Fuyu (Eleven) wrote on 29/8/2013 10:23:
> Hi, Softwirers,
>
> The authors have submitted a new version of DS-Lite MIB. 
>
> Some warnings have been fixed in this version as compiling it in the most strict Severity level.
>
> Please review the latest version and give your comments.
>
> Thanks and Best Regards
>
> Yu
>
> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of [email-masked]
> Sent: Wednesday, August 28, 2013 5:32 PM
> To: [email-masked]
> Cc: [email-masked]
> Subject: [Softwires] I-D Action: draft-ietf-softwire-dslite-mib-03.txt
>
>
> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>  This draft is a work item of the Softwires Working Group of the IETF.
>
> 	Title           : DS-Lite Management Information Base (MIB)
> 	Author(s)       : Yu Fu
>                           Sheng Jiang
>                           Jiang Dong
>                           Yuchi Chen
> 	Filename        : draft-ietf-softwire-dslite-mib-03.txt
> 	Pages           : 30
> 	Date            : 2013-08-28
>
> Abstract:
> This memo defines a portion of the Management Information Base (MIB) for
> using with network management protocols in the Internet community. In
> particular, it defines managed objects for DS-Lite.
>
>
> The IETF datatracker status page for this draft is:
> https://datatracker.ietf.org/doc/draft-ietf-softwire-dslite-mib
>
> There's also a htmlized version available at:
> http://tools.ietf.org/html/draft-ietf-softwire-dslite-mib-03
>
> A diff from the previous version is available at:
> http://www.ietf.org/rfcdiff?url2=draft-ietf-softwire-dslite-mib-03
>
>
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>
> _______________________________________________
> Softwires mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/softwires
> _______________________________________________
> Softwires mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/softwires
>