-- Copyright (C) 2009-2012 Aricent Group . All Rights Reserved -- /***************************************************************** -- * * -- * $RCSfile: fsmptunl.mib,v $ * -- * * -- * $Date: 2012/09/07 09:52:05 $ * -- * * -- * $Revision: 1.1 - IPv4/IPv6 Tunnel MIB based on draft * -- * -- * * -- ****************************************************************/ ARICENT-MITUNNEL-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, enterprises FROM SNMPv2-SMI RowStatus, TEXTUAL-CONVENTION, DisplayString, TruthValue FROM SNMPv2-TC InetAddressType, InetAddress FROM INET-ADDRESS-MIB InterfaceIndexOrZero FROM IF-MIB fsMIStdIpContextId FROM ARICENT-MISTD-IPVX-MIB; fsMITunlMIB MODULE-IDENTITY LAST-UPDATED "201209050000Z" ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE" CONTACT-INFO "support@aricent.com" DESCRIPTION "The MIB module for management of IP (IPv4 and IPv6) Tunnels, independent of the specific encapsulation scheme in use." REVISION "201209050000Z" DESCRIPTION "The MIB module for management of IP (IPv4 and IPv6) Tunnels, independent of the specific encapsulation scheme in use." ::= { enterprises aricent-communication-holding-ltd(29601) iss(2) 39} FsMITunlType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The encapsulation method used by a tunnel. The value direct indicates that a packet is encapsulated directly within a normal IP header, with no intermediate header, and unicast to the remote tunnel endpoint (e.g., an RFC 2003 IP-in-IP tunnel, or an RFC 1933 IPv6-in-IPv4 tunnel). The value minimal indicates that a Minimal Forwarding Header (RFC 2004) is inserted between the outer header and the payload packet. The value UDP indicates that the payload packet is encapsulated within a normal UDP packet (e.g., RFC 1234). The values sixToFour, sixOverFour, and isatap indicates that an IPv6 packet is encapsulated directly within an IPv4 header, with no intermediate header, and unicast to the destination determined by the 6to4, 6over4, or ISATAP protocol. The remaining protocol-specific values indicate that a header of the protocol of that name is inserted between the outer header and the payload header. This type is abstracted from the IANAtunnelType." SYNTAX INTEGER { other(1), -- none of the following direct(2), -- no intermediate header gre(3), -- GRE encapsulation minimal(4), -- Minimal encapsulation l2tp(5), -- L2TP encapsulation pptp(6), -- PPTP encapsulation l2f(7), -- L2F encapsulation udp(8), -- UDP encapsulation atmp(9), -- ATMP encapsulation msdp(10), -- MSDP encapsulation sixToFour(11), -- 6to4 encapsulation sixOverFour(12), -- 6over4 encapsulation isatap(13), -- ISATAP encapsulation teredo(14), -- Teredo encapsulation compat(15), -- IPv6 Auto-Compatible encapsulation ipv6ip(16) -- IPv6 over IPV4 Configured encapsulation } FsIPv6FlowLabelOrAny ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The flow identifier or Flow Label in an IPv6 packet header that may be used to discriminate traffic flows. The value of -1 is used to indicate a wildcard, i.e. any value." SYNTAX Integer32 (-1 | 0..1048575) fsMITunlMIBObjects OBJECT IDENTIFIER ::= { fsMITunlMIB 1 } fsMITunl OBJECT IDENTIFIER ::= { fsMITunlMIBObjects 1 } -- the IP Tunnel MIB-Group -- -- a collection of objects providing information about -- IP Tunnels fsMITunlIfTable OBJECT-TYPE SYNTAX SEQUENCE OF FsMITunlIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing virtual router specific information on configured tunnels." ::= { fsMITunl 1 } fsMITunlIfEntry OBJECT-TYPE SYNTAX FsMITunlIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on configured tunnels. This table can be used to map a set of tunnel endpoints to the associated ifIndex value. It can also be used for row creation." INDEX { fsMIStdIpContextId, fsMITunlIfAddressType, fsMITunlIfLocalInetAddress, fsMITunlIfRemoteInetAddress, fsMITunlIfEncapsMethod, fsMITunlIfConfigID } ::= { fsMITunlIfTable 1 } FsMITunlIfEntry ::= SEQUENCE { fsMITunlIfAddressType InetAddressType, fsMITunlIfLocalInetAddress InetAddress, fsMITunlIfRemoteInetAddress InetAddress, fsMITunlIfEncapsMethod FsMITunlType, fsMITunlIfConfigID Integer32, fsMITunlIfHopLimit Integer32, fsMITunlIfSecurity INTEGER, fsMITunlIfTOS Integer32, fsMITunlIfFlowLabel FsIPv6FlowLabelOrAny, fsMITunlIfMTU Integer32, fsMITunlIfDirFlag INTEGER, fsMITunlIfDirection INTEGER, fsMITunlIfEncaplmt Unsigned32, fsMITunlIfEncapOption INTEGER, fsMITunlIfIndex InterfaceIndexOrZero, fsMITunlIfAlias DisplayString, fsMITunlIfCksumFlag TruthValue, fsMITunlIfPmtuFlag TruthValue, fsMITunlIfStatus RowStatus } fsMITunlIfAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of address in the corresponding fsMITunlIfLocalInetAddress and fsMITunlIfRemoteInetAddress objects." ::= { fsMITunlIfEntry 1 } fsMITunlIfLocalInetAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address of the local endpoint of the tunnel (i.e., the source address used in the outer IP header). If the address is unknown, the value is 0.0.0.0 for IPv4 or :: for IPv6." ::= { fsMITunlIfEntry 2 } fsMITunlIfRemoteInetAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address of the remote endpoint of the tunnel (i.e., the destination address used in the outer IP header). If the address is unknown or the tunnel is not a point-to-point link (e.g., if it is a 6to4 tunnel), the value is 0.0.0.0 for tunnels over IPv4 or :: for tunnels over IPv6." ::= { fsMITunlIfEntry 3 } fsMITunlIfEncapsMethod OBJECT-TYPE SYNTAX FsMITunlType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The encapsulation method used by the tunnel." ::= { fsMITunlIfEntry 4 } fsMITunlIfConfigID OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An identifier used to distinguish between multiple tunnels of the same encapsulation method, with the same endpoints. If the encapsulation protocol only allows one tunnel per set of endpoint addresses (such as for GRE or IP-in-IP), the value of this object is 1. For encapsulation methods (such as L2F) which allow multiple parallel tunnels, the manager is responsible for choosing any ID which does not conflict with an existing row, such as choosing a random number." ::= { fsMITunlIfEntry 5 } fsMITunlIfHopLimit OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The IPv4 TTL or IPv6 Hop Limit to use in the outer IP header. A value of 0 indicates that the value is copied from the payload's header." ::= { fsMITunlIfEntry 6 } fsMITunlIfSecurity OBJECT-TYPE SYNTAX INTEGER { none(1), -- no security ipsec(2), -- IPSEC security other(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The method used by the tunnel to secure the outer IP header. The value ipsec indicates that IPsec is used between the tunnel endpoints for authentication or encryption or both. More specific security-related information may be available in a MIB for the security protocol in use." ::= { fsMITunlIfEntry 7 } fsMITunlIfTOS OBJECT-TYPE SYNTAX Integer32 (-2..63) MAX-ACCESS read-write STATUS current DESCRIPTION "The method used to set the high 6 bits of the IPv4 TOS or IPv6 Traffic Class in the outer IP header. A value of -1 indicates that the bits are copied from the payload's header. A value of -2 indicates that a traffic conditioner is invoked and more information may be available in a traffic conditioner MIB. A value between 0 and 63 inclusive indicates that the bit field is set to the indicated value." ::= { fsMITunlIfEntry 8 } fsMITunlIfFlowLabel OBJECT-TYPE SYNTAX FsIPv6FlowLabelOrAny MAX-ACCESS read-write STATUS current DESCRIPTION "The method used to set the IPv6 Flow Label value. This object need not be present in rows where fsMITunlIfAddressType indicates the tunnel is over IPv6. A value of -1 indicates that a traffic conditioner is invoked and more information may be available in a traffic conditioner MIB. Any other value indicates that the Flow Label field is set to the indicated value." ::= { fsMITunlIfEntry 9 } fsMITunlIfMTU OBJECT-TYPE SYNTAX Integer32 (0 | 1280..1500) MAX-ACCESS read-only STATUS current DESCRIPTION "Configured MTU of the specific tunnel entry. If set as 0, the outgoing Link MTU will be used." ::= { fsMITunlIfEntry 10 } fsMITunlIfDirFlag OBJECT-TYPE SYNTAX INTEGER { unidirectional (1), bidirectional (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Flag defining whether the configured tunnel is unidirectional or bi-directional." DEFVAL { bidirectional } ::= { fsMITunlIfEntry 11 } fsMITunlIfDirection OBJECT-TYPE SYNTAX INTEGER { incoming (1), outgoing (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Flag defining whether the uni-directional tunnel configured is incoming or out going." DEFVAL { outgoing } ::= { fsMITunlIfEntry 12 } fsMITunlIfEncaplmt OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The limit on how many further levels of nesting a tunnel packet is permitted to undergo - not counting the encapsulation in which the option itself is contained. Default value recommended is 4. If this option is not to be configured set this object to '0xff' else set to the value required." DEFVAL { 4 } ::= { fsMITunlIfEntry 13 } fsMITunlIfEncapOption OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Flag indicating if Encapsulation option needs to be added or not in a tunnelled packet." DEFVAL { disable } ::= { fsMITunlIfEntry 14 } fsMITunlIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "If the value of fsMITunlIfStatus for this row is active, then this object contains the value of ifIndex corresponding to the tunnel interface. A value of 0 is not legal in the active state, and means that the interface index has not yet been assigned." ::= { fsMITunlIfEntry 15 } fsMITunlIfAlias OBJECT-TYPE SYNTAX DisplayString (SIZE(0..64)) MAX-ACCESS read-write STATUS current DESCRIPTION "If the value of fsMITunlIfStatus for this row is active, then this object contains the value of ifAlias corresponding to the tunnel interface. The value of fsMITunlIfIndex is assigned based on the corresponding fsMITunlIfAlias entry in ifMainTable." ::= { fsMITunlIfEntry 16 } fsMITunlIfCksumFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Flag indicating if checksum needs to be set in GRE header for GRE encapsulation type" DEFVAL { false } ::= { fsMITunlIfEntry 17 } fsMITunlIfPmtuFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Flag indicating if path-mtu-discovery needs to be enabled on the tunnel interface. When enabled, path-mtu-discovery is done to set the MTU of the tunnel interface. When disabled, the outgoing link MTU will be used" DEFVAL { false } ::= { fsMITunlIfEntry 18 } fsMITunlIfStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table. To create a row in this table for an encapsulation method which does not support multiple parallel tunnels with the same endpoints, the management station should simply use a fsMITunlInetConfigID of 1, and set fsMITunlInetConfigStatus to createAndGo. For encapsulation methods such as L2F which allow multiple parallel tunnels, the management station may select a pseudo-random number to use as the fsMITunlInetConfigID and set fsMITunlInetConfigStatus to createAndGo. In the event that this ID is already in use and an inconsistentValue is returned in response to the set operation, the management station should simply select a new pseudo-random number and retry the operation. Creating a row in this table will cause an interface index to be assigned by the agent in an implementation-dependent manner, and corresponding rows will be instantiated in the ifTable and the fsMITunlIfTable. The status of this row will become active as soon as the agent assigns the interface index, regardless of whether the interface is operationally up. Deleting a row in this table will likewise delete the corresponding row in the ifTable and in the fsMITunlIfTable." ::= { fsMITunlIfEntry 19 } END