module TRANSPORT-ADDRESS-MIB {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:smiv2:TRANSPORT-ADDRESS-MIB";
prefix "transport-address";
import yang-smi {
prefix "smi";
}
import ietf-yang-types {
prefix "yang";
}
organization "IETF Operations and Management Area";
contact
"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 <mibs@ops.ietf.org>.";
description
"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.";
revision "2002-11-01" {
description
"Initial version, published as RFC 3419.";
}
typedef TransportDomain {
type yang:object-identifier;
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.";
}
typedef TransportAddressType {
type enumeration {
enum "unknown" {
value 0;
}
enum "udpIpv4" {
value 1;
}
enum "udpIpv6" {
value 2;
}
enum "udpIpv4z" {
value 3;
}
enum "udpIpv6z" {
value 4;
}
enum "tcpIpv4" {
value 5;
}
enum "tcpIpv6" {
value 6;
}
enum "tcpIpv4z" {
value 7;
}
enum "tcpIpv6z" {
value 8;
}
enum "sctpIpv4" {
value 9;
}
enum "sctpIpv6" {
value 10;
}
enum "sctpIpv4z" {
value 11;
}
enum "sctpIpv6z" {
value 12;
}
enum "local" {
value 13;
}
enum "udpDns" {
value 14;
}
enum "tcpDns" {
value 15;
}
enum "sctpDns" {
value 16;
}
}
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.";
}
typedef TransportAddress {
type binary {
length "0..255";
}
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.";
}
typedef TransportAddressIPv4 {
type string {
length "6";
pattern
'((0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,2}))((0|[1-9](([0-9]){0,4})){1,1})(0|[1-9](([0-9]){0,4})))';
smi:display-hint "1d.1d.1d.1d:2d";
}
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.";
}
typedef TransportAddressIPv6 {
type string {
length "18";
pattern
'(((\p{IsBasicLatin}){0})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})((\p{IsBasicLatin}){0})((0|[1-9](([0-9]){0,4})){1,1})(0|[1-9](([0-9]){0,4})))';
smi:display-hint "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d";
}
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.";
}
typedef TransportAddressIPv4z {
type string {
length "10";
pattern
'((0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,2}))(0|[1-9](([0-9]){0,9}))((0|[1-9](([0-9]){0,4})){1,1})(0|[1-9](([0-9]){0,4})))';
smi:display-hint "1d.1d.1d.1d%4d:2d";
}
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.";
}
typedef TransportAddressIPv6z {
type string {
length "22";
pattern
'(((\p{IsBasicLatin}){0})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(([0-9A-Fa-f]{2}){2})(0|[1-9](([0-9]){0,9}))((\p{IsBasicLatin}){0})((0|[1-9](([0-9]){0,4})){1,1})(0|[1-9](([0-9]){0,4})))';
smi:display-hint "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d";
}
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.";
}
typedef TransportAddressLocal {
type string {
length "1..255";
pattern '\p{IsBasicLatin}{1,1}';
smi:display-hint "1a";
}
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.";
reference
"Protocol Independent Interfaces (IEEE POSIX 1003.1g)";
}
typedef TransportAddressDns {
type string {
length "1..255";
pattern '\p{IsBasicLatin}{1,1}';
smi:display-hint "1a";
}
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.";
}
} // module TRANSPORT-ADDRESS-MIB