1032 lines
36 KiB
Plaintext
1032 lines
36 KiB
Plaintext
-- ==============================
|
|
-- jnxMVPN-MIB: JUNIPER MVPN-MIB
|
|
--
|
|
-- ==============================
|
|
|
|
-- Note: This MIB is based on draft-zzhang-mvpn-mib-02 and is temporary & experimental.
|
|
-- This may be replaced in future with a standard MVPN MIB from IETF.
|
|
|
|
|
|
MCAST-VPN-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
|
|
Unsigned32
|
|
FROM SNMPv2-SMI
|
|
|
|
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
|
|
FROM SNMPv2-CONF
|
|
|
|
TruthValue, RowPointer, RowStatus, TimeStamp, TimeInterval
|
|
FROM SNMPv2-TC
|
|
|
|
SnmpAdminString
|
|
FROM SNMP-FRAMEWORK-MIB
|
|
|
|
InetAddress, InetAddressType
|
|
FROM INET-ADDRESS-MIB
|
|
|
|
MplsLabel
|
|
FROM MPLS-TC-STD-MIB
|
|
|
|
mplsVpnVrfName, MplsVpnRouteDistinguisher
|
|
FROM MPLS-VPN-MIB
|
|
|
|
ipMRouteEntry
|
|
FROM IPMROUTE-STD-MIB
|
|
|
|
-- Juniper specific
|
|
|
|
jnxMibs
|
|
FROM JUNIPER-SMI
|
|
|
|
jnxMvpnExperiment -- *** JNX ***
|
|
FROM JUNIPER-EXPERIMENT-MIB
|
|
|
|
JnxL2L3VpnMcastProviderTunnelType
|
|
FROM L2L3-VPN-MCAST-MIB
|
|
;
|
|
|
|
jnxMvpnMIB MODULE-IDENTITY
|
|
LAST-UPDATED "201307121200Z" -- 12 July 2013 12:00:00 GMT
|
|
ORGANIZATION "IETF Layer-3 Virtual Private
|
|
Networks Working Group."
|
|
CONTACT-INFO
|
|
" Jeffrey (Zhaohui) Zhang
|
|
zzhang@juniper.net
|
|
|
|
Comments and discussion to l3vpn@ietf.org"
|
|
|
|
DESCRIPTION
|
|
"This MIB contains managed object definitions for
|
|
multicast in BGP/MPLS IP VPNs defined by [MVPN].
|
|
Copyright (C) The Internet Society (2012)."
|
|
|
|
-- Revision history.
|
|
REVISION "201301071200Z" -- 07 January 2013 12:00:00 GMT
|
|
DESCRIPTION
|
|
"Initial version of the draft."
|
|
::= { jnxMvpnExperiment 1 } -- number to be assigned
|
|
|
|
-- Top level components of this MIB.
|
|
jnxMvpnNotifications OBJECT IDENTIFIER ::= { jnxMvpnMIB 0 }
|
|
|
|
-- tables, scalars
|
|
jnxMvpnObjects OBJECT IDENTIFIER ::= { jnxMvpnMIB 1 }
|
|
-- conformance
|
|
-- jnxMvpnConformance OBJECT IDENTIFIER ::= { jnxMvpnMIB 2 }
|
|
|
|
jnxMvpnScalars OBJECT IDENTIFIER ::= { jnxMvpnObjects 1 }
|
|
jnxMvpnGeneral OBJECT IDENTIFIER ::= { jnxMvpnObjects 2 }
|
|
jnxMvpnConfig OBJECT IDENTIFIER ::= { jnxMvpnObjects 3 }
|
|
jnxMvpnStates OBJECT IDENTIFIER ::= { jnxMvpnObjects 4 }
|
|
|
|
-- Scalar Objects
|
|
|
|
jnxMvpnMvrfNumber OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of MVRFs for IPv4 or IPv6 or mLDP C-Multicast
|
|
that are present in this device."
|
|
::= { jnxMvpnScalars 1 }
|
|
|
|
jnxMvpnMvrfNumberV4 OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of MVRFs for IPv4 C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 2 }
|
|
|
|
jnxMvpnMvrfNumberV6 OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of MVRFs for IPv6 C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 3 }
|
|
|
|
jnxMvpnMvrfNumberPimV4 OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of PIM-MVPN MVRFs for IPv4 C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 4 }
|
|
|
|
jnxMvpnMvrfNumberPimV6 OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of PIM-MVPN MVRFs for IPv6 C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 5 }
|
|
|
|
jnxMvpnMvrfNumberBgpV4 OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of BGP-MVPN MVRFs for IPv4 C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 6 }
|
|
|
|
jnxMvpnMvrfNumberBgpV6 OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of BGP-MVPN MVRFs for IPv6 C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 7 }
|
|
|
|
jnxMvpnMvrfNumberMldp OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of BGP-MVPN MVRFs for mLDP C-Multicast that are present
|
|
in this device."
|
|
::= { jnxMvpnScalars 8 }
|
|
|
|
jnxMvpnNotificationEnable OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"If this object is TRUE, then the generation of all
|
|
notifications defined in this MIB is enabled."
|
|
DEFVAL { false }
|
|
::= { jnxMvpnScalars 9 }
|
|
|
|
-- General MVRF Information Table
|
|
|
|
jnxMvpnGeneralTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnGeneralEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table specifies the general information about the MVRFs
|
|
present in this device."
|
|
::= { jnxMvpnGeneral 1 }
|
|
|
|
jnxMvpnGeneralEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnGeneralEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry in this table is created for every MVRF in the
|
|
device."
|
|
INDEX { mplsVpnVrfName }
|
|
::= { jnxMvpnGeneralTable 1 }
|
|
|
|
JnxMvpnGeneralEntry ::= SEQUENCE {
|
|
jnxMvpnGenOperStatusChange INTEGER,
|
|
jnxMvpnGenOperChangeTime TimeStamp,
|
|
jnxMvpnGenCmcastRouteProtocolV4 INTEGER,
|
|
jnxMvpnGenCmcastRouteProtocolV6 INTEGER,
|
|
jnxMvpnGenIpmsiConfigV4 RowPointer,
|
|
jnxMvpnGenIpmsiConfigV6 RowPointer,
|
|
jnxMvpnGenInterAsPmsiConfigV4 RowPointer,
|
|
jnxMvpnGenInterAsPmsiConfigV6 RowPointer,
|
|
jnxMvpnGenRowStatus RowStatus
|
|
}
|
|
|
|
jnxMvpnGenOperStatusChange OBJECT-TYPE
|
|
SYNTAX INTEGER { createdMvrf(1),
|
|
deletedMvrf(2),
|
|
modifiedMvrfIpmsiConfig(3),
|
|
modifiedMvrfSpmsiConfig(4)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object describes the last operational change that
|
|
happened for the given MVRF.
|
|
|
|
createdMvrf - indicates that the MVRF was created in the
|
|
device.
|
|
|
|
deletedMvrf - indicates that the MVRF was deleted from the
|
|
device. A row in this table will never have
|
|
mvpnGenOperStatusChange equal to deletedMvrf(2),
|
|
because in that case the row itself will be deleted from the
|
|
table. This value for mvpnGenOperStatusChange is defined
|
|
mainly for use in mvpnMvrfChange notification.
|
|
|
|
modifiedMvrfIpmsiConfig - indicates that the I-PMSI
|
|
for the MVRF was configured, deleted or changed.
|
|
|
|
modifiedMvrfSpmsiConfig - indicates that the S-PMSI
|
|
for the MVRF was configured, deleted or changed."
|
|
DEFVAL { createdMvrf }
|
|
::= { jnxMvpnGeneralEntry 1 }
|
|
|
|
jnxMvpnGenOperChangeTime OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The time at which the last operational change for the MVRF in
|
|
question took place. The last operational change is specified
|
|
by mvpnGenOperStatusChange."
|
|
::= { jnxMvpnGeneralEntry 2 }
|
|
|
|
jnxMvpnGenCmcastRouteProtocolV4 OBJECT-TYPE
|
|
SYNTAX INTEGER { pim (1),
|
|
bgp (2)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Protocol used to signal IPv4 C-multicast states across the
|
|
provider core.
|
|
pim(1): PIM (PIM-MVPN).
|
|
bgp(2): BGP (BGP-MVPN)."
|
|
::= { jnxMvpnGeneralEntry 3 }
|
|
|
|
jnxMvpnGenCmcastRouteProtocolV6 OBJECT-TYPE
|
|
SYNTAX INTEGER { pim (1),
|
|
bgp (2)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Protocol used to signal IPv6 C-multicast states across the
|
|
provider core.
|
|
pim(1): PIM (PIM-MVPN).
|
|
bgp(2): BGP (BGP-MVPN)."
|
|
::= { jnxMvpnGeneralEntry 4 }
|
|
|
|
jnxMvpnGenIpmsiConfigV4 OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
" This points to a row in MvpnPmsiConfigTable,
|
|
for I-PMSI configuration for IPv4."
|
|
|
|
::= { jnxMvpnGeneralEntry 5 }
|
|
|
|
jnxMvpnGenIpmsiConfigV6 OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
" This points to a row in MvpnPmsiConfigTable,
|
|
for I-PMSI configuration for IPv6."
|
|
|
|
::= { jnxMvpnGeneralEntry 6 }
|
|
|
|
jnxMvpnGenInterAsPmsiConfigV4 OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
" This points to a row in MvpnPmsiConfigTable,
|
|
for inter-as I-PMSI configuration for IPv4, in case of segmented
|
|
inter-as provider tunnels."
|
|
|
|
::= { jnxMvpnGeneralEntry 7 }
|
|
|
|
jnxMvpnGenInterAsPmsiConfigV6 OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This points to a row in MvpnPmsiConfigTable,
|
|
for inter-as I-PMSI configuration for IPv6, in case of segmented
|
|
inter-as provider tunnels."
|
|
|
|
::= { jnxMvpnGeneralEntry 8 }
|
|
|
|
jnxMvpnGenRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This is used to create or delete a row in this table."
|
|
::= { jnxMvpnGeneralEntry 9 }
|
|
|
|
-- General BGP-MVPN table
|
|
|
|
jnxMvpnBgpGeneralTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnBgpGeneralEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table augments the mvpnGeneralTable and is for BGP-MVPN
|
|
specific information."
|
|
::= { jnxMvpnGeneral 2 }
|
|
|
|
jnxMvpnBgpGeneralEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnBgpGeneralEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The mvpnBgpGeneralEntry matches and augments an mvpnGeneralEntry
|
|
for a BGP-MVPN instance, with BGP-MVPN specific informatoin."
|
|
AUGMENTS { jnxMvpnGeneralEntry }
|
|
::= { jnxMvpnBgpGeneralTable 1 }
|
|
|
|
JnxMvpnBgpGeneralEntry ::= SEQUENCE {
|
|
jnxMvpnBgpGenMode INTEGER,
|
|
jnxMvpnBgpGenUmhSelection INTEGER,
|
|
jnxMvpnBgpGenSiteType INTEGER,
|
|
jnxMvpnBgpGenCmcastImportRt MplsVpnRouteDistinguisher,
|
|
jnxMvpnBgpGenSrcAs Unsigned32,
|
|
jnxMvpnBgpGenSptnlLimit Unsigned32
|
|
}
|
|
|
|
jnxMvpnBgpGenMode OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
rpt-spt (1),
|
|
spt-only (2)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"For two different BGP-MVPN modes:
|
|
rpt-spt(1): intersite-site shared tree mode
|
|
spt-only(2): inter-site source-only tree mode."
|
|
::= { jnxMvpnBgpGeneralEntry 1}
|
|
|
|
jnxMvpnBgpGenUmhSelection OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
highest-pe-address (1),
|
|
c-root-group-hashing (2),
|
|
ucast-umh-route (3)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The UMH selection method for this mvpn, as specified in section
|
|
5.1.3 of [MVPN]:
|
|
highest-pe-address (1): PE with the highest address
|
|
c-root-group-hashing (2): hashing based on (c-root, c-group)
|
|
uncast-umh-route (3): per ucast route towards c-root"
|
|
|
|
::= { jnxMvpnBgpGeneralEntry 2}
|
|
|
|
jnxMvpnBgpGenSiteType OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
sender-receiver (1),
|
|
receiver-only (2),
|
|
sender-only (3)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Whether this site is a receiver-only site or not.
|
|
sender-receiver (1): both sender and receiver site.
|
|
receiver-only (2): receiver-only site.
|
|
sender-only (3): sender-only site."
|
|
::= { jnxMvpnBgpGeneralEntry 3}
|
|
|
|
jnxMvpnBgpGenCmcastImportRt OBJECT-TYPE
|
|
SYNTAX MplsVpnRouteDistinguisher
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The C-multicast Import RT that this device adds to
|
|
unicast vpn routes that it advertises for this mvpn."
|
|
::= { jnxMvpnBgpGeneralEntry 4}
|
|
|
|
jnxMvpnBgpGenSrcAs OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Source AS number in Source AS Extended Community that this device
|
|
adds to the unicast vpn routes that it advertises for this mvpn."
|
|
::= { jnxMvpnBgpGeneralEntry 5}
|
|
|
|
jnxMvpnBgpGenSptnlLimit OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The max number of selective provider tunnels this device allows
|
|
for this mvpn."
|
|
::= { jnxMvpnBgpGeneralEntry 6}
|
|
|
|
-- PMSI Configuration Table
|
|
|
|
jnxMvpnPmsiConfigTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnPmsiConfigEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table specifies the configured PMSIs."
|
|
::= { jnxMvpnConfig 1 }
|
|
|
|
jnxMvpnPmsiConfigEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnPmsiConfigEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry in this table is created for each PMSI configured
|
|
on this router. It can be referred to by either I-PMSI
|
|
configuration (in mvpnGeneralEntry) or S-PMSI configuration
|
|
(in mvpnSpmsiConfigEntry)"
|
|
INDEX { jnxMvpnPmsiConfigTunnelType,
|
|
jnxMvpnPmsiConfigTunnelAuxInfo,
|
|
jnxMvpnPmsiConfigTunnelPimGroupAddressType,
|
|
jnxMvpnPmsiConfigTunnelPimGroupAddress,
|
|
jnxMvpnPmsiConfigTunnelOrTemplateName }
|
|
::= { jnxMvpnPmsiConfigTable 1 }
|
|
|
|
JnxMvpnPmsiConfigEntry ::= SEQUENCE {
|
|
jnxMvpnPmsiConfigTunnelType JnxL2L3VpnMcastProviderTunnelType,
|
|
jnxMvpnPmsiConfigTunnelAuxInfo Unsigned32,
|
|
jnxMvpnPmsiConfigTunnelPimGroupAddressType InetAddressType,
|
|
jnxMvpnPmsiConfigTunnelPimGroupAddress InetAddress,
|
|
jnxMvpnPmsiConfigTunnelOrTemplateName SnmpAdminString,
|
|
jnxMvpnPmsiConfigEncapsType INTEGER,
|
|
jnxMvpnPmsiConfigRowStatus RowStatus
|
|
}
|
|
|
|
jnxMvpnPmsiConfigTunnelType OBJECT-TYPE
|
|
SYNTAX JnxL2L3VpnMcastProviderTunnelType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Type of tunnel used to instantiate the PMSI."
|
|
::= { jnxMvpnPmsiConfigEntry 1 }
|
|
|
|
jnxMvpnPmsiConfigTunnelAuxInfo OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Additional tunnel information depending on the type.
|
|
pim: In case of S-PMSI, number of groups starting at
|
|
mvpnPmsiConfigTunnelPimGroupAddress.
|
|
This allows a range of PIM provider tunnel
|
|
group addresses to be specified in S-PMSI case.
|
|
In I-PMSI case, it must be 1.
|
|
rsvp-p2mp: 1 for statically specified rsvp-p2mp tunnel
|
|
2 for dynamically created rsvp-p2mp tunnel
|
|
ingress-replication:
|
|
1 for using any existing p2p/mp2p lsp
|
|
2 for dynamically creating new p2p lsp"
|
|
::= { jnxMvpnPmsiConfigEntry 2 }
|
|
|
|
jnxMvpnPmsiConfigTunnelPimGroupAddressType OBJECT-TYPE
|
|
SYNTAX InetAddressType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"In case of PIM provider tunnel, the type of tunnel address."
|
|
::= { jnxMvpnPmsiConfigEntry 3 }
|
|
|
|
jnxMvpnPmsiConfigTunnelPimGroupAddress OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"In case of PIM provider tunnel, the provider tunnel address."
|
|
::= { jnxMvpnPmsiConfigEntry 4 }
|
|
|
|
jnxMvpnPmsiConfigTunnelOrTemplateName OBJECT-TYPE
|
|
SYNTAX SnmpAdminString
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The tunnel name or template name used to create tunnels.
|
|
Depending on mvpnPmsiConfigTunnelType and
|
|
mvpnPmsiConfigTunnelAuxInfo:
|
|
|
|
dynamically created rsvp-p2mp tunnel: template name
|
|
statically specified rsvp-p2mp tunnel: tunnel name
|
|
ingress-replication using
|
|
dynamically created lsps: template name
|
|
other: null"
|
|
::= { jnxMvpnPmsiConfigEntry 5 }
|
|
|
|
jnxMvpnPmsiConfigEncapsType OBJECT-TYPE
|
|
SYNTAX INTEGER { greIp (1),
|
|
ipIp (2),
|
|
mpls (3)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The encapsulation type to be used, in case of PIM tunnel or
|
|
ingress-replication."
|
|
::= { jnxMvpnPmsiConfigEntry 6 }
|
|
|
|
jnxMvpnPmsiConfigRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Used to create/modify/delete a row in this table."
|
|
::= { jnxMvpnPmsiConfigEntry 7 }
|
|
|
|
-- S-PMSI configuration table
|
|
|
|
jnxMvpnSpmsiConfigTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnSpmsiConfigEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table specifies S-PMSI configuration."
|
|
::= { jnxMvpnConfig 2 }
|
|
|
|
jnxMvpnSpmsiConfigEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnSpmsiConfigEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry is created for each S-PMSI configuration."
|
|
INDEX { mplsVpnVrfName,
|
|
jnxMvpnSpmsiConfigCmcastAddressType,
|
|
jnxMvpnSpmsiConfigCmcastGroupAddress,
|
|
jnxMvpnSpmsiConfigCmcastGroupPrefixLen,
|
|
jnxMvpnSpmsiConfigCmcastSourceAddress,
|
|
jnxMvpnSpmsiConfigCmcastSourcePrefixLen }
|
|
::= { jnxMvpnSpmsiConfigTable 1 }
|
|
|
|
JnxMvpnSpmsiConfigEntry ::= SEQUENCE {
|
|
jnxMvpnSpmsiConfigCmcastAddressType InetAddressType,
|
|
jnxMvpnSpmsiConfigCmcastGroupAddress InetAddress,
|
|
jnxMvpnSpmsiConfigCmcastGroupPrefixLen Unsigned32,
|
|
jnxMvpnSpmsiConfigCmcastSourceAddress InetAddress,
|
|
jnxMvpnSpmsiConfigCmcastSourcePrefixLen Unsigned32,
|
|
jnxMvpnSpmsiConfigThreshold Unsigned32,
|
|
jnxMvpnSpmsiConfigPmsiPointer RowPointer,
|
|
jnxMvpnSpmsiConfigRowStatus RowStatus
|
|
}
|
|
|
|
jnxMvpnSpmsiConfigCmcastAddressType OBJECT-TYPE
|
|
SYNTAX InetAddressType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Type of C-multicast address"
|
|
::= { jnxMvpnSpmsiConfigEntry 1 }
|
|
|
|
jnxMvpnSpmsiConfigCmcastGroupAddress OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"C-multicast group address"
|
|
::= { jnxMvpnSpmsiConfigEntry 2 }
|
|
|
|
jnxMvpnSpmsiConfigCmcastGroupPrefixLen OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"C-multicast group address prefix length.
|
|
A group 0 (or ::0) with prefix length 32 (or 128)
|
|
indicates wildcard group, while a group 0 (or ::0)
|
|
with prefix length 0 indicates any group."
|
|
::= { jnxMvpnSpmsiConfigEntry 3 }
|
|
|
|
jnxMvpnSpmsiConfigCmcastSourceAddress OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"C-multicast source address"
|
|
::= { jnxMvpnSpmsiConfigEntry 4 }
|
|
|
|
jnxMvpnSpmsiConfigCmcastSourcePrefixLen OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"C-multicast source address prefix length.
|
|
A source 0 (or ::0) with prefix length 32 (or 128)
|
|
indicates a wildcard source, while a source 0 (or ::0)
|
|
with prefix length 0 indicates any source."
|
|
::= { jnxMvpnSpmsiConfigEntry 5 }
|
|
|
|
jnxMvpnSpmsiConfigThreshold OBJECT-TYPE
|
|
SYNTAX Unsigned32 (0..4294967295)
|
|
UNITS "kilobits per second"
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The bandwidth threshold value which when exceeded for a
|
|
multicast routing entry in the given MVRF, triggers usage
|
|
of S-PMSI."
|
|
::= { jnxMvpnSpmsiConfigEntry 6 }
|
|
|
|
jnxMvpnSpmsiConfigPmsiPointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This points to a row in MvpnPmsiConfigTable,
|
|
to specify tunnel attributes."
|
|
::= { jnxMvpnSpmsiConfigEntry 7 }
|
|
|
|
jnxMvpnSpmsiConfigRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Used to create/modify/delete a row in this table."
|
|
::= { jnxMvpnSpmsiConfigEntry 8 }
|
|
|
|
-- Table of intra-as I-PMSIs advertised/received
|
|
|
|
jnxMvpnIpmsiTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnIpmsiEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table is for all advertised/received I-PMSI
|
|
advertisements."
|
|
::= { jnxMvpnStates 1 }
|
|
|
|
jnxMvpnIpmsiEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnIpmsiEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry in this table corresponds to an I-PMSI
|
|
advertisement that is advertised/received on this router.
|
|
This represents all the sender PEs in the MVPN,
|
|
with the provider tunnel they use to send traffic."
|
|
INDEX { mplsVpnVrfName,
|
|
jnxMvpnIpmsiAfi,
|
|
jnxMvpnIpmsiRD,
|
|
jnxMvpnIpmsiOrigAddrType,
|
|
jnxMvpnIpmsiOrigAddress }
|
|
::= { jnxMvpnIpmsiTable 1 }
|
|
|
|
JnxMvpnIpmsiEntry ::= SEQUENCE {
|
|
jnxMvpnIpmsiAfi Unsigned32,
|
|
jnxMvpnIpmsiRD MplsVpnRouteDistinguisher,
|
|
jnxMvpnIpmsiOrigAddrType InetAddressType,
|
|
jnxMvpnIpmsiOrigAddress InetAddress,
|
|
jnxMvpnIpmsiUpTime TimeInterval,
|
|
jnxMvpnIpmsiAttribute RowPointer
|
|
}
|
|
|
|
jnxMvpnIpmsiAfi OBJECT-TYPE
|
|
SYNTAX Unsigned32 (1|2)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The address family this I-PMSI is for.
|
|
1 - IPv4
|
|
2 - IPv6"
|
|
::= { jnxMvpnIpmsiEntry 1 }
|
|
|
|
jnxMvpnIpmsiRD OBJECT-TYPE
|
|
SYNTAX MplsVpnRouteDistinguisher
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Route Distinguisher in this I-PMSI."
|
|
::= { jnxMvpnIpmsiEntry 2 }
|
|
|
|
jnxMvpnIpmsiOrigAddrType OBJECT-TYPE
|
|
SYNTAX InetAddressType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Internet address type of mvpnIpmsiOrigAddress."
|
|
::= { jnxMvpnIpmsiEntry 3 }
|
|
|
|
jnxMvpnIpmsiOrigAddress OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The BGP address of the device that originated the I-PMSI."
|
|
::= { jnxMvpnIpmsiEntry 4 }
|
|
|
|
jnxMvpnIpmsiUpTime OBJECT-TYPE
|
|
SYNTAX TimeInterval
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The time since this I-PMSI was first
|
|
advertised/received by the device."
|
|
::= { jnxMvpnIpmsiEntry 5 }
|
|
|
|
jnxMvpnIpmsiAttribute OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Points to a row in the mvpnPmsiTunnelAttributeTable."
|
|
::= { jnxMvpnIpmsiEntry 6 }
|
|
|
|
-- Table of inter-as I-PMSIs advertised/received
|
|
|
|
jnxMvpnInterasIpmsiTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnInterasIpmsiEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table is for all advertised/received inter-as I-PMSI
|
|
advertisements."
|
|
::= { jnxMvpnStates 2 }
|
|
|
|
jnxMvpnInterasIpmsiEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnInterasIpmsiEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry in this table corresponds to an inter-as I-PMSI
|
|
advertisement that is advertised/received on this router.
|
|
This represents all the ASes in the MVPN,
|
|
with the provider tunnel used to send traffic to."
|
|
INDEX { mplsVpnVrfName,
|
|
jnxMvpnInterasIpmsiAfi,
|
|
jnxMvpnInterasIpmsiRD,
|
|
jnxMvpnInterasIpmsiSrcAs }
|
|
::= { jnxMvpnInterasIpmsiTable 1 }
|
|
|
|
JnxMvpnInterasIpmsiEntry ::= SEQUENCE {
|
|
jnxMvpnInterasIpmsiAfi Unsigned32,
|
|
jnxMvpnInterasIpmsiRD MplsVpnRouteDistinguisher,
|
|
jnxMvpnInterasIpmsiSrcAs Unsigned32,
|
|
jnxMvpnInterasIpmsiAttribute RowPointer
|
|
}
|
|
|
|
jnxMvpnInterasIpmsiAfi OBJECT-TYPE
|
|
SYNTAX Unsigned32 (1|2)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The address family this I-PMSI is for.
|
|
1 - IPv4
|
|
2 - IPv6"
|
|
::= { jnxMvpnInterasIpmsiEntry 1 }
|
|
|
|
jnxMvpnInterasIpmsiRD OBJECT-TYPE
|
|
SYNTAX MplsVpnRouteDistinguisher
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Route Distinguisher in this inter-as I-PMSI."
|
|
::= { jnxMvpnInterasIpmsiEntry 2 }
|
|
|
|
jnxMvpnInterasIpmsiSrcAs OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The source-as in this inter-as I-PMSI."
|
|
::= { jnxMvpnInterasIpmsiEntry 3 }
|
|
|
|
jnxMvpnInterasIpmsiAttribute OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Points to a row in the mvpnPmsiTunnelAttributeTable."
|
|
::= { jnxMvpnInterasIpmsiEntry 4 }
|
|
|
|
-- Table of S-PMSIs advertised/received
|
|
|
|
jnxMvpnSpmsiTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnSpmsiEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table has information about the S-PMSIs sent/received
|
|
by a device."
|
|
::= { jnxMvpnStates 3 }
|
|
|
|
jnxMvpnSpmsiEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnSpmsiEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry in this table is created or updated for every S-PMSI
|
|
advertised/received in a particular MVRF."
|
|
INDEX { mplsVpnVrfName,
|
|
jnxMvpnSpmsiOrigAddrType,
|
|
jnxMvpnSpmsiOrigAddress,
|
|
jnxMvpnSpmsiCmcastAddrType,
|
|
jnxMvpnSpmsiCmcastGroup,
|
|
jnxMvpnSpmsiCmcastGroupPrefixLen,
|
|
jnxMvpnSpmsiCmcastSource,
|
|
jnxMvpnSpmsiCmcastSourcePrefixLen}
|
|
::= { jnxMvpnSpmsiTable 1 }
|
|
|
|
JnxMvpnSpmsiEntry ::= SEQUENCE {
|
|
jnxMvpnSpmsiOrigAddrType InetAddressType,
|
|
jnxMvpnSpmsiOrigAddress InetAddress,
|
|
jnxMvpnSpmsiCmcastAddrType InetAddressType,
|
|
jnxMvpnSpmsiCmcastGroup InetAddress,
|
|
jnxMvpnSpmsiCmcastGroupPrefixLen Unsigned32,
|
|
jnxMvpnSpmsiCmcastSource InetAddress,
|
|
jnxMvpnSpmsiCmcastSourcePrefixLen Unsigned32,
|
|
jnxMvpnSpmsiTunnelAttribute RowPointer,
|
|
jnxMvpnSpmsiUpTime TimeInterval,
|
|
jnxMvpnSpmsiExpTime TimeInterval,
|
|
jnxMvpnSpmsiRefCnt Unsigned32
|
|
}
|
|
|
|
jnxMvpnSpmsiOrigAddrType OBJECT-TYPE
|
|
SYNTAX InetAddressType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Internet address type of mvpnSpmsiOrigAddress."
|
|
::= { jnxMvpnSpmsiEntry 1 }
|
|
|
|
jnxMvpnSpmsiOrigAddress OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The BGP address of the device that originated the S-PMSI."
|
|
::= { jnxMvpnSpmsiEntry 2 }
|
|
|
|
jnxMvpnSpmsiCmcastAddrType OBJECT-TYPE
|
|
SYNTAX InetAddressType
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Internet address type of mvpnSpmsiCmcastGroup/Source."
|
|
::= { jnxMvpnSpmsiEntry 3 }
|
|
|
|
jnxMvpnSpmsiCmcastGroup OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"S-PMSI C-multicast group address.
|
|
If it is 0 (or ::0), this is a wildcard group,
|
|
and mvpnSpmsiCmcastGroupPrefixLen must be 32 (or 128)."
|
|
::= { jnxMvpnSpmsiEntry 4 }
|
|
|
|
jnxMvpnSpmsiCmcastGroupPrefixLen OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"S-PMSI C-multicast group address prefix length."
|
|
::= { jnxMvpnSpmsiEntry 5 }
|
|
|
|
jnxMvpnSpmsiCmcastSource OBJECT-TYPE
|
|
SYNTAX InetAddress
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"S-PMSI C-multicast source address
|
|
If it is 0 (or ::0), this is a wildcard source,
|
|
and mvpnSpmsiCmcastSourcePrefixLen must be 32 (or 128)."
|
|
::= { jnxMvpnSpmsiEntry 6 }
|
|
|
|
jnxMvpnSpmsiCmcastSourcePrefixLen OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"S-PMSI C-multicast source address prefix length."
|
|
::= { jnxMvpnSpmsiEntry 7 }
|
|
|
|
jnxMvpnSpmsiTunnelAttribute OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A row pointer to the mvpnPmsiTunnelAttributeTable"
|
|
::= { jnxMvpnSpmsiEntry 8 }
|
|
|
|
jnxMvpnSpmsiUpTime OBJECT-TYPE
|
|
SYNTAX TimeInterval
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The time since this S-PMSI
|
|
was first advertised/received by the device."
|
|
::= { jnxMvpnSpmsiEntry 9 }
|
|
|
|
jnxMvpnSpmsiExpTime OBJECT-TYPE
|
|
SYNTAX TimeInterval
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"For UDP-based S-PMSI signaling for PIM-MVPN,
|
|
the amount of time remaining before this
|
|
received S-PMSI Join Message expires,
|
|
or the next S-PMSI Join Message refresh is to be
|
|
advertised again from the device.
|
|
Otherwise, it is zero."
|
|
::= { jnxMvpnSpmsiEntry 10 }
|
|
|
|
jnxMvpnSpmsiRefCnt OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of c-multicast routes that are mapped to
|
|
this S-PMSI."
|
|
::= { jnxMvpnSpmsiEntry 11 }
|
|
|
|
-- Table of multicast routes in an MVPN
|
|
|
|
jnxMvpnMrouteTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF JnxMvpnMrouteEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table augments ipMcastRouteTable, to provide some MVPN
|
|
specific information."
|
|
::= { jnxMvpnStates 4 }
|
|
|
|
jnxMvpnMrouteEntry OBJECT-TYPE
|
|
SYNTAX JnxMvpnMrouteEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The mvpnMrouteEntry matches and augments an ipMcastRouteTable,
|
|
with MVPN specific information, such as PMSI used."
|
|
AUGMENTS { ipMRouteEntry }
|
|
::= { jnxMvpnMrouteTable 1 }
|
|
|
|
JnxMvpnMrouteEntry ::= SEQUENCE {
|
|
jnxMvpnMroutePmsiPointer RowPointer,
|
|
jnxMvpnMrouteNumberOfLocalReplication Unsigned32,
|
|
jnxMvpnMrouteNumberOfRemoteReplication Unsigned32,
|
|
jnxMvpnMrouteDataRate Unsigned32
|
|
}
|
|
|
|
jnxMvpnMroutePmsiPointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The I-PMSI or S-PMSI this C-multicast route is using.
|
|
This is important because an implementation may not have an
|
|
interface corresponding to a provider tunnel,
|
|
that can be used in ipMcastRouteNextHopEntry."
|
|
::= { jnxMvpnMrouteEntry 1 }
|
|
|
|
jnxMvpnMrouteNumberOfLocalReplication OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Number of replications to local receivers."
|
|
::= { jnxMvpnMrouteEntry 2 }
|
|
|
|
jnxMvpnMrouteNumberOfRemoteReplication OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Number of (local) replications to remote receivers."
|
|
::= { jnxMvpnMrouteEntry 3 }
|
|
|
|
jnxMvpnMrouteDataRate OBJECT-TYPE
|
|
SYNTAX Unsigned32 (0..4294967295)
|
|
UNITS "kilobits per second"
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The data rate for traffic following this route."
|
|
::= { jnxMvpnMrouteEntry 4 }
|
|
|
|
-- MVPN Notifications
|
|
|
|
jnxMvpnMvrfChange NOTIFICATION-TYPE
|
|
OBJECTS {
|
|
jnxMvpnGenOperStatusChange
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A mvpnMvrfChange notification signifies a change about
|
|
a MVRF in the device. The change event can be creation of
|
|
the MVRF, deletion of the MVRF or an update on the I-PMSI
|
|
or S-PMSI configuration of the MVRF. The change event
|
|
is indicated by mvpnGenOperStatusChange embedded in
|
|
the notification. The user can then query
|
|
mvpnGeneralTable, and/or mvpnSpmsiConfigTable to
|
|
get the details of the change as necessary.
|
|
|
|
Note: Since the creation of a MVRF is often followed by
|
|
configuration of I-PMSI and/or S-PMSIs for the MVRF,
|
|
more than one (three at most) notifications for a MVRF may
|
|
be generated serially, and it is really not necessary to
|
|
generate all three of them. An agent may choose to generate a
|
|
notification for the last event only, that is for S-PMSI
|
|
configuration.
|
|
|
|
Similarly, deletion of I-PMSI and S-PMSI configuration on a
|
|
MVRF happens before a MVRF is deleted and it is recommended
|
|
that the agent send the notification for MVRF deletion
|
|
event only."
|
|
::= { jnxMvpnNotifications 2 }
|
|
END
|