Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Junos CLI Reference
Table of Contents Expand all
list Table of Contents

rpm (Services)

date_range 22-Nov-23

Syntax (Junos OS, except for QFX10000 switches, EX9200 switches, and SRX Series Firewalls)

content_copy zoom_out_map
rpm {
    bgp {
        data-fill data;
        data-size size;
        destination-port port;
        history-size size;
        logical-system logical-system-name [routing-instances routing-instance-name];
        moving-average-size number;
        probe-count count;
        probe-interval seconds;
        probe-type type;
        routing-instances instance-name;
        test-interval interval;
        ttl ttl;
    }
    probe owner {
        delegate-probes;
        test test-name {
            data-fill data;
            data-size size;
            destination-interface interface-name;
            destination-port port;
            dscp-code-points dscp-bits;
            hardware-timestamp;
            history-size size;
            inet6-options {
                source-address source-address;
            }
            moving-average-size number;
            next-hop next-hop;
            one-way-hardware-timestamp;
            probe-count count;
            probe-interval seconds;
            probe-type type;
            routing-instance instance-name;
            rpm-scale {
                target {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                target-inet6 {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                source {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                source-inet6 {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                destination {
                    interface interface;                      
                    subunit-cnt subunit-cnt;                      
                }
                tests-count tests-count;                   
            }
            source-address address;
            target (url url | address address);
            test-interval interval;
            thresholds thresholds;
            traps traps;
            ttl ttl;
        }
    }
    probe-server {
        icmp {
            destination-interface destination-interface;
        }
        tcp {
            destination-interface interface-name;
            port number;
        }
        udp {
            destination-interface interface-name;
            port number;
        }
    }
    probe-limit limit;
    rfc2544-benchmarking {
        profiles {
            test-profile profile-name {
                test-type (throughput | latency | frame-loss | back-back-frames);
                packet-size bytes;
                step-percent percent;
                bandwidth-kbps kpbs;
            }
        }
        tests {
            test-name test-name {
                destination-ipv4-address address;
                destination-mac-address destination-mac-address;
                destination-udp-port  port-number;
                direction (egress | ingress);
                disable-signature-check;
                dscp-code-points dscp-code-points;
                family (bridge| inet | ccc);
                forwarding-class forwarding-class;
                halt-on-prefix-down;
                in-service;
                ip-swap;
                ivlan-cfi ivlan-cfi;
                ivlan-id ivlan-id;
                ivlan-priority ivlan-priority;
                mode reflect;
                outer-tag-protocol-id outer-tag-protocol-id;
                ovlan-cfi ovlan-cfi;
                ovlan-id ovlan-id;
                ovlan-priority  ovlan-priority;
                packet-loss-priority (high | low | medium-high);
                receive-failure-threshold receive-failure-threshold;
                reflect-etype reflect-etype;
                reflect-mode (mac-rewrite | mac-swap | no-mac-swap);
                reflector-port reflector-port;
                service-type (elan | eline);
                skip-arp-iteration;
                source-ipv4-address address;
                source-mac-address source-mac-address;
                source-udp-port port-number;
                test-finish-wait-duration test-finish-wait-duration;
                test-interface interface-name;
                test-iterator-duration test-iterator-duration;
                test-iterator-pass-threshold test-iterator-pass-threshold;
                test-profile test-profile;
                timestamp-format (microseconds | nanoseconds);
                transmit-failure-threshold transmit-failure-threshold;
                udp-tcp-port-swap;
                vlan-cfi vlan-cfi;
                vlan-id vlan-id;
                vlan-priority vlan-priority;
            }
        }
    }
    traceoptions {
        file filename <files number> <match regular-expression > <size maximum-file-size> <world-readable | no-world-readable>;
        flag flag;
        level (all | error | info | notice | verbose | warning);
        no-remote-trace;
    }
    twamp {
        client {
            control-connection  name {
                authentication-mode none;
                control-type (managed | light); 
                destination-interface  destination-interface;
                destination-port    destination-port;
                history-size    history-size;
                moving-average-size   moving-average-size;
                persistent-results;
                routing-instance   routing-instance;
                target-address target-address;
                tcp-keepcnt   count;
                 tcp-keepidle    seconds;
                 tcp-keepintvl    seconds;
                 test-count   test-count;
                 test-interval   seconds;
                 traps {
                    control-connection-closed;
                    test-iteration-done;
                }
                test-session name { 
                    data-fill-with zeros;
                    data-size   data-size;
                    dscp-code-points dscp-code-points;
                    probe-count  probe-count;
                    probe-interval  seconds;
                    source-address source-address;  
                    target-address target-address local-link IPv6-link-local-interface-name;                      
                    thresholds {
                        egress-time microseconds;
                        ingress-time microseconds;
                        jitter-egress microseconds;
                        jitter-ingress microseconds;
                        jitter-rtt microseconds;
                        max-rtt microseconds;
                        rtt microseconds;
                        std-dev-egress microseconds;
                        std-dev-ingress microseconds;
                        std-dev-rtt microseconds;
                        successive-loss successive-loss;
                        total-loss total-loss;
                    }
                    traps {
                        egress-jitter-exceeded;
                        egress-std-dev-exceeded;
                        egress-time-exceeded;
                        ingress-jitter-exceeded;
                        ingress-std-dev-exceeded;
                        ingress-time-exceeded;
                        jitter-exceeded;
                        max-rtt-exceeded;
                        probe-failure;
                        rtt-exceeded;
                        std-dev-exceeded;
                        test-completion;
                        test-failure;
                    }
                    ttl hop-count;
                }
            }
        }
        post-cli-implicit-firewall;
        server {
            authentication-key-chain name {
                key-id name {                      
                    secret secret;                      
                }
            }
            authentication-mode <authenticated> <control-only-encrypted> <encrypted> <none>;                
            client-list  {
                address address <routing-instance [instance-name...]>;
            }
            max-connection-duration  hours;
            maximum-connections  maximum-connections;
            maximum-connections-per-client  maximum-connections-per-client;
            maximum-sessions  maximum-sessions;
            maximum-sessions-per-connection  maximum-sessions-per-connection;
            port  port;
            routing-instance-list  name {
                port port;                   
            }
            server-inactivity-timeout  minutes;
            tcp-keepcnt  count;
            tcp-keepidle  seconds;
            tcp-keepintvl seconds;
        }
    }
}

Syntax (Junos OS, for EX9200 and QFX10000 switches)

content_copy zoom_out_map
rpm {
    bgp {
        data-fill data;
        data-size size;
        destination-port port;
        history-size size;
        logical-system logical-system-name [routing-instances routing-instance-name];
        moving-average-size number;
        probe-count count;
        probe-interval seconds;
        probe-type type;
        routing-instances instance-name;
        test-interval interval;
        ttl ttl;
    }
    probe owner {
        delegate-probes;
        test test-name {
            data-fill data;
            data-size size;
            destination-interface interface-name;
            destination-port port;
            dscp-code-points dscp-bits;
            hardware-timestamp;
            history-size size;
            inet6-options {
                source-address source-address;
            }
            moving-average-size number;
            next-hop next-hop;
            one-way-hardware-timestamp;
            probe-count count;
            probe-interval seconds;
            probe-type type;
            routing-instance instance-name;
            rpm-scale {
                target {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                target-inet6 {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                source {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                source-inet6 {
                    address-base address-base;                      
                    count count;                      
                    step step;                      
                }
                destination {
                    interface interface;                      
                    subunit-cnt subunit-cnt;                      
                }
                tests-count tests-count;                   
            }
            source-address address;
            target (url url | address address);
            test-interval interval;
            thresholds thresholds;
            traps traps;
            ttl ttl;
        }
    }
    probe-server {
        icmp {
            destination-interface destination-interface;
        }
        tcp {
            destination-interface interface-name;
            port number;
        }
        udp {
            destination-interface interface-name;
            port number;
        }
    }
    probe-limit limit;
    twamp {
        client {
            control-connection  name {
                authentication-mode none;
                destination-interface  destination-interface;
                destination-port    destination-port;
                history-size    history-size;
                moving-average-size   moving-average-size;
                persistent-results;
                routing-instance   routing-instance;
                target-address target-address;
                tcp-keepcnt   count;
                tcp-keepidle    seconds;
                tcp-keepintvl    seconds;
                test-count   test-count;
                test-interval   seconds;
                traps {
                        control-connection-closed;
                        test-iteration-done;
                }
                test-session name { 
                    data-fill-with zeros;
                    data-size   data-size;
                    dscp-code-points dscp-code-points;
                    probe-count  probe-count;
                    probe-interval  seconds;
                    target-address target-address;                      
                    thresholds {
                        egress-time microseconds;
                        ingress-time microseconds;
                        jitter-egress microseconds;
                        jitter-ingress microseconds;
                        jitter-rtt microseconds;
                        max-rtt microseconds;
                        rtt microseconds;
                        std-dev-egress microseconds;
                        std-dev-ingress microseconds;
                        std-dev-rtt microseconds;
                        successive-loss successive-loss;
                        total-loss total-loss;
                    }
                    traps {
                        egress-jitter-exceeded;
                        egress-std-dev-exceeded;
                        egress-time-exceeded;
                        ingress-jitter-exceeded;
                        ingress-std-dev-exceeded;
                        ingress-time-exceeded;
                        jitter-exceeded;
                        max-rtt-exceeded;
                        probe-failure;
                        rtt-exceeded;
                        std-dev-exceeded;
                        test-completion;
                        test-failure;
                    }
                    ttl hop-count;
                }
            }
        }
        post-cli-implicit-firewall;
        server {
            authentication-key-chain name {
                key-id name {                      
                    secret secret;                      
                }
            }
            authentication-mode <authenticated   > <control-only-encrypted> <encrypted   > <none>;                
            client-list  {
                address address <routing-instance [instance-name...]>;
            }
            max-connection-duration  hours;
            maximum-connections  maximum-connections;
            maximum-connections-per-client  maximum-connections-per-client;
            maximum-sessions  maximum-sessions;
            maximum-sessions-per-connection  maximum-sessions-per-connection;
            port  port;
            routing-instance-list  name {
                port port;                   
            }
            server-inactivity-timeout  minutes;
            tcp-keepcnt  count;
            tcp-keepidle  seconds;
            tcp-keepintvl seconds;
        }
    }
}

Syntax (Junos OS, for SRX300 and SRX550HM devices)

content_copy zoom_out_map
rpm {
    rfc2544-benchmarking {
        tests {
            test-name test-name {
                destination-ipv4-address address;
                destination-udp-port  port-number;
                disable-signature-check;
                family inet
                mode reflect;
                source-ipv4-address address;
                source-udp-port port-number;
                test-interface interface-name;
                test-iterator-duration test-iterator-duration;
            }
        }
    }
}

Syntax (Junos OS Evolved)

content_copy zoom_out_map
rpm {
    owner name {
        test test-name {
            data-fill data;
            data-size size;
            destination-port port;
            dscp-code-points dscp-bits;
            history-size size;
            moving-average-size number;
            offload-type {
                none;
                pfe-timestamp;
            }
            probe-count count;
            probe-interval seconds;
            probe-server {
                icmp;
                tcp { 
                    port number;
                }
                udp {
                    port number;
                }
            }
            probe-type type;
            routing-instance instance-name;
            source-address address;
            target (url url | address address);
            test-interval interval;
            thresholds thresholds;
            traps traps; 
            ttl hop-count 
        }
    }
}

Junos OS Hierarchy Level

content_copy zoom_out_map
[edit services]

Junos OS Evolved Hierarchy Level

content_copy zoom_out_map
[edit services monitoring]

Description

Configure real-time performance monitoring (RPM). RPM enables you to configure active probes to track and monitor traffic. Probes collect packets per destination and per application, including PING Internet Control Message Protocol (ICMP) packets, User Datagram Protocol and Transmission Control Protocol (UDP/TCP) packets with user-configured ports, user-configured Differentiated Services code point (DSCP) type-of-service (ToS) packets, and Hypertext Transfer Protocol (HTTP) packets. RPM provides Management Information Base (MIB) support with extensions for RFC 2925, Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations.

Starting in Junos OS Evolved Release 20.1R1, you can configure RPM probes. For Junos OS Evolved, RPM is configured at the [edit services monitoring rpm] hierarchy level. The scope of support is limited to:

  • Probe generation and reception (client) as well as reflection (server) for the following RPM probe types:

    • icmp-ping

    • icmp-timestamp

    • udp-ping

    • udp-timestamp

  • Probe history management

  • Reporting through syslog only

Starting in Junos OS Evolved 20.3R1, you can configure TWAMP probes. Starting in Junos OS Evolved 21.1R1, you can configure RFC 2544 benchmarking tests. For Junos OS Evolved, TWAMP is configured at the [edit services monitoring twamp] hierarchy level and RFC 2544 benchmarking tests are configured at the [edit services monitoring rfc2544] hierarchy level.

Starting in Junos OS Evolved Release 21.2R1, reporting through SNMP MIB objects is supported for RPM.

Starting in Junos OS Evolved Release 23.4R1, you can configure tcp-ping, http-get, and http-metadata-get probe types.

The remaining statements are explained separately. Search for a statement in CLI Explorer or click a linked statement in the Syntax section for details.

Required Privilege Level

system—To view this statement in the configuration.

system-control—To add this statement to the configuration.

Release Information

Statement introduced before Junos OS Release 7.4.

Statement introduced in Junos OS Evolved Release 20.1R1.

traps option introduced in Junos OS Evolved Release 21.2R1.

source-address option and the local-link sub-option of the target-address option for TWAMP Light test sessions introduced in Junos OS Release 21.4R1.

tcp sub-option for the probe-server option introduced in Junos OS Evolved Release 23.4R1.

tcp-ping, http-get, and http-metadata-get probe types introduced in Junos OS Evolved Release 23.4R1.

Change History Table

Feature support is determined by the platform and release you are using. Use Feature Explorer to determine if a feature is supported on your platform.

Release
Description
23.4R1 Evo
Starting in Junos OS Evolved Release 23.4R1 for the ACX7024, ACX7100, ACX7332, ACX7348, ACX7509, PTX10001-36MR, PTX10003, PTX10004, PTX10008, PTX10016, QFX5130-32CD, QFX5130-48C, QFX5130-48CM, QFX5220, and QFX5700, you can configure tcp-ping, http-get, and http-metadata-get probe types for RPM.
21.4R1
Starting in Junos OS Release 21.4R1, you can configure RPM and TWAMP probes for EX9200 switches.
21.4R1
Starting in Junos OS Release 21.4R1, for TWAMP Light test-sessions on MX and PTX routers, you can configure IPv6 link-local target addresses and their corresponding source addresses.
21.3R1
Starting in Junos OS 21.3R1, you can configure RPM and TWAMP probes for QFX10000 Series switches.
21.2R1 Evo
Starting in Junos OS Evolved Release 21.2R1, reporting through SNMP MIB objects is supported for RPM.
21.1R1 Evo
Starting in Junos OS Evolved 21.1R1, you can configure RFC 2544 benchmarking tests.
20.3R1 Evo
Starting in Junos OS Evolved 20.3R1, you can configure TWAMP probes.
20.1R1 Evo
Starting in Junos OS Evolved Release 20.1R1, you can configure RPM probes. For Junos OS Evolved, RPM is configured at the [edit services monitoring rpm] hierarchy level.
footer-navigation