# # This file is part of pysnmp software. # # Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pysnmp/license.html # # ASN.1 source http://mibs.snmplabs.com:80/asn1/TRANSPORT-ADDRESS-MIB # Produced by pysmi-0.4.0 at Sun Feb 17 08:56:38 2019 # # Parts of otherwise autogenerated MIB has been updated manually. # import socket from pyasn1.compat.octets import int2oct from pyasn1.compat.octets import oct2int from pysnmp import error has_ipv6 = socket.has_ipv6 if hasattr(socket, 'inet_ntop') and hasattr(socket, 'inet_pton'): inet_ntop = socket.inet_ntop inet_pton = socket.inet_pton else: import sys if sys.platform != "win32": from socket import inet_ntoa, inet_aton inet_ntop = lambda x, y: inet_ntoa(y) inet_pton = lambda x, y: inet_aton(y) has_ipv6 = False elif has_ipv6: import struct # The case of old Python at old Windows def inet_pton(address_family, ip_string): if address_family == socket.AF_INET: return socket.inet_aton(ip_string) elif address_family != socket.AF_INET6: raise socket.error( 'Unknown address family %s' % (address_family,) ) groups = ip_string.split(":") spaces = groups.count('') if '.' in groups[-1]: groups[-1:] = ["%x" % x for x in struct.unpack("!HH", socket.inet_aton(groups[-1]))] if spaces == 1: idx = groups.index('') groups[idx:idx + 1] = ['0'] * (8 - len(groups) + 1) elif spaces == 2: zeros = ['0'] * (8 - len(groups) + 2) if ip_string.startswith('::'): groups[:2] = zeros elif ip_string.endswith('::'): groups[-2:] = zeros else: raise socket.error( 'Invalid IPv6 address: "%s"' % (ip_string,) ) elif spaces == 3: if ip_string != '::': raise socket.error( 'Invalid IPv6 address: "%s"' % (ip_string,) ) return '\x00' * 16 elif spaces > 3: raise socket.error( 'Invalid IPv6 address: "%s"' % (ip_string,) ) groups = [t for t in [int(t, 16) for t in groups] if t & 0xFFFF == t] if len(groups) != 8: raise socket.error( 'Invalid IPv6 address: "%s"' % (ip_string,) ) return struct.pack('!8H', *groups) def inet_ntop(address_family, packed_ip): if address_family == socket.AF_INET: return socket.inet_ntop(packed_ip) elif address_family != socket.AF_INET6: raise socket.error( 'Unknown address family %s' % (address_family,) ) if len(packed_ip) != 16: raise socket.error( 'incorrect address length: %s' % len(packed_ip) ) groups = list(struct.unpack('!8H', packed_ip)) cur_base = best_base = cur_len = best_len = -1 for idx in range(8): if groups[idx]: if cur_base != -1: if best_base == -1 or cur_len > best_len: best_base, best_len = cur_base, cur_len cur_base = -1 else: if cur_base == -1: cur_base, cur_len = idx, 1 else: cur_len += 1 if cur_base != -1: if best_base == -1 or cur_len > best_len: best_base, best_len = cur_base, cur_len if best_base != -1 and best_len > 1: groups[best_base:best_base + best_len] = [':'] if groups[0] == ':': groups.insert(0, ':') if groups[-1] == ':': groups.append(':') f = lambda x: x != ':' and '%x' % x or '' return ':'.join([f(x) for x in groups]) if 'mibBuilder' not in globals(): import sys sys.stderr.write(__doc__) sys.exit(1) (Integer, OctetString, ObjectIdentifier) = mibBuilder.importSymbols( "ASN1", "Integer", "OctetString", "ObjectIdentifier") (NamedValues,) = mibBuilder.importSymbols( "ASN1-ENUMERATION", "NamedValues") (ConstraintsIntersection, SingleValueConstraint, ValueRangeConstraint, ValueSizeConstraint, ConstraintsUnion) = mibBuilder.importSymbols( "ASN1-REFINEMENT", "ConstraintsIntersection", "SingleValueConstraint", "ValueRangeConstraint", "ValueSizeConstraint", "ConstraintsUnion") (ModuleCompliance, NotificationGroup) = mibBuilder.importSymbols( "SNMPv2-CONF", "ModuleCompliance", "NotificationGroup") (Counter32, TimeTicks, MibScalar, MibTable, MibTableRow, MibTableColumn, Counter64, IpAddress, ObjectIdentity, Gauge32, MibIdentifier, iso, Unsigned32, Bits, NotificationType, Integer32, ModuleIdentity, mib_2) = mibBuilder.importSymbols( "SNMPv2-SMI", "Counter32", "TimeTicks", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter64", "IpAddress", "ObjectIdentity", "Gauge32", "MibIdentifier", "iso", "Unsigned32", "Bits", "NotificationType", "Integer32", "ModuleIdentity", "mib-2") (DisplayString, TextualConvention) = mibBuilder.importSymbols( "SNMPv2-TC", "DisplayString", "TextualConvention") transportAddressMIB = ModuleIdentity( (1, 3, 6, 1, 2, 1, 100) ) transportAddressMIB.setRevisions( ("2002-11-01 00:00",) ) transportAddressMIB.setLastUpdated("200211010000Z") if mibBuilder.loadTexts: transportAddressMIB.setOrganization("""\ IETF Operations and Management Area """) transportAddressMIB.setContactInfo("""\ Juergen Schoenwaelder (Editor) TU Braunschweig Bueltenweg 74/75 38106 Braunschweig, Germany Phone: +49 531 391-3289 EMail: schoenw@ibr.cs.tu-bs.de Send comments to . """) if mibBuilder.loadTexts: transportAddressMIB.setDescription("""\ This MIB module provides commonly used transport address definitions. Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3419; see the RFC itself for full legal notices. """) class TransportDomain(TextualConvention, ObjectIdentifier): status = "current" if mibBuilder.loadTexts: description = """\ A value that represents a transport domain. Some possible values, such as transportDomainUdpIpv4, are defined in this module. Other possible values can be defined in other MIB modules. """ class TransportAddressType(TextualConvention, Integer32): status = "current" subtypeSpec = Integer32.subtypeSpec subtypeSpec += ConstraintsUnion( SingleValueConstraint( *(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) ) ) namedValues = NamedValues( *(("local", 13), ("sctpDns", 16), ("sctpIpv4", 9), ("sctpIpv4z", 11), ("sctpIpv6", 10), ("sctpIpv6z", 12), ("tcpDns", 15), ("tcpIpv4", 5), ("tcpIpv4z", 7), ("tcpIpv6", 6), ("tcpIpv6z", 8), ("udpDns", 14), ("udpIpv4", 1), ("udpIpv4z", 3), ("udpIpv6", 2), ("udpIpv6z", 4), ("unknown", 0)) ) if mibBuilder.loadTexts: description = """\ A value that represents a transport domain. This is the enumerated version of the transport domain registrations in this MIB module. The enumerated values have the following meaning: unknown(0) unknown transport address type udpIpv4(1) transportDomainUdpIpv4 udpIpv6(2) transportDomainUdpIpv6 udpIpv4z(3) transportDomainUdpIpv4z udpIpv6z(4) transportDomainUdpIpv6z tcpIpv4(5) transportDomainTcpIpv4 tcpIpv6(6) transportDomainTcpIpv6 tcpIpv4z(7) transportDomainTcpIpv4z tcpIpv6z(8) transportDomainTcpIpv6z sctpIpv4(9) transportDomainSctpIpv4 sctpIpv6(10) transportDomainSctpIpv6 sctpIpv4z(11) transportDomainSctpIpv4z sctpIpv6z(12) transportDomainSctpIpv6z local(13) transportDomainLocal udpDns(14) transportDomainUdpDns tcpDns(15) transportDomainTcpDns sctpDns(16) transportDomainSctpDns This textual convention can be used to represent transport domains in situations where a syntax of TransportDomain is unwieldy (for example, when used as an index). The usage of this textual convention implies that additional transport domains can only be supported by updating this MIB module. This extensibility restriction does not apply for the TransportDomain textual convention which allows MIB authors to define additional transport domains independently in other MIB modules. """ class TransportAddress(TextualConvention, OctetString): status = "current" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(0, 255), ) if mibBuilder.loadTexts: description = """\ Denotes a generic transport address. A TransportAddress value is always interpreted within the context of a TransportAddressType or TransportDomain value. Every usage of the TransportAddress textual convention MUST specify the TransportAddressType or TransportDomain object which provides the context. Furthermore, MIB authors SHOULD define a separate TransportAddressType or TransportDomain object for each TransportAddress object. It is suggested that the TransportAddressType or TransportDomain is logically registered before the object(s) which use the TransportAddress textual convention if they appear in the same logical row. The value of a TransportAddress object must always be consistent with the value of the associated TransportAddressType or TransportDomain object. Attempts to set a TransportAddress object to a value which is inconsistent with the associated TransportAddressType or TransportDomain must fail with an inconsistentValue error. When this textual convention is used as a syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers. """ class TransportAddressIPv4(TextualConvention, OctetString): status = "current" displayHint = "1d.1d.1d.1d:2d" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(6, 6), ) if mibBuilder.loadTexts: description = """\ Represents a transport address consisting of an IPv4 address and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-4 IPv4 address network-byte order 5-6 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. """ fixedLength = 6 def prettyIn(self, value): if isinstance(value, tuple): # Wild hack -- need to implement TextualConvention.prettyIn value = inet_pton(socket.AF_INET, value[0]) + int2oct((value[1] >> 8) & 0xff) + int2oct(value[1] & 0xff) return OctetString.prettyIn(self, value) # Socket address syntax coercion def __asSocketAddress(self): if not hasattr(self, '__tuple_value'): v = self.asOctets() self.__tuple_value = ( inet_ntop(socket.AF_INET, v[:4]), oct2int(v[4]) << 8 | oct2int(v[5]), ) return self.__tuple_value def __iter__(self): return iter(self.__asSocketAddress()) def __getitem__(self, item): return self.__asSocketAddress()[item] class TransportAddressIPv6(TextualConvention, OctetString): status = "current" displayHint = "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(18, 18), ) if mibBuilder.loadTexts: description = """\ Represents a transport address consisting of an IPv6 address and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-16 IPv6 address network-byte order 17-18 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. """ fixedLength = 18 def prettyIn(self, value): if not has_ipv6: raise error.PySnmpError('IPv6 not supported by platform') if isinstance(value, tuple): value = inet_pton(socket.AF_INET6, value[0]) + int2oct((value[1] >> 8) & 0xff) + int2oct(value[1] & 0xff) return OctetString.prettyIn(self, value) # Socket address syntax coercion def __asSocketAddress(self): if not hasattr(self, '__tuple_value'): if not has_ipv6: raise error.PySnmpError('IPv6 not supported by platform') v = self.asOctets() self.__tuple_value = ( inet_ntop(socket.AF_INET6, v[:16]), oct2int(v[16]) << 8 | oct2int(v[17]), 0, # flowinfo 0) # scopeid return self.__tuple_value def __iter__(self): return iter(self.__asSocketAddress()) def __getitem__(self, item): return self.__asSocketAddress()[item] class TransportAddressIPv4z(TextualConvention, OctetString): status = "current" displayHint = "1d.1d.1d.1d%4d:2d" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(10, 10), ) if mibBuilder.loadTexts: description = """\ Represents a transport address consisting of an IPv4 address, a zone index and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-4 IPv4 address network-byte order 5-8 zone index network-byte order 9-10 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. """ fixedLength = 10 class TransportAddressIPv6z(TextualConvention, OctetString): status = "current" displayHint = "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(22, 22), ) if mibBuilder.loadTexts: description = """\ Represents a transport address consisting of an IPv6 address, a zone index and a port number (as used for example by UDP, TCP and SCTP): octets contents encoding 1-16 IPv6 address network-byte order 17-20 zone index network-byte order 21-22 port number network-byte order This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. """ fixedLength = 22 class TransportAddressLocal(TextualConvention, OctetString): status = "current" displayHint = "1a" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(1, 255), ) if mibBuilder.loadTexts: description = """\ Represents a POSIX Local IPC transport address: octets contents encoding all POSIX Local IPC address string The Posix Local IPC transport domain subsumes UNIX domain sockets. This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. When this textual convention is used as a syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers. """ class TransportAddressDns(TextualConvention, OctetString): status = "current" displayHint = "1a" subtypeSpec = OctetString.subtypeSpec subtypeSpec += ConstraintsUnion( ValueSizeConstraint(1, 255), ) if mibBuilder.loadTexts: description = """\ Represents a DNS domain name followed by a colon ':' (ASCII character 0x3A) and a port number in ASCII. The name SHOULD be fully qualified whenever possible. Values of this textual convention are not directly useable as transport-layer addressing information, and require runtime resolution. As such, applications that write them must be prepared for handling errors if such values are not supported, or cannot be resolved (if resolution occurs at the time of the management operation). The DESCRIPTION clause of TransportAddress objects that may have TransportAddressDns values must fully describe how (and when) such names are to be resolved to IP addresses and vice versa. This textual convention SHOULD NOT be used directly in object definitions since it restricts addresses to a specific format. However, if it is used, it MAY be used either on its own or in conjunction with TransportAddressType or TransportDomain as a pair. When this textual convention is used as a syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the OBJECT-TYPE declaration MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers. """ _TransportDomains_ObjectIdentity = ObjectIdentity transportDomains = _TransportDomains_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1) ) _TransportDomainUdpIpv4_ObjectIdentity = ObjectIdentity transportDomainUdpIpv4 = _TransportDomainUdpIpv4_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 1) ) if mibBuilder.loadTexts: transportDomainUdpIpv4.setStatus("current") if mibBuilder.loadTexts: transportDomainUdpIpv4.setDescription("""\ The UDP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4 for global IPv4 addresses. """) _TransportDomainUdpIpv6_ObjectIdentity = ObjectIdentity transportDomainUdpIpv6 = _TransportDomainUdpIpv6_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 2) ) if mibBuilder.loadTexts: transportDomainUdpIpv6.setStatus("current") if mibBuilder.loadTexts: transportDomainUdpIpv6.setDescription("""\ The UDP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6 for global IPv6 addresses. """) _TransportDomainUdpIpv4z_ObjectIdentity = ObjectIdentity transportDomainUdpIpv4z = _TransportDomainUdpIpv4z_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 3) ) if mibBuilder.loadTexts: transportDomainUdpIpv4z.setStatus("current") if mibBuilder.loadTexts: transportDomainUdpIpv4z.setDescription("""\ The UDP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4z for scoped IPv4 addresses with a zone index. """) _TransportDomainUdpIpv6z_ObjectIdentity = ObjectIdentity transportDomainUdpIpv6z = _TransportDomainUdpIpv6z_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 4) ) if mibBuilder.loadTexts: transportDomainUdpIpv6z.setStatus("current") if mibBuilder.loadTexts: transportDomainUdpIpv6z.setDescription("""\ The UDP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6z for scoped IPv6 addresses with a zone index. """) _TransportDomainTcpIpv4_ObjectIdentity = ObjectIdentity transportDomainTcpIpv4 = _TransportDomainTcpIpv4_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 5) ) if mibBuilder.loadTexts: transportDomainTcpIpv4.setStatus("current") if mibBuilder.loadTexts: transportDomainTcpIpv4.setDescription("""\ The TCP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4 for global IPv4 addresses. """) _TransportDomainTcpIpv6_ObjectIdentity = ObjectIdentity transportDomainTcpIpv6 = _TransportDomainTcpIpv6_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 6) ) if mibBuilder.loadTexts: transportDomainTcpIpv6.setStatus("current") if mibBuilder.loadTexts: transportDomainTcpIpv6.setDescription("""\ The TCP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6 for global IPv6 addresses. """) _TransportDomainTcpIpv4z_ObjectIdentity = ObjectIdentity transportDomainTcpIpv4z = _TransportDomainTcpIpv4z_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 7) ) if mibBuilder.loadTexts: transportDomainTcpIpv4z.setStatus("current") if mibBuilder.loadTexts: transportDomainTcpIpv4z.setDescription("""\ The TCP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4z for scoped IPv4 addresses with a zone index. """) _TransportDomainTcpIpv6z_ObjectIdentity = ObjectIdentity transportDomainTcpIpv6z = _TransportDomainTcpIpv6z_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 8) ) if mibBuilder.loadTexts: transportDomainTcpIpv6z.setStatus("current") if mibBuilder.loadTexts: transportDomainTcpIpv6z.setDescription("""\ The TCP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6z for scoped IPv6 addresses with a zone index. """) _TransportDomainSctpIpv4_ObjectIdentity = ObjectIdentity transportDomainSctpIpv4 = _TransportDomainSctpIpv4_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 9) ) if mibBuilder.loadTexts: transportDomainSctpIpv4.setStatus("current") if mibBuilder.loadTexts: transportDomainSctpIpv4.setDescription("""\ The SCTP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4 for global IPv4 addresses. This transport domain usually represents the primary address on multihomed SCTP endpoints. """) _TransportDomainSctpIpv6_ObjectIdentity = ObjectIdentity transportDomainSctpIpv6 = _TransportDomainSctpIpv6_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 10) ) if mibBuilder.loadTexts: transportDomainSctpIpv6.setStatus("current") if mibBuilder.loadTexts: transportDomainSctpIpv6.setDescription("""\ The SCTP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6 for global IPv6 addresses. This transport domain usually represents the primary address on multihomed SCTP endpoints. """) _TransportDomainSctpIpv4z_ObjectIdentity = ObjectIdentity transportDomainSctpIpv4z = _TransportDomainSctpIpv4z_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 11) ) if mibBuilder.loadTexts: transportDomainSctpIpv4z.setStatus("current") if mibBuilder.loadTexts: transportDomainSctpIpv4z.setDescription("""\ The SCTP over IPv4 transport domain. The corresponding transport address is of type TransportAddressIPv4z for scoped IPv4 addresses with a zone index. This transport domain usually represents the primary address on multihomed SCTP endpoints. """) _TransportDomainSctpIpv6z_ObjectIdentity = ObjectIdentity transportDomainSctpIpv6z = _TransportDomainSctpIpv6z_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 12) ) if mibBuilder.loadTexts: transportDomainSctpIpv6z.setStatus("current") if mibBuilder.loadTexts: transportDomainSctpIpv6z.setDescription("""\ The SCTP over IPv6 transport domain. The corresponding transport address is of type TransportAddressIPv6z for scoped IPv6 addresses with a zone index. This transport domain usually represents the primary address on multihomed SCTP endpoints. """) _TransportDomainLocal_ObjectIdentity = ObjectIdentity transportDomainLocal = _TransportDomainLocal_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 13) ) if mibBuilder.loadTexts: transportDomainLocal.setStatus("current") if mibBuilder.loadTexts: transportDomainLocal.setDescription("""\ The Posix Local IPC transport domain. The corresponding transport address is of type TransportAddressLocal. The Posix Local IPC transport domain incorporates the well-known UNIX domain sockets. """) _TransportDomainUdpDns_ObjectIdentity = ObjectIdentity transportDomainUdpDns = _TransportDomainUdpDns_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 14) ) if mibBuilder.loadTexts: transportDomainUdpDns.setStatus("current") if mibBuilder.loadTexts: transportDomainUdpDns.setDescription("""\ The UDP transport domain using fully qualified domain names. The corresponding transport address is of type TransportAddressDns. """) _TransportDomainTcpDns_ObjectIdentity = ObjectIdentity transportDomainTcpDns = _TransportDomainTcpDns_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 15) ) if mibBuilder.loadTexts: transportDomainTcpDns.setStatus("current") if mibBuilder.loadTexts: transportDomainTcpDns.setDescription("""\ The TCP transport domain using fully qualified domain names. The corresponding transport address is of type TransportAddressDns. """) _TransportDomainSctpDns_ObjectIdentity = ObjectIdentity transportDomainSctpDns = _TransportDomainSctpDns_ObjectIdentity( (1, 3, 6, 1, 2, 1, 100, 1, 16) ) if mibBuilder.loadTexts: transportDomainSctpDns.setStatus("current") if mibBuilder.loadTexts: transportDomainSctpDns.setDescription("""\ The SCTP transport domain using fully qualified domain names. The corresponding transport address is of type TransportAddressDns. """) mibBuilder.exportSymbols( "TRANSPORT-ADDRESS-MIB", **{"TransportDomain": TransportDomain, "TransportAddressType": TransportAddressType, "TransportAddress": TransportAddress, "TransportAddressIPv4": TransportAddressIPv4, "TransportAddressIPv6": TransportAddressIPv6, "TransportAddressIPv4z": TransportAddressIPv4z, "TransportAddressIPv6z": TransportAddressIPv6z, "TransportAddressLocal": TransportAddressLocal, "TransportAddressDns": TransportAddressDns, "transportAddressMIB": transportAddressMIB, "transportDomains": transportDomains, "transportDomainUdpIpv4": transportDomainUdpIpv4, "transportDomainUdpIpv6": transportDomainUdpIpv6, "transportDomainUdpIpv4z": transportDomainUdpIpv4z, "transportDomainUdpIpv6z": transportDomainUdpIpv6z, "transportDomainTcpIpv4": transportDomainTcpIpv4, "transportDomainTcpIpv6": transportDomainTcpIpv6, "transportDomainTcpIpv4z": transportDomainTcpIpv4z, "transportDomainTcpIpv6z": transportDomainTcpIpv6z, "transportDomainSctpIpv4": transportDomainSctpIpv4, "transportDomainSctpIpv6": transportDomainSctpIpv6, "transportDomainSctpIpv4z": transportDomainSctpIpv4z, "transportDomainSctpIpv6z": transportDomainSctpIpv6z, "transportDomainLocal": transportDomainLocal, "transportDomainUdpDns": transportDomainUdpDns, "transportDomainTcpDns": transportDomainTcpDns, "transportDomainSctpDns": transportDomainSctpDns} )