ELTEX-MES-IP DEFINITIONS ::= BEGIN

-- Title:      ELTEX MES IP Private Extension
-- Version:    1.1
-- Date:       12 Dec 2017

IMPORTS
    eltMes                                                  FROM ELTEX-MES
    rlInetRoutingDistanceEntry, rlInetStaticRouteEntry      FROM RADLAN-IPv6
    inetCidrRouteEntry                                      FROM IP-FORWARD-MIB
    OBJECT-TYPE, Unsigned32                                 FROM SNMPv2-SMI
    TruthValue, DisplayString, RowStatus                    FROM SNMPv2-TC
    ifIndex                                                 FROM IF-MIB
    EltexBgpAsSize, EltexBgpOriginCode, 
    EltexBgpRouteMapAsPathAction,
    EltexBgpRouteDistinguisher,
    EltexBfdSessionStatus                                   FROM ELTEX-BGP-MIB
    rlRouteMapPbrEntry                                      FROM MARVELL-ROUTEMAP-MIB
    MacAddress                                              FROM BRIDGE-MIB-A
    InetAddressType, InetAddress                            FROM INET-ADDRESS-MIB
    RlRedistDstProtocol, rlRedistEntry                      FROM RADLAN-Redistribute;


eltMesIpSpec MODULE-IDENTITY
       LAST-UPDATED "201402120000Z"
       ORGANIZATION "Eltex Enterprise Co, Ltd."
       CONTACT-INFO
            "www.eltex.nsk.ru"
       DESCRIPTION
            "The private MIB module definition for IP MIB."
       REVISION "200606220000Z"
       DESCRIPTION
            "Initial version of this MIB."
       ::= { eltMes 91 }

EltexBgpCommunityAction ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "How to handle adding a community attribute."
    SYNTAX      INTEGER {
                  none(0),            -- No action is carried out
                  removeAll(1),       -- Current community list is cleared
                  removeSpecific(2),  -- The community is removed from the list
                  setSpecific(3),     -- The community is added to the list
                  removeAllAndSet(4)  -- The community replaces the current list
                }

eltMesOspf OBJECT IDENTIFIER ::=  { eltMesIpSpec 1 }
-- see eltIpRouter.mib

EltMesRouteMapPermitOrDeny ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Whether the behavior is to permit or deny."
    SYNTAX      INTEGER {
                  permit(1),        -- Unmatched routes are permitted
                  deny(2)           -- Unmatched routes are denied
                }

EltInetRouteTargetProtocolType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Route Target protocol type."
    SYNTAX      INTEGER {
                  all(1)
                }

EltInetRouteTargetValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "The representation of route target value."
    SYNTAX       OCTET STRING (SIZE (8))

EltInetRouteTargetType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "The representation of route target type."
    SYNTAX      INTEGER {
                  routeTargetImport(1),
                  routeTargetExport(2),
                  routeTargetBoth(3)
                }

EltInetRouteDistinguisherProtocolType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Route distinguisher protocol type."
    SYNTAX      INTEGER {
                  all(1)
                }

eltIcmpSpec OBJECT IDENTIFIER ::= { eltMesIpSpec 2 }

eltIpIcmpPacketTable OBJECT-TYPE
    SYNTAX      SEQUENCE  OF EltIpIcmpPacketEntry
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This table controls the ability to send ICMP packets."
    ::=  { eltIcmpSpec 1 }

eltIpIcmpPacketEntry OBJECT-TYPE
    SYNTAX      EltIpIcmpPacketEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This entry controls the ability of interface to send ICMP packets."
    INDEX  {ifIndex}
    ::=  { eltIpIcmpPacketTable 1 }

EltIpIcmpPacketEntry ::= SEQUENCE {
    eltIpIcmpPacketUnreachableSendEnable        TruthValue
}

eltIpIcmpPacketUnreachableSendEnable OBJECT-TYPE
  SYNTAX        TruthValue
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
    "ICMP Destination Unreachable packets sending is enabled or not on this interface."
  ::= { eltIpIcmpPacketEntry 2 }

eltMesArpSpec OBJECT IDENTIFIER ::=  { eltMesIpSpec 3 }
-- see eltArpInterfaceTable.mib

--
-- eltMesInetRouting
--

eltMesInetRouting OBJECT IDENTIFIER ::=  { eltMesIpSpec 4 }

eltInetRoutingDistanceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetRoutingDistanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table defines administrative distances for
                 different protocol routes that are inserted into
                 the routing table.

                 The table augments rlInetRoutingDistanceTable."
    ::= { eltMesInetRouting 1 }

eltInetRoutingDistanceEntry OBJECT-TYPE
    SYNTAX      EltInetRoutingDistanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A set of distances per inet address type."
    AUGMENTS    { rlInetRoutingDistanceEntry }
    ::= { eltInetRoutingDistanceTable 1 }

EltInetRoutingDistanceEntry ::= SEQUENCE {
    eltInetRoutingDistanceBgpInternal           INTEGER,
    eltInetRoutingDistanceBgpExternal           INTEGER,
    eltInetRoutingDistanceIsisl1Internal        INTEGER,
    eltInetRoutingDistanceIsisl2Internal        INTEGER,
    eltInetRoutingDistanceIsisl1External        INTEGER,
    eltInetRoutingDistanceIsisl2External        INTEGER
}

eltInetRoutingDistanceBgpInternal OBJECT-TYPE
    SYNTAX      INTEGER  (1..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative distance used for internal BGP routes."
    ::= { eltInetRoutingDistanceEntry 1 }


eltInetRoutingDistanceBgpExternal OBJECT-TYPE
    SYNTAX      INTEGER  (1..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative distance used for external BGP routes."
    ::= { eltInetRoutingDistanceEntry 2 }

eltInetRoutingDistanceIsisl1Internal OBJECT-TYPE
    SYNTAX      INTEGER  (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative distance used for internal ISIS level 1 routes."
    ::= { eltInetRoutingDistanceEntry 3 }


eltInetRoutingDistanceIsisl2Internal OBJECT-TYPE
    SYNTAX      INTEGER  (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative distance used for internal ISIS level 2 routes."
    ::= { eltInetRoutingDistanceEntry 4 }

eltInetRoutingDistanceIsisl1External OBJECT-TYPE
    SYNTAX      INTEGER  (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative distance used for external ISIS level 1 routes."
    ::= { eltInetRoutingDistanceEntry 5 }

eltInetRoutingDistanceIsisl2External OBJECT-TYPE
    SYNTAX      INTEGER  (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative distance used for external ISIS level 2 routes."
    ::= { eltInetRoutingDistanceEntry 6 }

eltInetStaticRouteTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetStaticRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table defines administrative distances for
                 different protocol routes that are inserted into
                 the routing table.

                 The table augments rlInetStaticRouteTable."
    ::= { eltMesInetRouting 2 }

eltInetStaticRouteEntry OBJECT-TYPE
    SYNTAX      EltInetStaticRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A particular Static(user configured) route to a particular destination."
    AUGMENTS    { rlInetStaticRouteEntry }
    ::= { eltInetStaticRouteTable 1 }

EltInetStaticRouteEntry ::= SEQUENCE {
    eltInetStaticRouteAdminDistance         INTEGER,
    eltInetStaticRouteBfdDesired            TruthValue,
    eltInetStaticRouteBfdStatus             EltexBfdSessionStatus
}

eltInetStaticRouteAdminDistance OBJECT-TYPE
    SYNTAX      INTEGER (1..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Administrative distance of the static route."
    DEFVAL      { 1 }
    ::= { eltInetStaticRouteEntry 2 }

eltInetStaticRouteBfdDesired OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "Indicates whether Bidirectional Forwarding Detection (BFD) is
         desired for check IP reachability to the static route's next hop.

         The current state of the BFD session is indicated by
         eltInetStaticRouteBfdStatus."
    DEFVAL       { false }
    ::= { eltInetStaticRouteEntry 3 }

eltInetStaticRouteBfdStatus OBJECT-TYPE
    SYNTAX      EltexBfdSessionStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The current BFD session state for this static route."
    ::= { eltInetStaticRouteEntry 4 }


--  Summary Address Table.
--
--  This table is used to reduce the number of similar routes
--  that are advertised to routing protocol managers.
--

eltInetSummAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetSummAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The table of summary address entries.

                 This table is used to reduce the number of similar routes
                 that are advertised to routing protocol managers."
    ::= { eltMesInetRouting 3 }

eltInetSummAddrEntry OBJECT-TYPE
    SYNTAX      EltInetSummAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "A particular entry in the Summary Address table."
    INDEX {
            eltInetSummAddrTargetProtocol,
            eltInetSummAddrTargetInstance,
            eltInetSummAddrAddrType,
            eltInetSummAddrAddress,
            eltInetSummAddrAddrPfxLen
          }
    ::= { eltInetSummAddrTable 1 }

EltInetSummAddrEntry ::= SEQUENCE {
      eltInetSummAddrTargetProtocol      RlRedistDstProtocol,
      eltInetSummAddrTargetInstance      Unsigned32,
      eltInetSummAddrAddrType            InetAddressType,
      eltInetSummAddrAddress             InetAddress,
      eltInetSummAddrAddrPfxLen          Unsigned32,
      eltInetSummAddrRowStatus           RowStatus,
      eltInetSummAddrAdvertise           TruthValue
    }

eltInetSummAddrTargetProtocol OBJECT-TYPE
    SYNTAX      RlRedistDstProtocol
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The protocol to which the summary address
                 specified in this row is exported to."
    ::= { eltInetSummAddrEntry 1 }

eltInetSummAddrTargetInstance OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The instance ID of a protocol specified in
                 the eltInetSummAddrTargetProtocol field."
    ::= { eltInetSummAddrEntry 2 }

eltInetSummAddrAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The type of the summary address prefix."
    ::= { eltInetSummAddrEntry 3 }

eltInetSummAddrAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Summary IP address prefix value.  This is the address that
                 is used in combination with eltInetSummAddrAddrPfxLen to
                 specify the prefix used to summarize any equal or
                 more-specific routes to the target protocol."
    ::= { eltInetSummAddrEntry 4 }

eltInetSummAddrAddrPfxLen OBJECT-TYPE
    SYNTAX      Unsigned32 (0..128)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Summary IP address prefix length (in bits).  This is used
                 in combination with eltInetSummAddrAddress to specify the
                 prefix used to summarize any equal or more-specific routes
                 to the target protocol.  The prefix length may not be
                 zero."
    ::= { eltInetSummAddrEntry 5 }

eltInetSummAddrRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Used to create and delete a summary address table
                 entry."
    ::= { eltInetSummAddrEntry 6 }

eltInetSummAddrAdvertise OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "If this is set to TRUE, then when any routes matching
                 the summary address prefix (after filtering) would be 
                 advertised to the target protocol instance, those routes are 
                 suppressed and a summary address prefix is advertised instead.

                 If this is set to FALSE, then any matching routes are
                 suppressed (as in the TRUE case), but the summary
                 address prefix is not advertised to the target instance
                 either."
    DEFVAL { true }
    ::= { eltInetSummAddrEntry 7 }

--
-- eltInetCidrRouteTable
--

eltInetCidrRouteTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetCidrRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Table the status of set the route in the forwarding table"
    ::= { eltMesInetRouting 4 }

eltInetCidrRouteEntry OBJECT-TYPE
    SYNTAX      EltInetCidrRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Entry the status of set the route in the forwarding table"
    AUGMENTS { inetCidrRouteEntry }
    ::= { eltInetCidrRouteTable 1 }

EltInetCidrRouteEntry ::= SEQUENCE {
    eltInetCidrRouteAdminTag          Unsigned32,
    eltInetCidrRouteAdminDistance     INTEGER
}

eltInetCidrRouteAdminTag OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Protocol specific admin tag.  If this route was learned from OSPF or
                  IS-IS, this is the admin tag assigned to the route.  Otherwise it is
                  set to zero."
    ::= { eltInetCidrRouteEntry 2 }

eltInetCidrRouteAdminDistance OBJECT-TYPE
    SYNTAX       INTEGER (0..255)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Administrative distance of the route."
    ::= { eltInetCidrRouteEntry 3 }

eltInetRedistTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetRedistTable
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Using a routing protocol to advertise routes that are learned by some other means,
                 such as by another routing protocol, static routes, or directly connected routes, is called redistribution.
                 This table is used to configure under which conditions will redistribution occur
                 and which actions (if any) should be done on redistributed route.

                 The table augments rlRedistTable."
    ::= { eltMesInetRouting 5 }

eltInetRedistEntry OBJECT-TYPE
    SYNTAX      EltInetRedistTable
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "."
    AUGMENTS { rlRedistEntry }
    ::= { eltInetRedistTable 1 }

EltInetRedistTable ::= SEQUENCE {
    eltInetRedistRouteMapName     DisplayString,
    eltInetRedistTagValue         Unsigned32
}

eltInetRedistRouteMapName OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(0..64))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "Specifies the route map that should be interrogated to filter the importation of routes
                 from this source routing protocol to the current routing protocol.
                 If not specified, all routes are redistributed.
                 If this keyword is specified, but no route map tags are listed, no routes will be imported."
    ::= { eltInetRedistEntry 1 }

eltInetRedistTagValue OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION "The value to set tag in routing information to sent to destination."
    DEFVAL { 0 }
    ::= { eltInetRedistEntry 2 }

--
-- IP route targets table.
--
-- Read-write table for configuring route targets.
--

  eltInetRouteTargetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetRouteTargetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Read-write table for configuring route targets."
    ::= { eltMesInetRouting 6 }

  eltInetRouteTargetEntry OBJECT-TYPE
    SYNTAX      EltInetRouteTargetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Configuration for a route target."
    INDEX { eltInetRouteTargetProtocol,
            eltInetRouteTargetValue }
      ::= { eltInetRouteTargetTable 1 }

  EltInetRouteTargetEntry ::= SEQUENCE {
      eltInetRouteTargetProtocol    EltInetRouteTargetProtocolType,
      eltInetRouteTargetValue       EltInetRouteTargetValue,
      eltInetRouteTargetRowStatus   RowStatus,
      eltInetRouteTargetType        EltInetRouteTargetType
    }

  eltInetRouteTargetProtocol OBJECT-TYPE
    SYNTAX      EltInetRouteTargetProtocolType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Route target protocol type."
    ::= { eltInetRouteTargetEntry 1 }

  eltInetRouteTargetValue OBJECT-TYPE
    SYNTAX      EltInetRouteTargetValue
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The Route Target value."
    ::= { eltInetRouteTargetEntry 2 }

  eltInetRouteTargetRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Row status. Used to create and delete the configuration
                 for this route target."
    ::= { eltInetRouteTargetEntry 3 }

  eltInetRouteTargetType OBJECT-TYPE
    SYNTAX      EltInetRouteTargetType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Type of Route Target. This route target will be used to
                 import routes to or export routes from the RIB.

                 -  import(1) indicates that should import all
                    remote routes that carry this route target, but should
                    not add this route target to local routes.

                 -  export(2) indicates that the route target should be
                    added to all routes exported.

                 -  both(3) indicates that the route target should
                    be both used to import remote routes and added to
                    exported routes."
    DEFVAL      { routeTargetBoth }
    ::= { eltInetRouteTargetEntry 4 }

--
-- IP route distinguisher table.
--
-- Read-write table for configuring route distinguisher.
--

  eltInetRouteDistinguisherTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltInetRouteDistinguisherEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Read-write table for configuring route distinguisher."
    ::= { eltMesInetRouting 9 }

  eltInetRouteDistinguisherEntry OBJECT-TYPE
    SYNTAX      EltInetRouteDistinguisherEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Configuration for an IP-VRF."
    INDEX       { eltInetRouteDistinguisherProtocol,
                  eltInetRouteDistinguisherMrid }
      ::= { eltInetRouteDistinguisherTable 1 }

  EltInetRouteDistinguisherEntry ::= SEQUENCE {
      eltInetRouteDistinguisherProtocol    EltInetRouteDistinguisherProtocolType,
      eltInetRouteDistinguisherMrid        INTEGER,
      eltInetRouteDistinguisherValue       EltexBgpRouteDistinguisher,
      eltInetRouteDistinguisherRowStatus   RowStatus
    }

  eltInetRouteDistinguisherProtocol OBJECT-TYPE
    SYNTAX      EltInetRouteDistinguisherProtocolType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Route distinguisher protocol type."
    ::= { eltInetRouteDistinguisherEntry 1 }

  eltInetRouteDistinguisherMrid OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The MRID for which this entry contains information."
    ::= { eltInetRouteDistinguisherEntry 2 }

  eltInetRouteDistinguisherValue OBJECT-TYPE
    SYNTAX      EltexBgpRouteDistinguisher
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The Route Distinguisher value."
    DEFVAL      { '0000000000000000'H }
    ::= { eltInetRouteDistinguisherEntry 3 }

  eltInetRouteDistinguisherRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Row status. Used to create and delete the configuration
                 for this route distinguisher."
    ::= { eltInetRouteDistinguisherEntry 4 }

  eltMesRouteMap       OBJECT IDENTIFIER ::= { eltMesIpSpec 5 }

--
-- BGP Route Map Augment.
--
-- This is the top-level MIB for the BGP Router feature. It controls
-- creation and global configuration of the protocol.
--

eltMesRouteMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesRouteMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The table of BGP Route Maps.  If a particular match or set
                 category does not apply to a route map then do not define the
                 corresponding field in the MIB row."
    ::= { eltMesRouteMap 1 }

eltMesRouteMapEntry OBJECT-TYPE
    SYNTAX      EltMesRouteMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Each entry represents a filter consisting of Match and Set
                 entries."
    AUGMENTS { rlRouteMapPbrEntry }
    ::= { eltMesRouteMapTable 1 }

EltMesRouteMapEntry ::= SEQUENCE {
    eltMesRouteMapMatchAddrPrefixListName          DisplayString,
    eltMesRouteMapMatchNextPrefixListName          DisplayString,
    eltMesRouteMapMatchSourcePrefixListName        DisplayString,
    eltMesRouteMapMatchLocPref                     Unsigned32,
    eltMesRouteMapMatchLocPrefDef                  TruthValue,
    eltMesRouteMapMatchMed                         Unsigned32,
    eltMesRouteMapMatchMedDef                      TruthValue,
    eltMesRouteMapMatchOrigin                      EltexBgpOriginCode,
    eltMesRouteMapMatchOriginDef                   TruthValue,
    eltMesRouteMapMatchAnd                         TruthValue,
    eltMesRouteMapActionAS                         Unsigned32,
    eltMesRouteMapActionASOperation                EltexBgpRouteMapAsPathAction,
    eltMesRouteMapActionASLimUpper                 Unsigned32,
    eltMesRouteMapActionASLimUpperDef              TruthValue,
    eltMesRouteMapActionAsPrependCount             Unsigned32,
    eltMesRouteMapActionAsPrependSize              EltexBgpAsSize,
    eltMesRouteMapActionAsPrependAsVals            OCTET STRING,
    eltMesRouteMapActionAsRemove                   DisplayString,
    eltMesRouteMapActionLocPref                    Unsigned32,
    eltMesRouteMapActionLocPrefDef                 TruthValue,
    eltMesRouteMapActionMed                        Unsigned32,
    eltMesRouteMapActionMedDef                     TruthValue,
    eltMesRouteMapActionOrigin                     EltexBgpOriginCode,
    eltMesRouteMapActionOriginDef                  TruthValue,
    eltMesRouteMapActionWeight                     Unsigned32,
    eltMesRouteMapActionWeightDef                  TruthValue,
    eltMesRouteMapActionNextHopPeer                TruthValue,
    eltMesRouteMapType                             EltMesRouteMapPermitOrDeny,
    eltMesRouteMapContinue                         Unsigned32,
    eltMesRouteMapMatchTag                         Unsigned32,
    eltMesRouteMapMatchTagDef                      TruthValue,
    eltMesRouteMapActionTag                        Unsigned32,
    eltMesRouteMapActionTagDef                     TruthValue,
    eltMesRouteMapMatchCommListName                DisplayString,
    eltMesRouteMapMatchCommListExact               TruthValue,
    eltMesRouteMapMatchExtCommListName             DisplayString,
    eltMesRouteMapMatchExtCommListExact            TruthValue,
    eltMesRouteMapActionComm                       DisplayString,
    eltMesRouteMapActionCommOperation              EltexBgpCommunityAction,
    eltMesRouteMapActionExtComm                    DisplayString,
    eltMesRouteMapActionExtCommOperation           EltexBgpCommunityAction,
    eltMesRouteMapActionCommListAddName            DisplayString,
    eltMesRouteMapActionCommListDelName            DisplayString,
    eltMesRouteMapActionCommListDelAll             TruthValue,
    eltMesRouteMapActionExtCommListAddName         DisplayString,
    eltMesRouteMapActionExtCommListDelName         DisplayString,
    eltMesRouteMapActionExtCommListDelSubtypes     Unsigned32,
    eltMesRouteMapMatchAs                          DisplayString,
    eltMesRouteMapMatchAsPathListName              DisplayString,
    eltMesRouteMapActionEvpnGatewayInetAddressType InetAddressType,
    eltMesRouteMapActionEvpnGatewayInetAddress     InetAddress,
    eltMesRouteMapActionPreserveNextHop            TruthValue,
    eltMesRouteMapActionAsOverride                 TruthValue
}

eltMesRouteMapMatchAddrPrefixListName OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "The name of the IP Prefix access list used to match
                  the NLRI attribute against."
    DEFVAL       { "" }
    ::= { eltMesRouteMapEntry 1 }

eltMesRouteMapMatchNextPrefixListName OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "The name of the IP Prefix access list used to match
                  the Next Hop attribute against."
    DEFVAL       { "" }
    ::= { eltMesRouteMapEntry 2 }

eltMesRouteMapMatchSourcePrefixListName OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "The name of the IP Prefix access list used to match
                  the source address against."
    DEFVAL       { "" }
    ::= { eltMesRouteMapEntry 3 }

eltMesRouteMapMatchLocPref OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to match the Local Preference attribute against.
                 This value is only used if eltMesRouteMapMatchLocPrefDef is TRUE.

                 If a route does not contain a local preference attribute, this
                 match rule is ignored."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 4 }

eltMesRouteMapMatchLocPrefDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapMatchLocPref should be
                 used for matching."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 5 }

eltMesRouteMapMatchMed OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to match the Multiple Exit Descriminator attribute
                 against.  A value of 0 indicates a match on no MED or a MED
                 of 0.  This value is only used if eltMesRouteMapMatchMedDef is
                 TRUE."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 6 }

eltMesRouteMapMatchMedDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapMatchMed should be used
                 for matching."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 7 }

eltMesRouteMapMatchOrigin OBJECT-TYPE
    SYNTAX      EltexBgpOriginCode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to match the Origin attribute against.  This
                 value is only used if eltMesRouteMapMatchOriginDef is TRUE."
    DEFVAL { originIncomplete }
    ::= { eltMesRouteMapEntry 8 }

eltMesRouteMapMatchOriginDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapMatchOrigin should be
                 used for matching."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 9 }

eltMesRouteMapMatchAnd OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates that the match statements in this route map
                 should be logically ANDed with the match statements in the
                 route map indicated by eltMesRouteMapContinue.  This field is
                 only relevant for policy route maps.

                 If the route map indicated by eltMesRouteMapContinue is not
                 found then the match will fail.

                 All route maps in a series must have the same
                 eltMesRouteMapType.

                 If this field is set then no set statements can be
                 configured in the row.

                 This field can only be updated if the row is not active."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 10 }

eltMesRouteMapActionAS OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The number of times the local AS number is prepended to
                 the AS path if there is a match.  This is only relevant if
                 the route map is being used for exporting routes, or for
                 setting attributes for an aggregate route which does not
                 have the AS_SET option set.  This value is only used if
                 the value of eltMesRouteMapActionASOperation is SET"
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 11 }

eltMesRouteMapActionASOperation OBJECT-TYPE
    SYNTAX      EltexBgpRouteMapAsPathAction
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in rlRouteMapPbrActionAS should be used
                 for updating attributes.  The possible action values are:

                 none - Ignore eltMesRouteMapActionAS and do nothing.

                 set - Prepend the local AS number the number
                 of times specified by eltMesRouteMapActionAS."
    DEFVAL { none }
    ::= { eltMesRouteMapEntry 12 }

eltMesRouteMapActionASLimUpper OBJECT-TYPE
    SYNTAX       Unsigned32  (0..255)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "If there is a match this will cause the AS_PATHLIMIT
                  attribute to be added if it does not already exist.  If
                  it does exist then it will be replaced.  In either case the
                  specified limit and the local AS will be set.  This can be
                  used for traffic engineering purposes in association with a
                  less specific prefix.  A value of zero is permissible and
                  restricts advertisement of locally generated routes to IBGP
                  peers.  However, an AS_PATHLIMIT with an upper bound value of
                  0 will not be externally visible.  That is, it will not be
                  included in UPDATEs.

                  This value is only used if eltMesRouteMapActionASLimUpperDef is TRUE."
    DEFVAL { 1 }
    ::= { eltMesRouteMapEntry 13 }

eltMesRouteMapActionASLimUpperDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapActionASLimUpper should be
                 used for updating attributes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 14 }

eltMesRouteMapActionAsPrependCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "To prepend AS numbers to the AS-Path, set
                 eltMesRouteMapActionAsPrependCount to the count of the AS numbers
                 to prepend, set eltMesRouteMapActionAsPrependSize to indicate
                 whether the values are 2 or 4 octet AS numbers and fill in
                 eltMesRouteMapActionAsPrependAsVals with the AS numbers themselves.

                 When exporting routes to EBGP, BGP applies the AS-prepend
                 rule before prepending the local AS number as required by
                 the BGP specification.  This ensures that the local AS
                 number is always the first AS number in the AS path in this
                 case.

                 This field can only be updated if the row is not active."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 15 }

eltMesRouteMapActionAsPrependSize OBJECT-TYPE
    SYNTAX      EltexBgpAsSize
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The size of AS numbers in the field
                 eltMesRouteMapActionAsPrependAsVals to prepend to the AS path if
                 there is a match.  This field is only used if
                 eltMesRouteMapActionAsPrependCount is non-zero.

                 This field can only be updated if the row is not active."
    DEFVAL { fourOctet }
    ::= { eltMesRouteMapEntry 16 }

eltMesRouteMapActionAsPrependAsVals OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "An array containing the AS numbers to prepend to the AS
                 path if there is a match.  The length of each AS number is
                 given by eltMesRouteMapActionAsPrependSize.  This field is only
                 used if eltMesRouteMapActionAsPrependCount is non-zero.

                 The count of AS numbers is given by
                 eltMesRouteMapActionAsPrependCount.

                 This field can only be updated if the row is not active."
    ::= { eltMesRouteMapEntry 17 }

eltMesRouteMapActionAsRemove OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..127))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Contains the regular expression to use to remove AS
                 numbers from an AS-Path for a route.

                 This is stored here in ASCII format.  AS numbers are
                 matched as decimal numbers.  For example, the AS number
                 '0x0123' should be represented in the regular expression
                 string as '291'.  The string is not NULL-terminated.  A
                 NULL string or an se_as_remove_exp_len value of zero
                 indicates that the field is not in use."
    ::= { eltMesRouteMapEntry 18 }

eltMesRouteMapActionLocPref OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to set the Local Pref to if there is a match.  This
                 value is only used if eltMesRouteMapActionLocPrefDef is TRUE."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 19 }

eltMesRouteMapActionLocPrefDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapActionLocPref should be
                 used for updating attributes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 20 }

eltMesRouteMapActionMed OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to set the MED to if there is a match.  A value of
                 0 indicates that the MED should be removed.  This value is
                 only used if eltMesRouteMapActionMedDef is TRUE."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 21 }

eltMesRouteMapActionMedDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapActionMed should be
                 used for updating attributes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 22 }

eltMesRouteMapActionOrigin OBJECT-TYPE
    SYNTAX      EltexBgpOriginCode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to set the Origin to if there is a match.  This
                 value is only used if eltMesRouteMapActionOriginDef is TRUE."
    DEFVAL { originIncomplete }
    ::= { eltMesRouteMapEntry 23 }

eltMesRouteMapActionOriginDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapActionOrigin should be
                 used for updating attributes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 24 }

eltMesRouteMapActionWeight OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to set the Weight to if there is a match.  This
                 value is only used if eltMesRouteMapActionWeightDef is TRUE."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 25 }

eltMesRouteMapActionWeightDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapActionWeight should be
                 used for updating attributes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 26 }

eltMesRouteMapActionNextHopPeer OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "If set to 'true' in an import route map, then routes matching
                 this route-map will have their Next Hop set to the peer's
                 address.  This field has no effect on route maps used for
                 anything other than import.  This field overrides
                 rlRouteMapPbrActionNextHopPeer if set to 'true'.  This field is not
                 applied to VPNv4 or VPNv6 routes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 27 }

eltMesRouteMapType OBJECT-TYPE
    SYNTAX      EltMesRouteMapPermitOrDeny
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The type of route map entry.  This is only relevant for
                 policy filtering route maps.  It indicates the action
                 which should apply to a route which matches the route map
                 entry.  This field is ignored for route maps used for
                 aggregation."
    DEFVAL { permit }
    ::= { eltMesRouteMapEntry 28 }

eltMesRouteMapContinue OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Field containing the number of the route map clause to
                 continue processing at.

                 For a series of eltMesRouteMapTable rows that are ANDed
                 together (that is, the eltMesRouteMapMatchAnd field is set to
                 TRUE for all of the series except the last),
                 eltMesRouteMapContinue can be used irrespective of the
                 eltMesRouteMapType.  That is, eltMesRouteMapType can be permit
                 or deny for the series.

                 For a series of route attribute changes (that is, a series
                 of eltMesRouteMapTable rows that modify the route attributes
                 of a permitted route, where the rows are linked with the
                 eltMesRouteMapContinue field), all of the rows must have
                 eltMesRouteMapType permit.

                 If the route map matches, the set commands for the
                 matching clause will be applied, and filtering will then
                 continue from the route map clause specified in this
                 field.

                 If no continue clause is specified (value of 0), or the
                 referenced route map clause does not exist, then
                 processing for the given route will be complete.

                 The continue field references the rlRouteMapPbrRouteMapSectionId field
                 of the desired clause.  In order to prevent processing
                 loops, the continue clause must have a higher number than
                 the current clause."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 29 }

eltMesRouteMapMatchTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to match the tag value. This value is only used
                 if eltMesRouteMapMatchTagDef is TRUE."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 30 }

eltMesRouteMapMatchTagDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapMatchTag should be
                 used for matching."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 31 }

eltMesRouteMapActionTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The value to set the tag if there is a match. This value is
                 only used if eltMesRouteMapActionTagDef is TRUE."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 32 }

eltMesRouteMapActionTagDef OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not the value in eltMesRouteMapActionTag should be
                 used for updating attributes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 33 }

eltMesRouteMapMatchCommListName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The name of the Community List to use when matching
                 communities in a route.

                 The field eltMesRouteMapMatchCommListExact is used to define
                 whether the set of communities in the route must match the
                 set of communities in the list exactly or not.

                 A value of null means that no Community List is used for
                 matching."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 34 }

eltMesRouteMapMatchCommListExact OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Whether the set of communities in the route must exactly
                 match the set of communities in the community list.

                 If set to true then there must be an exact match of all
                 communities in the route with all communities in the list.

                 If set to false then, for a match on the list, every
                 community in the list must appear in the set of
                 communities in the route."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 35 }

eltMesRouteMapMatchExtCommListName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The name of the Extended Community List to use when
                 matching extended communities in a route.

                 The field eltMesRouteMapExtchtCommListExact is used to define
                 whether the set of extended communities in the route must
                 match the set of extended communities in the list exactly
                 or not.

                 A value of null means that no Extended Community List is
                 used for matching."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 36 }

eltMesRouteMapMatchExtCommListExact OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Whether the set of extended communities in the route must
                 exactly match the set of extended communities in the
                 extended community list.

                 If set to true then there must be an exact match of all
                 extended communities in the route with all extended
                 communities in the list.

                 If set to false then, for a match on the list, every
                 extended community in the list must appear in the set of
                 extended communities in the route."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 37 }

eltMesRouteMapActionComm OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Contains the regular expression used when executing the
                 action defined by eltMesRouteMapActionCommOperation.  Allowed values
                 depend on the value of eltMesRouteMapActionCommOperation - see the
                 comment for eltMesRouteMapActionCommOperation."
    ::= { eltMesRouteMapEntry 38 }

eltMesRouteMapActionCommOperation OBJECT-TYPE
    SYNTAX      EltexBgpCommunityAction
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The action to take on the community list if this route map
                 matches the route.  Note that if the action is
                 BGP_SET_SPECIFIC or BGP_REMOVE_ALL_AND_SET, the
                 field eltMesRouteMapActionComm must only contain a string
                 representation of a single specific community value, which
                 will be added to the route.  If the action is
                 BGP_REMOVE_SPECIFIC, then the eltMesRouteMapActionComm field
                 must contain a regular expression string that matches the
                 community (or communities) to be removed.  The possible
                 action values are:

                 BGP_NONE - Ignore the value of eltMesRouteMapActionComm and
                 do nothing.
                 BGP_REMOVE_ALL - Ignore the value of eltMesRouteMapActionComm
                 and remove all communities from the route.
                 BGP_REMOVE_SPECIFIC - Remove from the route all
                 communities that match the regular expression in
                 eltMesRouteMapActionComm.
                 BGP_SET_SPECIFIC - Append the community in
                 eltMesRouteMapActionComm to the communities list.
                 BGP_REMOVE_ALL_AND_SET - Remove all communities from
                 the route and replace them with the community in
                 eltMesRouteMapActionComm.

                 Note that you can delete or add a list of communities using
                 the eltMesRouteMapActionCommListDel and eltMesRouteMapActionCommListAdd
                 fields."
    DEFVAL { none }
    ::= { eltMesRouteMapEntry 39 }

eltMesRouteMapActionExtComm OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Contains the regular expression used when executing the
                 action defined by eltMesRouteMapActionExtCommOperation.  This field may
                 be ignored depending on the value of
                 eltMesRouteMapActionExtCommOperation - see the comment for
                 eltMesRouteMapActionExtCommOperation.

                 If the value is not null, eltMesRouteMapActionExtCommListDelSubtypes
                 should be the default."
    ::= { eltMesRouteMapEntry 40 }
    
eltMesRouteMapActionExtCommOperation OBJECT-TYPE
    SYNTAX      EltexBgpCommunityAction
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The action to take on the extended community list if this
                 route map matches the route.  Note that if the action is
                 BGP_SET_SPECIFIC or BGP_REMOVE_ALL_AND_SET, the
                 eltMesRouteMapActionExtComm field should only contain a single
                 specific extended community value, which will be added to
                 the route.  If the action is BGP_REMOVE_SPECIFIC, then
                 the eltMesRouteMapActionExtComm field must contain a regular
                 expression string that matches the extended community (or
                 communities) to be removed.  The
                 possible action values are:

                 BGP_NONE - Ignore the value of eltMesRouteMapActionExtComm
                 and do nothing.
                 BGP_REMOVE_ALL - Ignore the value of
                 eltMesRouteMapActionExtComm and remove all extended communities
                 from the route.
                 BGP_REMOVE_SPECIFIC - Remove from the route all
                 extended communities that match the regular expression in
                 eltMesRouteMapActionExtComm.
                 BGP_SET_SPECIFIC - Append the extended community in
                 eltMesRouteMapActionExtComm to the extended communities list.
                 BGP_REMOVE_ALL_AND_SET - Remove all extended
                 communities from the route and replace them with the
                 extended community in eltMesRouteMapActionExtComm.

                 Note that you can delete or add a list of extended communities
                 using the eltMesRouteMapActionExtCommListDel and
                 eltMesRouteMapActionExtCommListAdd fields.

                 If the value is not none, eltMesRouteMapActionExtCommListDelSubtypes
                 should be the default."
    DEFVAL { none }
    ::= { eltMesRouteMapEntry 41 }

eltMesRouteMapActionCommListDelName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Specifies the name of a Community List used to delete
                 communities from routes matching this route-map.

                 A value of null means that no Community List is used."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 42 }

eltMesRouteMapActionCommListAddName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Specifies the name of a Community List used to add
                 communities to routes matching this route-map.

                 A value of null means that no Community List is used."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 43 }

eltMesRouteMapActionCommListDelAll OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Remove all BGP community in routes.

                 If set to true then, all standard communities
                 will be removed from routes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 44 }

eltMesRouteMapActionExtCommListDelName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Specifies the name of an Extended Community List used to
                 delete extended communities from routes matching this
                 route-map.

                 A value of null means that no Extended Community List is
                 used."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 45 }

eltMesRouteMapActionExtCommListAddName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Specifies the name of an Extended Community List used to add
                 extended communities to routes matching this route-map.

                 A value of null means that no Extended Community List is
                 used."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 46 }

eltMesRouteMapActionExtCommListDelSubtypes OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "This value used to form a regular expression that is used to remove 
                 certain types of extended communities in routes.

                 A value of zero means that no regular expression is
                 used.

                 bits :
                     removeRT(0),   -- Remove all route target
                     remove4BG(1),  -- Remove all 4bytes-generic
                     removeAll(2)   -- Remove all

                 If the value is not zero, eltMesRouteMapActionExtCommOperation and 
                 eltMesRouteMapActionExtComm should be the default."
    DEFVAL { 0 }
    ::= { eltMesRouteMapEntry 47 }

  eltMesRouteMapMatchAs OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Contains the regular expression to use when matching the
                 AS-Path for a route.  This is stored here in ASCII format.
                 AS numbers are matched as decimal numbers.  For example,
                 the AS number '0x0123' should be represented in the
                 regular expression string as '291'.  The string is not
                 NULL-terminated.  A NULL string indicates that the field
                 is not in use."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 48 }

  eltMesRouteMapMatchAsPathListName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The name of the AS Path Access List to use when matching
                 the AS path in a route.

                 A NULL string  means that no AS Path Access List is used
                 for matching."
    DEFVAL { "" }
    ::= { eltMesRouteMapEntry 49 }

eltMesRouteMapActionEvpnGatewayInetAddressType OBJECT-TYPE
   SYNTAX       InetAddressType
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION  "The inet type of eltMesRouteMapActionEvpnGatewayInetAddress"
   ::= { eltMesRouteMapEntry 50 }
   
eltMesRouteMapActionEvpnGatewayInetAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "Gateway IP for type 5 EVPN routes."
    DEFVAL { '00000000'H } -- 0.0.0.0
    ::= { eltMesRouteMapEntry 51 }

eltMesRouteMapActionPreserveNextHop OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This field is used to preserve the BGP next-hop attribute
                 when advertising routes to eBGP peers if there is a match
                 on the export policy.

                 By default, the next-hop of a route is preserved when
                 advertising the route to an iBGP peer, but is updated with
                 the local next-hop when advertising the route to an eBGP
                 peer.

                 Setting this to 'true' overrides this behavior and
                 preserves the original next-hop when routes matching the
                 export policy are advertised to an eBGP peer as well.

                 It doesn't apply to the routes exported to iBGP peers and
                 it won't have any effect on an import map.

                 This field allows a better control over the set of routes
                 exported as compared to the bgpPeerAfiSafiPreserveNh which
                 is applied to all the exported routes."
    DEFVAL { false }
    ::= { eltMesRouteMapEntry 52 }

eltMesRouteMapActionAsOverride OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This field is used to indicate whether BGP should perform
                 AS-override on routes advertised.

                 If AS-override is enabled, then when advertising routes,
                 any instance of the peer's AS number will be replaced in
                 the advertised AS path with the local AS number."
    DEFVAL      { false }
    ::= { eltMesRouteMapEntry 53 }

eltMesAnycastGateway       OBJECT IDENTIFIER ::= { eltMesIpSpec 7 }

eltMesAnycastGatewayGlobals       OBJECT IDENTIFIER ::= { eltMesAnycastGateway 1 }

eltMesAnycastGatewayVirtMacAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Anycast Gateway Virtual MAC address. If this MAC address is not
                 null, then entry with this MAC will be added into FDB for each
                 interface with eltMesAnycastGatewayInterfaceEnabled = True.

                 Also this MAC address replaces Sender MAC in ARP frames (and 
                 Source MAC in Ethernet-header)."
    ::= { eltMesAnycastGatewayGlobals 1 }

-- ------------------------------------------------------------------

eltMesAnycastGatewayInterfaceTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF EltMesAnycastGatewayInterfaceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "The table of Anycast Gateway interfaces. Entry in this 
                     table will be added if IP address assigned to interface."
    ::= { eltMesAnycastGateway 2 }

eltMesAnycastGatewayInterfaceEntry OBJECT-TYPE
    SYNTAX          EltMesAnycastGatewayInterfaceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "An entry in the eltMesAnycastGatewayInterfaceTable contains
                     interface index and turn on/off option."
    INDEX           { ifIndex }
    ::= { eltMesAnycastGatewayInterfaceTable 1 }

EltMesAnycastGatewayInterfaceEntry ::= SEQUENCE {
    eltMesAnycastGatewayInterfaceEnabled   TruthValue
}

eltMesAnycastGatewayInterfaceEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Enabling Anycast Gateway for this interface."
    DEFVAL          { false }
    ::= { eltMesAnycastGatewayInterfaceEntry 1 }

eltMesTftp OBJECT IDENTIFIER ::=  { eltMesIpSpec 9 }

eltTftpSourceVrf OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "In this mrid, uploading and downloading via TFTP will be carried out."
    DEFVAL  { 1 }
    ::= { eltMesTftp 1 }

END

