Subject: [magma] Review of draft-ietf-magma-mgmd-mib-00.txt

From: "Dave Thaler" <[email-masked]>
Date: Tue, 15 Jul 2003 06:55:15 -0700

mgmdHostInterfaceStatus:
    Do we really want to allow enabling/disabling MLD on an interface?
    Since MLD is required for DAD and ND, I'm not sure this is a good idea.
 
mgmdHostInterfaceVersion
    The last sentence about routers shouldn't be here in the host object.
    Need a RANGE or enum type.
 
Version1QuerierTimer in IPv6?
    For IPv6, this object has no purpose.  If the interface is running
    IGMPv2 or IGMPv3 for IPv4, this object will be there.  However,
    will an IPv6 instance be present or not?  I'd suggest not.  That is,
    I'd prefer for the DESCRIPTION to say that this object is only
    present when the AddressType is IPv4.
 
Same for mgmdRouterCacheVersion1HostTimer.
 
Several times the "compatibility section" is mentioned, but there isn't one.
    The compliance section is probably intended, and that doesn't explicitly
    talk about the values of these objects either.  Instead either
        a) each DESCRIPTION clause should be complete, or
        b) define a TC and put the complete description of values there.
 
mgmdRouterInterfaceStatus
    The description should clarify that it enables/disables the _router
    side_ of IGMP/MLD.
 
mgmdRouterInterfaceQueryMaxResponseTime
    This object doesn't support IGMPv3 or MLDv2, and it should.
 
HostCacheEntry
    INDEX      { mgmdHostCacheAddress, mgmdHostCacheIfIndex }
    The AddressType is a columnar object, rather than being in the INDEX.
    This is illegal.  The Type needs to be before the address in the INDEX.
 
Same in RouterCacheEntry and mgmdSrcListEntry.
 
mgmdInverseHostCacheEntry
    INDEX      { mgmdInverseHostCacheIfIndex, mgmdInverseHostCacheAddress,
           mgmdInverseHostCacheAddressType }
    Again, the Type should come before the Address.
 
Same in mgmdInverseRouterCacheEntry.
 
mgmdHostCacheSelf
    I'd suggest deleting this object.  The purpose in the old MIB was
    to distiguish between the host joining, and the router noting that
    another host has joined.  Splitting the tables already does this
    in the new MIB.  Hence, if the value is FALSE, what's the point
    in having the row?
 
RouterCacheSelf
    Delete for similar reasons.  Can just look in the HostCacheTable.
 
mgmdHostCacheStatus
mgmdSrcListStatus
    Either delete or else put lots more stuff into the description
    about whether row can be added or deleted, what the side effects
    are, etc.  E.g. can you do a row creation in the SrcListTable if
    there's no HostCacheEntry for the group?
 
mgmdSrcListTable
    This is the biggest problem in the current spec.  This table needs to
    be split into Host/Router (it doesn't even have a Self object so it's
    even worse than the group table used to be).
 
Compliances
    need to state what address types must be supported
    (e.g. Mld... host must support at least the IPv6 type)
 
Security considerations could be better.  See the MALLOC MIB for
    a good example.
 
mgmdMldV1HostMIBCompliance
    Just includes mgmdV2HostMIBGroup, which just includes
    mgmdHostInterfaceVersion1QuerierTimer, which is not useful for
    an MLDv1 host.  Hence this compliance is broken.  Instead,
    mgmdHostInterfaceVersion1QuerierTimer should not be in a generic
    (to both IPv4 and IPv6) group... it's an IPv4-specific object
    which should be in an IPv4-specific group.
 
-Dave

_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma