text: #
  # PySNMP MIB module ZHONE-COM-IP-ROUTE-MIB (http://snmplabs.com/pysmi)
  # ASN.1 source file:///Users/davwang4/Dev/mibs.snmplabs.com/asn1/ZHONE-COM-IP-ROUTE-MIB
  # Produced by pysmi-0.3.4 at Wed May  1 15:47:14 2019
  # On host DAVWANG4-M-1475 platform Darwin version 18.5.0 by user davwang4
  # Using Python version 3.7.3 (default, Mar 27 2019, 09:23:15) 
  #
  OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols("ASN1", "OctetString", "Integer", "ObjectIdentifier")
  NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
  SingleValueConstraint, ConstraintsIntersection, ValueSizeConstraint, ConstraintsUnion, ValueRangeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "SingleValueConstraint", "ConstraintsIntersection", "ValueSizeConstraint", "ConstraintsUnion", "ValueRangeConstraint")
  InterfaceIndexOrZero, = mibBuilder.importSymbols("IF-MIB", "InterfaceIndexOrZero")
  NotificationGroup, ModuleCompliance = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ModuleCompliance")
  MibScalar, MibTable, MibTableRow, MibTableColumn, ModuleIdentity, TimeTicks, Counter32, Unsigned32, IpAddress, Counter64, Integer32, ObjectIdentity, Gauge32, Bits, MibIdentifier, NotificationType, iso = mibBuilder.importSymbols("SNMPv2-SMI", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "ModuleIdentity", "TimeTicks", "Counter32", "Unsigned32", "IpAddress", "Counter64", "Integer32", "ObjectIdentity", "Gauge32", "Bits", "MibIdentifier", "NotificationType", "iso")
  TextualConvention, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString")
  rdIndex, rdEntry = mibBuilder.importSymbols("ZHONE-COM-IP-RD-MIB", "rdIndex", "rdEntry")
  zhoneIp, zhoneModules = mibBuilder.importSymbols("Zhone", "zhoneIp", "zhoneModules")
  comIpRoute = ModuleIdentity((1, 3, 6, 1, 4, 1, 5504, 6, 57))
  comIpRoute.setRevisions(('2000-09-11 16:33',))
  
  if getattr(mibBuilder, 'version', (0, 0, 0)) > (4, 4, 0):
      if mibBuilder.loadTexts: comIpRoute.setRevisionsDescriptions(('V01.00.00 - Initial Release',))
  if mibBuilder.loadTexts: comIpRoute.setLastUpdated('200009111700Z')
  if mibBuilder.loadTexts: comIpRoute.setOrganization('Zhone Technologies, Inc.')
  if mibBuilder.loadTexts: comIpRoute.setContactInfo(' Postal: Zhone Technologies, Inc. @ Zhone Way 7001 Oakport Street Oakland, CA 94621 USA Toll-Free: +1 877-ZHONE20 (+1 877-946-6320) Tel: +1-510-777-7000 Fax: +1-510-777-7001 E-mail: support@zhone.com ')
  if mibBuilder.loadTexts: comIpRoute.setDescription('Zhone CIDR Route MIB Module. IP Software Minneapolis, MN')
  route = ObjectIdentity((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7))
  if mibBuilder.loadTexts: route.setStatus('current')
  if mibBuilder.loadTexts: route.setDescription('CIDR Routing Table information based on RFC 2096. Modified to incorporate routing domains.')
  zhoneRouteInfoTable = MibTable((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 1), )
  if mibBuilder.loadTexts: zhoneRouteInfoTable.setStatus('current')
  if mibBuilder.loadTexts: zhoneRouteInfoTable.setDescription('Table of scalar objects from RFC 2096 that now need to be indexed by routing domain. This table augments the rdTable from ZHONE-COM-IP-RD-MIB.')
  zhoneRouteInfoEntry = MibTableRow((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 1, 1), )
  rdEntry.registerAugmentions(("ZHONE-COM-IP-ROUTE-MIB", "zhoneRouteInfoEntry"))
  zhoneRouteInfoEntry.setIndexNames(*rdEntry.getIndexNames())
  if mibBuilder.loadTexts: zhoneRouteInfoEntry.setStatus('current')
  if mibBuilder.loadTexts: zhoneRouteInfoEntry.setDescription('Set of general routing information for one routing domain.')
  zhIpCidrRouteNumber = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 1, 1, 1), Gauge32()).setMaxAccess("readonly")
  if mibBuilder.loadTexts: zhIpCidrRouteNumber.setReference('See RFC 2096: ipCidrRouteNumber')
  if mibBuilder.loadTexts: zhIpCidrRouteNumber.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteNumber.setDescription('The number of current ipCidrRouteTable entries in this routing domain that are not invalid.')
  zhoneIpCidrRouteTable = MibTable((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3), )
  if mibBuilder.loadTexts: zhoneIpCidrRouteTable.setStatus('current')
  if mibBuilder.loadTexts: zhoneIpCidrRouteTable.setDescription("This entity's IP Routing table for each routing domain.")
  zhoneIpCidrRouteEntry = MibTableRow((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1), ).setIndexNames((0, "ZHONE-COM-IP-RD-MIB", "rdIndex"), (0, "ZHONE-COM-IP-ROUTE-MIB", "zhIpCidrRouteDest"), (0, "ZHONE-COM-IP-ROUTE-MIB", "zhIpCidrRouteMask"), (0, "ZHONE-COM-IP-ROUTE-MIB", "zhIpCidrRouteNextHop"))
  if mibBuilder.loadTexts: zhoneIpCidrRouteEntry.setStatus('current')
  if mibBuilder.loadTexts: zhoneIpCidrRouteEntry.setDescription('A particular route to a particular destina- tion, under a particular policy. There is a separate routing table for each routing domain. Rows can be added or removed using the zhIpCidrRouteStatus object. The minimum columns required to create new entry are zhIpCidrRouteDest, zhIpCidrRouteMask, zhIpCidrRouteNextHop, zhIpCidrRouteType, and zhIpCidrRouteInfo.')
  zhIpCidrRouteDest = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 1), IpAddress())
  if mibBuilder.loadTexts: zhIpCidrRouteDest.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteDest')
  if mibBuilder.loadTexts: zhIpCidrRouteDest.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteDest.setDescription('The destination IP address of this route. This object may not take a Multicast (Class D) address value. Any assignment (implicit or otherwise) of an instance of this object to a value x must be rejected if the bitwise logical-AND of x with the value of the corresponding instance of the ipCidrRouteMask object is not equal to x.')
  zhIpCidrRouteMask = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 2), IpAddress())
  if mibBuilder.loadTexts: zhIpCidrRouteMask.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteMask')
  if mibBuilder.loadTexts: zhIpCidrRouteMask.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteMask.setDescription('Indicate the mask to be logical-ANDed with the destination address before being compared to the value in the ipCidrRouteDest field. For those systems that do not support arbitrary subnet masks, an agent constructs the value of the ipCidrRouteMask by reference to the IP Ad- dress Class. Any assignment (implicit or otherwise) of an instance of this object to a value x must be rejected if the bitwise logical-AND of x with the value of the corresponding instance of the ipCidrRouteDest object is not equal to ipCidrRoute- Dest.')
  zhIpCidrRouteNextHop = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 3), IpAddress())
  if mibBuilder.loadTexts: zhIpCidrRouteNextHop.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteNextHop')
  if mibBuilder.loadTexts: zhIpCidrRouteNextHop.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteNextHop.setDescription('On remote routes, the address of the next sys- tem en route; Otherwise, 0.0.0.0.')
  zhIpCidrRouteIfIndex = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 4), InterfaceIndexOrZero()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteIfIndex.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteIfIndex')
  if mibBuilder.loadTexts: zhIpCidrRouteIfIndex.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteIfIndex.setDescription('The ifIndex value which identifies the local interface through which the next hop of this route should be reached. A value of 0 means there is no next hop interface.')
  zhIpCidrRouteType = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 5), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4))).clone(namedValues=NamedValues(("other", 1), ("reject", 2), ("local", 3), ("remote", 4)))).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteType.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteType')
  if mibBuilder.loadTexts: zhIpCidrRouteType.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteType.setDescription('The type of route. Note that local(3) refers to a route for which the next hop is the final destination; remote(4) refers to a route for which the next hop is not the final destina- tion. Routes which do not result in traffic forwarding or rejection should not be displayed even if the implementation keeps them stored internally. reject (2) refers to a route which, if matched, discards the message as unreachable. This is used in some protocols as a means of correctly aggregating routes.')
  zhIpCidrRouteProto = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 6), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3, 4, 8, 9, 13, 14, 15))).clone(namedValues=NamedValues(("other", 1), ("local", 2), ("netmgmt", 3), ("icmp", 4), ("rip", 8), ("isIs", 9), ("ospf", 13), ("bgp", 14), ("idpr", 15)))).setMaxAccess("readonly")
  if mibBuilder.loadTexts: zhIpCidrRouteProto.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteProto')
  if mibBuilder.loadTexts: zhIpCidrRouteProto.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteProto.setDescription('The routing mechanism via which this route was learned. Inclusion of values for gateway rout- ing protocols is not intended to imply that hosts should support those protocols. other -- not specified local -- local interface netmgmt -- static route icmp -- result of ICMP Redirect The following are all dynamic routing protocols rip -- Berkeley RIP or RIP-II isIs -- Dual IS-IS ospf -- Open Shortest Path First bgp -- Border Gateway Protocol idpr -- InterDomain Policy Routing ')
  zhIpCidrRouteAge = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 7), Unsigned32()).setUnits('seconds').setMaxAccess("readonly")
  if mibBuilder.loadTexts: zhIpCidrRouteAge.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteAge')
  if mibBuilder.loadTexts: zhIpCidrRouteAge.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteAge.setDescription("The number of seconds since this route was last updated or otherwise determined to be correct. Note that no semantics of `too old' can be implied except through knowledge of the routing protocol by which the route was learned.")
  zhIpCidrRouteInfo = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 8), ObjectIdentifier()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteInfo.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteInfo')
  if mibBuilder.loadTexts: zhIpCidrRouteInfo.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteInfo.setDescription("A reference to MIB definitions specific to the particular routing protocol which is responsi- ble for this route, as determined by the value specified in the route's ipCidrRouteProto value. If this information is not present, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntactically valid object identif- ier, and any implementation conforming to ASN.1 and the Basic Encoding Rules must be able to generate and recognize this value.")
  zhIpCidrRouteNextHopAS = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 9), Integer32()).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteNextHopAS.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteNextHopAS')
  if mibBuilder.loadTexts: zhIpCidrRouteNextHopAS.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteNextHopAS.setDescription("The Autonomous System Number of the Next Hop. The semantics of this object are determined by the routing-protocol specified in the route's ipCidrRouteProto value. When this object is unknown or not relevant its value should be set to zero.")
  zhIpCidrRouteMetric1 = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 10), Integer32().clone(-1)).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteMetric1.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteMetric1')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric1.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric1.setDescription("The primary routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipCidrRouteProto value. If this metric is not used, its value should be set to -1.")
  zhIpCidrRouteMetric2 = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 11), Integer32().clone(-1)).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteMetric2.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteMetric2')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric2.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric2.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipCidrRouteProto value. If this metric is not used, its value should be set to -1.")
  zhIpCidrRouteMetric3 = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 12), Integer32().clone(-1)).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteMetric3.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteMetric3')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric3.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric3.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipCidrRouteProto value. If this metric is not used, its value should be set to -1.")
  zhIpCidrRouteMetric4 = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 13), Integer32().clone(-1)).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteMetric4.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteMetric4')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric4.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric4.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipCidrRouteProto value. If this metric is not used, its value should be set to -1.")
  zhIpCidrRouteMetric5 = MibTableColumn((1, 3, 6, 1, 4, 1, 5504, 4, 1, 7, 3, 1, 14), Integer32().clone(-1)).setMaxAccess("readwrite")
  if mibBuilder.loadTexts: zhIpCidrRouteMetric5.setReference('See RFC 2096: ipCidrRouteTable.ipCidrRouteEntry.ipCidrRouteMetric5')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric5.setStatus('current')
  if mibBuilder.loadTexts: zhIpCidrRouteMetric5.setDescription("An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipCidrRouteProto value. If this metric is not used, its value should be set to -1.")
  mibBuilder.exportSymbols("ZHONE-COM-IP-ROUTE-MIB", zhIpCidrRouteProto=zhIpCidrRouteProto, zhIpCidrRouteType=zhIpCidrRouteType, zhoneRouteInfoEntry=zhoneRouteInfoEntry, route=route, zhIpCidrRouteMask=zhIpCidrRouteMask, zhoneIpCidrRouteTable=zhoneIpCidrRouteTable, zhIpCidrRouteDest=zhIpCidrRouteDest, zhIpCidrRouteNextHop=zhIpCidrRouteNextHop, zhIpCidrRouteNumber=zhIpCidrRouteNumber, zhIpCidrRouteInfo=zhIpCidrRouteInfo, PYSNMP_MODULE_ID=comIpRoute, zhIpCidrRouteNextHopAS=zhIpCidrRouteNextHopAS, zhoneRouteInfoTable=zhoneRouteInfoTable, zhIpCidrRouteMetric3=zhIpCidrRouteMetric3, zhIpCidrRouteMetric5=zhIpCidrRouteMetric5, zhIpCidrRouteAge=zhIpCidrRouteAge, zhIpCidrRouteMetric1=zhIpCidrRouteMetric1, zhIpCidrRouteIfIndex=zhIpCidrRouteIfIndex, comIpRoute=comIpRoute, zhoneIpCidrRouteEntry=zhoneIpCidrRouteEntry, zhIpCidrRouteMetric2=zhIpCidrRouteMetric2, zhIpCidrRouteMetric4=zhIpCidrRouteMetric4)
  