smilint output for ./MPLS-VPN-MIB


Message Severities
SeverityCount
change recommended2
warning20
Message Types
TypeCount
bits-zero-not-used (change recommended)1
group-membership (change recommended)1
group-unref (warning)4
import-unused (warning)1
index-element-accessible (warning)4
index-exceeds-too-large (warning)1
inetaddress-inetaddresstype (warning)5
integer-misuse (warning)5

Messages:

MPLS-VPN-MIB

   1: -- extracted from draft-ietf-ppvpn-mpls-vpn-mib-03.txt
   2: -- at Wed Nov 14 06:06:48 2001
   3: 
   4: MPLS-VPN-MIB DEFINITIONS ::= BEGIN
   5: 
   6: IMPORTS
   7:    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   8:    experimental, Integer32, Counter32, Unsigned32,
   9:    TimeTicks
   9: warning - warning: identifier `TimeTicks' imported from module `SNMPv2-SMI' is never used
  10:       FROM SNMPv2-SMI
  11: 
  12:    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
  13:       FROM SNMPv2-CONF
  14: 
  15:    TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType,
  16:    TimeStamp, DisplayString
  17:       FROM SNMPv2-TC
  18: 
  19:    InterfaceIndex
  20:       FROM IF-MIB
  21: 
  22:    SnmpAdminString
  23:       FROM SNMP-FRAMEWORK-MIB
  24: 
  25:    InetAddress, InetAddressType
  26:       FROM INET-ADDRESS-MIB
  27: 
  28:    bgp4PathAttrIpAddrPrefix, bgp4PathAttrIpAddrPrefixLen, 
  29:    bgp4PathAttrPeer
  30:       FROM BGP4-MIB;
...
 262: 
 263: mplsVpnInterfaceConfEntry OBJECT-TYPE
 263: warning - warning: index element `mplsVpnInterfaceConfIndex' of row `mplsVpnInterfaceConfEntry' should be not-accessible in SMIv2 MIB
 264:    SYNTAX        MplsVpnInterfaceConfEntry
 265:    MAX-ACCESS    not-accessible
 266:    STATUS        current
 267:    DESCRIPTION
 268:        "An entry in this table is created by an LSR for
 269:         every interface capable of supporting MPLS/BGP VPN.
 270:         Each entry in this table is meant to correspond to
 271:         an entry in the Interfaces Table."
 272:    INDEX       { mplsVpnVrfName, mplsVpnInterfaceConfIndex }
 273:    ::= { mplsVpnInterfaceConfTable 1 }
 274: 
 275: MplsVpnInterfaceConfEntry ::= SEQUENCE {
 276:   mplsVpnInterfaceConfIndex             InterfaceIndex,
 277:   mplsVpnInterfaceLabelEdgeType         INTEGER,
 278:   mplsVpnInterfaceVpnClassification     INTEGER,
 279:   mplsVpnInterfaceVpnRouteDistProtocol  BITS,
 280:   mplsVpnInterfaceConfStorageType       StorageType,
 281:   mplsVpnInterfaceConfRowStatus         RowStatus
 282: }
...
 325: 
 326: mplsVpnInterfaceVpnRouteDistProtocol OBJECT-TYPE
 327:    SYNTAX        BITS { none (1),
 328:                         bgp (2),
 329:                         ospf (3),
 330:                         rip(4),
 331:                         isis(5),
 332:                         other (6)
 333:    }
 333: change recommended - warning: first bit (bit zero) has no name assigned
 334:    MAX-ACCESS    read-create
 335:    STATUS        current
 336:    DESCRIPTION
 337:        "Denotes the route distribution protocol across the
 338:         PE-CE link. Note that more than one routing protocol
 339:         may be enabled at the same time."
 340:    ::= { mplsVpnInterfaceConfEntry 4 }
...
 381: 
 382: mplsVpnVrfEntry OBJECT-TYPE
 382: warning - warning: index element `mplsVpnVrfName' of row `mplsVpnVrfEntry' should be not-accessible in SMIv2 MIB
 383:    SYNTAX        MplsVpnVrfEntry
 384:    MAX-ACCESS    not-accessible
 385:    STATUS        current
 386:    DESCRIPTION
 387:        "An entry in this table is created by an LSR for
 388:         every VRF capable of supporting MPLS/BGP VPN. The
 389:         indexing provides an ordering of VRFs per-VPN
 390:         interface."
 391:    INDEX       { mplsVpnVrfName }
 392:    ::= { mplsVpnVrfTable 1 }
 393: 
 394: MplsVpnVrfEntry ::= SEQUENCE {
 395:   mplsVpnVrfName                      MplsVpnId,
 396:   mplsVpnVrfDescription               SnmpAdminString,
 397:   mplsVpnVrfRouteDistinguisher        MplsVpnRouteDistinguisher,
 398:   mplsVpnVrfCreationTime              TimeStamp,
 399:   mplsVpnVrfOperStatus                INTEGER,
 400:   mplsVpnVrfActiveInterfaces          Unsigned32,
 401:   mplsVpnVrfAssociatedInterfaces      Unsigned32,
 402:   mplsVpnVrfConfMidRouteThreshold     Unsigned32,
 403:   mplsVpnVrfConfHighRouteThreshold    Unsigned32,
 404:   mplsVpnVrfConfMaxRoutes             Unsigned32,
 405:   mplsVpnVrfConfLastChanged           TimeStamp,
 406:   mplsVpnVrfConfRowStatus             RowStatus,
 407:   mplsVpnVrfConfStorageType           StorageType
 408: }
...
 604: 
 605: mplsVpnVrfRouteTarget OBJECT-TYPE
 605: change recommended - warning: node `mplsVpnVrfRouteTarget' must be contained in at least one conformance group
 606:    SYNTAX        MplsVpnRouteDistinguisher
 607:    MAX-ACCESS    read-create
 608:    STATUS        current
 609:    DESCRIPTION
 610:        "The route target distribution policy."
 611:    ::= { mplsVpnVrfRouteTargetEntry 4 }
...
 757: 
 758: mplsVpnVrfBgpPathAttrPeer OBJECT-TYPE
 758: warning - warning: `InetAddress' object should have an accompanied preceding `InetAdressType' object
 759:    SYNTAX     InetAddress
 760:    MAX-ACCESS not-accessible
 761:    STATUS     current
 762:    DESCRIPTION
 763:        "The IP address of the peer where the path
 764:         information was learned."
 765:    ::= { mplsVpnVrfBgpNbrPrefixEntry 1 }
 766: 
 767: mplsVpnVrfBgpPathAttrIpAddrPrefixLen OBJECT-TYPE
 768:    SYNTAX     INTEGER (0..32)
 768: warning - warning: use Integer32 instead of INTEGER in SMIv2
 769:    MAX-ACCESS not-accessible
 770:    STATUS     current
 771:    DESCRIPTION
 772:        "Length in bits of the IP address prefix
 773:         in the Network Layer Reachability
 774:         Information field."
 775:    ::= { mplsVpnVrfBgpNbrPrefixEntry 2 }
 776: 
 777: mplsVpnVrfBgpPathAttrIpAddrPrefix OBJECT-TYPE
 777: warning - warning: `InetAddress' object should have an accompanied preceding `InetAdressType' object
 778:    SYNTAX     InetAddress
 779:    MAX-ACCESS not-accessible
 780:    STATUS     current
 781:    DESCRIPTION
 782:        "An IP address prefix in the Network Layer
 783:         Reachability Information field.  This object
 784:         is an IP address containing the prefix with
 785:         length specified by mplsVpnVrfBgpPathAttrIpAddrPrefixLen.
 786:         Any bits beyond the length specified by
 787:         mplsVpnVrfBgpPathAttrIpAddrPrefixLen are zeroed."
 788:    ::= { mplsVpnVrfBgpNbrPrefixEntry 3 }
...
 830: 
 831: mplsVpnVrfBgpPathAttrNextHop OBJECT-TYPE
 831: warning - warning: `InetAddress' object should have an accompanied preceding `InetAdressType' object
 832:    SYNTAX     InetAddress
 833:    MAX-ACCESS read-only
 834:    STATUS     current
 835:    DESCRIPTION
 836:         "The address of the border router that
 837:          should be used for the destination
 838:          network."
 839:    ::= { mplsVpnVrfBgpNbrPrefixEntry 6 }
 840: 
 841: mplsVpnVrfBgpPathAttrMultiExitDisc OBJECT-TYPE
 842:     SYNTAX     INTEGER (-1..2147483647)
 842: warning - warning: use Integer32 instead of INTEGER in SMIv2
 843:     MAX-ACCESS read-only
 844:     STATUS     current
 845:     DESCRIPTION
 846:         "This metric is used to discriminate
 847:          between multiple exit points to an
 848:          adjacent autonomous system.  A value of -1
 849:          indicates the absence of this attribute."
 850:     ::= { mplsVpnVrfBgpNbrPrefixEntry 7 }
 851: 
 852:    mplsVpnVrfBgpPathAttrLocalPref OBJECT-TYPE
 853:         SYNTAX     INTEGER (-1..2147483647)
 853: warning - warning: use Integer32 instead of INTEGER in SMIv2
 854:         MAX-ACCESS read-only
 855:         STATUS     current
 856:         DESCRIPTION
 857:            "The originating BGP4 speaker's degree of
 858:             preference for an advertised route.  A
 859:             value of -1 indicates the absence of this
 860:             attribute."
 861:         ::= { mplsVpnVrfBgpNbrPrefixEntry 8 }
...
 874: 
 875:    mplsVpnVrfBgpPathAttrAggregatorAS OBJECT-TYPE
 876:         SYNTAX     INTEGER (0..65535)
 876: warning - warning: use Integer32 instead of INTEGER in SMIv2
 877:         MAX-ACCESS read-only
 878:         STATUS     current
 879:         DESCRIPTION
 880:              "The AS number of the last BGP4 speaker that
 881:               performed route aggregation.  A value of
 882:               zero (0) indicates the absence of this
 883:               attribute."
 884:         ::= { mplsVpnVrfBgpNbrPrefixEntry 10 }
 885: 
 886:    mplsVpnVrfBgpPathAttrAggregatorAddr OBJECT-TYPE
 886: warning - warning: `InetAddress' object should have an accompanied preceding `InetAdressType' object
 887:         SYNTAX     InetAddress
 888:         MAX-ACCESS read-only
 889:         STATUS     current
 890:         DESCRIPTION
 891:             "The IP address of the last BGP4 speaker
 892:              that performed route aggregation.  A value
 893:              of 0.0.0.0 indicates the absence of this
 894:              attribute."
 895:         ::= { mplsVpnVrfBgpNbrPrefixEntry 11 }
 896: 
 897:    mplsVpnVrfBgpPathAttrCalcLocalPref OBJECT-TYPE
 898:         SYNTAX     INTEGER (-1..2147483647)
 898: warning - warning: use Integer32 instead of INTEGER in SMIv2
 899:         MAX-ACCESS read-only
 900:         STATUS     current
 901:         DESCRIPTION
 902:             "The degree of preference calculated by the
 903:              receiving BGP4 speaker for an advertised
 904:              route.  A value of -1 indicates the
 905:              absence of this attribute."
 906:         ::= { mplsVpnVrfBgpNbrPrefixEntry 12 }
...
1046: 
1047: mplsVpnVrfRouteEntry OBJECT-TYPE
1047: warning - warning: index of row `mplsVpnVrfRouteEntry' can exceed OID size limit by 684 subidentifier(s)
1047: warning - warning: index element `mplsVpnVrfRouteTos' of row `mplsVpnVrfRouteEntry' should be not-accessible in SMIv2 MIB

1047: warning - warning: index element `mplsVpnVrfRouteNextHop' of row `mplsVpnVrfRouteEntry' should be not-accessible in SMIv2 MIB
1048:    SYNTAX        MplsVpnVrfRouteEntry
1049:    MAX-ACCESS    not-accessible
1050:    STATUS        current
1051:    DESCRIPTION
1052:        "An entry in this table is created by an LSR for every route
1053:         present configured (either dynamically or statically) within
1054:         the context of a specific VRF capable of supporting MPLS/BGP
1055:         VPN. The indexing provides an ordering of VRFs per-VPN
1056:         interface."
1057:       INDEX  { mplsVpnVrfName, mplsVpnVrfRouteDest,
1058:                mplsVpnVrfRouteMask, mplsVpnVrfRouteTos,
1059:                mplsVpnVrfRouteNextHop }
1060:       ::= { mplsVpnVrfRouteTable 1 }
1061: 
1062: MplsVpnVrfRouteEntry ::= SEQUENCE {
1063:        mplsVpnVrfRouteDest               InetAddress,
1064:        mplsVpnVrfRouteDestAddrType       InetAddressType,
1065:        mplsVpnVrfRouteMask               InetAddress,
1066:        mplsVpnVrfRouteMaskAddrType       InetAddressType,
1067:        mplsVpnVrfRouteTos                Unsigned32,
1068:        mplsVpnVrfRouteNextHop            InetAddress,
1069:        mplsVpnVrfRouteNextHopAddrType    InetAddressType,
1070:        mplsVpnVrfRouteIfIndex            InterfaceIndex,
1071:        mplsVpnVrfRouteType               INTEGER,
1072:        mplsVpnVrfRouteProto              INTEGER,
1073:        mplsVpnVrfRouteAge                Unsigned32,
1074:        mplsVpnVrfRouteInfo               OBJECT IDENTIFIER,
1075:        mplsVpnVrfRouteNextHopAS          Unsigned32,
1076:        mplsVpnVrfRouteMetric1            Integer32,
1077:        mplsVpnVrfRouteMetric2            Integer32,
1078:        mplsVpnVrfRouteMetric3            Integer32,
1079:        mplsVpnVrfRouteMetric4            Integer32,
1080:        mplsVpnVrfRouteMetric5            Integer32,
1081:        mplsVpnVrfRouteRowStatus          RowStatus,
1082:        mplsVpnVrfRouteStorageType        StorageType
1083:    }
1084: 
1085: mplsVpnVrfRouteDest  OBJECT-TYPE
1085: warning - warning: `InetAddress' object should have an accompanied preceding `InetAdressType' object
1086:       SYNTAX        InetAddress
1087:       MAX-ACCESS    not-accessible
1088:       STATUS        current
1089:       DESCRIPTION
1090:           "The destination IP address of this route.
1091:            This object may not take a Multicast (Class D)
1092:            address value.
1093: 
1094:            Any assignment (implicit or otherwise) of an
1095:            instance of this object to a value x must be
1096:            rejected if the bit-wise logical-AND of x with
1097:            the value of the corresponding instance of the
1098:            mplsVpnVrfRouteMask object is not equal to x."
1099:       ::= { mplsVpnVrfRouteEntry 1 }
...
1471: 
1472:    mplsVpnScalarGroup OBJECT-GROUP
1472: warning - warning: current group `mplsVpnScalarGroup' is not referenced in this module
1473:       OBJECTS { mplsVpnConfiguredVrfs,
1474:                 mplsVpnActiveVrfs,
1475:                 mplsVpnConnectedInterfaces,
1476:                 mplsVpnNotificationEnable,
1477:                 mplsVpnVrfConfMaxPossibleRoutes
1478:              }
1479:       STATUS  current
1480:       DESCRIPTION
1481:              "Collection of scalar objects required for MPLS VPN
1482:               management."
1483:       ::= { mplsVpnGroups 1 }
...
1546: 
1547:   mplsVpnVrfBgpPrefixGroup OBJECT-GROUP
1547: warning - warning: current group `mplsVpnVrfBgpPrefixGroup' is not referenced in this module
1548:       OBJECTS { 
1549:      mplsVpnVrfBgpPathAttrOrigin,
1550:      mplsVpnVrfBgpPathAttrASPathSegment,
1551:      mplsVpnVrfBgpPathAttrNextHop,
1552:      mplsVpnVrfBgpPathAttrMultiExitDisc,
1553:      mplsVpnVrfBgpPathAttrLocalPref,
1554:      mplsVpnVrfBgpPathAttrAtomicAggregate,
1555:      mplsVpnVrfBgpPathAttrAggregatorAS,
1556:      mplsVpnVrfBgpPathAttrAggregatorAddr,
1557:      mplsVpnVrfBgpPathAttrCalcLocalPref,
1558:      mplsVpnVrfBgpPathAttrBest,
1559:      mplsVpnVrfBgpPathAttrUnknown
1560: }
1561:       STATUS  current
1562:       DESCRIPTION
1563:              "Collection of objects needed for MPLS VPN
1564:               bgp neighbor-related information."
1565:       ::= { mplsVpnGroups 6 }
1566: 
1567:    mplsVpnSecGroup OBJECT-GROUP
1567: warning - warning: current group `mplsVpnSecGroup' is not referenced in this module
1568:       OBJECTS { mplsVpnVrfSecIllegalLabelViolations,
1569:                 mplsVpnVrfSecIllegalLabelRcvThresh }
1570: 
1571:       STATUS  current
1572:       DESCRIPTION
1573:              "Collection of objects needed for MPLS VPN
1574:               security-related information."
1575:       ::= { mplsVpnGroups 7 }
...
1610: 
1611:    mplsVpnNotificationGroup NOTIFICATION-GROUP
1611: warning - warning: current group `mplsVpnNotificationGroup' is not referenced in this module
1612:        NOTIFICATIONS { mplsVrfIfUp,
1613:                        mplsVrfIfDown,
1614:                        mplsNumVrfRouteMidThreshExceeded,
1615:                        mplsNumVrfRouteMaxThreshExceeded,
1616:                        mplsNumVrfSecIllegalLabelThreshExceeded
1617:                      }
1618:       STATUS  current
1619:       DESCRIPTION
1620:              "Objects required for MPLS VPN notifications."
1621:    ::= { mplsVpnGroups 10 }
1622: 
1623: -- End of MPLS-VPN-MIB
1624: END
1625: 
1626: -- 
1627: -- Copyright (C) The Internet Society (2000).  All Rights Reserved.
1628: -- This document and translations of it may be copied and furnished to
1629: -- others, and derivative works that comment on or otherwise explain it or
1630: -- assist in its implementation may be prepared, copied, published and
1631: -- distributed, in whole or in part, without restriction of any kind,
1632: -- provided that the above copyright notice and this paragraph are included
1633: -- on all such copies and derivative works. However, this document itself
1634: -- may not be modified in any way, such as by removing the copyright notice
1635: -- or references to the Internet Society or other Internet organizations,
1636: -- except as needed for the  purpose of developing Internet standards in
1637: -- which case the procedures for copyrights defined in the Internet
1638: -- Standards process must be followed, or as required to translate it into
1639: -- languages other than English.
1640: --    
1641: -- The limited permissions granted above are perpetual and will not be
1642: -- revoked by the Internet Society or its successors or assigns. This
1643: -- document and the information contained herein is provided on an "AS IS"
1644: -- basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
1645: -- DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
1646: -- TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE
1647: -- ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
1648: -- PARTICULAR PURPOSE.
1649: