Juniper Resiliency Interface
SUMMARY For MX Series routers with MPC line cards and PTX Series routers with the JNP10K-LC1201 or JNP10K-LC1203 linecards running Junos OS Evolved, you can configure the Juniper Resiliency Interface (JRI) to detect, correlate, and mitigate exceptions and thereby reduce the mean time to repair (MTTR) for issues. For forwarding exceptions, JRI also extends the inline monitoring services feature with Juniper-specific IPFIX information elements (IEs) for exception data and introduces the concept of an observation cloud, which is a set of observation domains. You can send the IPFIX packets to either an on-box or an off-box collector.
Understand Juniper Resiliency Interface
Packets that need to be forwarded to the adjacent network element or a neighboring
device along a routing path might be dropped by a router owing to several factors.
Every network encounters issues, such as packet loss, from time to time. Some of the
causes for such a loss of traffic or a block in transmission of data packets
include: overloaded system conditions, profiles and policies that restrict the
bandwidth or priority of traffic, network outages, or disruption by physical cable
faults. Packet loss also happens because of incorrect stitching of the forwarding
path or a mismatch between the control plane state and the data plane state. You
could use counters and metrics from show
commands to diagnose and
debug network performance, but doing so can be tedious and time-consuming. JRI
reports exception data from entities in the system which encounter packet drops,
enabling you to automate the workflow involved in detecting, reporting and
mitigating adverse exceptions.
For operating system and routing exceptions, the exception data is reported in telemetry key-value pairs.
For forwarding exceptions, the exception data is reported in IPFIX packets. The IEs in the IPFIX primary data record packet capture the following data:
- Exception reason (for example, firewall discard)
- Packet direction (ingress or egress)
- First N bytes of the packet
- Ingress interface
- Egress interface
- Next-hop identifier (Junos OS only)
Table 1 shows the format of the IPFIX Primary Data Record with the Juniper-specific IEs.
IE Name | IE Identifier | Description | Length (in Bytes) |
---|---|---|---|
forwardingClassandDropPriority | Observation Cloud Common Property ID (CPID)—IE 137, a set of common properties that is locally unique per Observation Cloud | Forwarding class and drop priority ID | 4 |
forwardingExceptionCode | Observation Cloud CPID—IE 137 | Exception code that causes packet drops OR is zero when the exception is not met or set | 2 |
forwardingNextHopId | Observation Cloud CPID—IE 137 | (Junos OS only) Unicast next-hop Index used for forwarding | 4 |
egressInterfaceIndex | Observation Cloud CPID—IE 137 | Index of egress logical interface when flowDirection=output, otherwise 0. | 4 |
underlyingIngressInterfaceIndex | Observation Cloud CPID—IE 137 | (Junos OS only) Index of underlying layer 2 ingress logical interface, wherever applicable (for example, AE and IRB cases—see primary-data-record-fields for more information) | 4 |
ingressInterfaceIndex | Observation Cloud CPID—IE 137 | Index of ingress logical interface | 4 |
ingressInterface | IE 10 | SNMP index of ingress logical interface | 4 |
egressInterface | IE 14 | SNMP index of egress logical interface when flowDirection=output, otherwise 0. | 4 |
flowDirection | IE 61 | Direction (0: input, 1:output) | 1 |
dataLinkFrameSize | IE 312 | Length of sampled data link frame | 2 |
dataLinkFrameSection | IE 315 | N octets from the data link frame of the monitored packet | variable |
Limitations:
-
Exceptions are collected and exported on a best-effort basis.
-
Any limitations or caveats for inline monitoring services also apply to JRI, because JRI uses inline monitoring services to sample and collect the packets.
-
All dropped packets cannot be sampled and profiled. Classes of exceptions are sampled at the default sampling rate, unless you configure this rate with the
sampling-rate
statement at either the[edit services inline-monitoring instance instance-name collector collector-name]
hierarchy level (Junos OS) or at the[edit services inline-monitoring instance instance-name]
hierarchy level (Junos OS Evolved). Junos OS allows the sampling rate to be configured per collector, allowing different rates for each collector; Junos OS Evolved allows one sampling rate per inline-monitoring instance. -
For exception reporting in the egress direction, the layer 2 header or any encapsulation header is not included in IE-315, dataLinkFrameSelection, because exceptions happen before layer 2 or tunnel encapsulation.
-
For exception reporting in the egress direction, the receiver of the IPFIX packet must ignore IE-312, dataLinkFrameSize, because the field does not have the correct value.
-
For the egress direction, you cannot configure both sFlow and exception reporting on the same interface.
-
Inline-monitoring instance actions and firewall re-direct instance actions are not supported in the same term of the firewall filter. (Junos OS Evolved)
-
Inline-monitoring instance actions and port-mirroring instance actions are not supported in the same term of the firewall filter. (Junos OS Evolved)
-
For collectors, you cannot configure routing instances, DSCP bits, or forwarding class. (Junos OS Evolved)
-
For more information about the Juniper-specific IEs, including caveats and limitations, see primary-data-record-fields.
Configure JRI for Operating System and Routing Exceptions
To configure JRI for operating system and routing exceptions:
Configure JRI for Forwarding Exceptions
To configure JRI for forwarding exceptions: