<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lg-bmwg-benchmarking-methodology-for-rov-03" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="ROV Benchmarking">Benchmarking Methodology for Route Origin Validation (ROV)</title>
    <seriesInfo name="Internet-Draft" value="draft-lg-bmwg-benchmarking-methodology-for-rov-03"/>
    <author initials="L." surname="Liu" fullname="Libin Liu">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>liulb@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="21"/>
    <area>Operations and Management</area>
    <workgroup>BMWG</workgroup>
    <abstract>
      <?line 45?>

<t>This document defines a benchmarking methodology for routers that implement Route Origin Validation (ROV). The methodology focuses on device-level behavior, including processing of validated Route Origin Authorization (ROA) payload (VRP) updates, the interaction between ROV and BGP, resource utilization, and the scalability of ROV under varying operational conditions. The procedures described here follow the principles and constraints of the Benchmarking Methodology Working Group (BMWG) and are intended to produce repeatable and comparable results across implementations.</t>
    </abstract>
  </front>
  <middle>
    <?line 49?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Route Origin Validation (ROV), as specified in <xref target="RFC6811"/>, allows routers to use validated Route Origin Authorization (ROA) information, which is distributed via the RPKI-to-Router (RTR) protocol defined in <xref target="RFC8210"/>, to classify BGP routes as Valid, Invalid, or NotFound. Deployments of ROV continue to increase across networks, and router vendors have implemented ROV processing as part of their control-plane functions.</t>
      <t>While operational experience is growing, there is currently no standardized methodology for measuring the performance impact and behavioral characteristics of ROV on routing devices. As with other protocol features evaluated by the Benchmarking Methodology Working Group (BMWG), a consistent and repeatable test framework is essential for:</t>
      <ul spacing="normal">
        <li>
          <t>Comparing router implementations,</t>
        </li>
        <li>
          <t>Evaluating scalability under controlled conditions,</t>
        </li>
        <li>
          <t>Characterizing the control-plane costs of ROV processing, and</t>
        </li>
        <li>
          <t>Understanding how ROV influences BGP convergence and routing stability.</t>
        </li>
      </ul>
      <t>This document defines a benchmarking methodology for routers that implement ROV, which builds upon the foundational benchmarking principles defined in <xref target="RFC1242"/>, <xref target="RFC2285"/>, <xref target="RFC2544"/>, <xref target="RFC2889"/>, and <xref target="RFC3918"/>. The methodology focuses on the Device Under Test (DUT) and uses controlled, reproducible inputs to isolate the effects of ROV from external dependencies. In particular, the benchmarking framework assumes the presence of an RTR update source, which may be an RPKI Cache Server or an RTR traffic generator capable of delivering synthetic Validated ROA Payloads (VRPs).</t>
      <t>The objective of this document is to define a set of metrics and procedures to quantify:</t>
      <ul spacing="normal">
        <li>
          <t>The latency of ROV state updates within the DUT,</t>
        </li>
        <li>
          <t>The impact of ROV on BGP control-plane performance,</t>
        </li>
        <li>
          <t>The scalability of ROV processing under varying VRP and BGP table sizes, and</t>
        </li>
        <li>
          <t>The resource utilization associated with enabling ROV.</t>
        </li>
      </ul>
      <t>By providing a consistent framework, this document enables vendors, operators, and researchers to evaluate ROV functionality under controlled and repeatable conditions, improving understanding of implementation performance and supporting informed deployment decisions.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="scope-and-goals">
      <name>Scope and Goals</name>
      <t>This document specifies a laboratory-based benchmarking methodology for evaluating the performance of router implementations of ROV as defined in <xref target="RFC6811"/>. The scope of this benchmarking methodology includes:</t>
      <ul spacing="normal">
        <li>
          <t><strong>ROV processing performance</strong>: Measurement of the time and resources required for a router to process VRP updates received via the RTR protocol.</t>
        </li>
        <li>
          <t><strong>Impact on BGP control-plane performance</strong>: Quantification of how enabling ROV affects BGP convergence times and routing table stability.</t>
        </li>
        <li>
          <t><strong>Scalability under controlled conditions</strong>: Evaluation of the router's ability to handle large VRP sets, rapid VRP churn, and BGP updates influenced by ROV.</t>
        </li>
        <li>
          <t><strong>Resource utilization</strong>: Measurement of system CPU utilization, system memory consumption, and relevant control-plane process load associated with ROV processing.</t>
        </li>
      </ul>
      <t>The goals of this document are:</t>
      <ul spacing="normal">
        <li>
          <t>To define a repeatable, controlled methodology for benchmarking ROV-enabled routers.</t>
        </li>
        <li>
          <t>To provide standardized metrics that allow for comparison across implementations.</t>
        </li>
      </ul>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The terminology used in this document follows the conventions of <xref target="RFC1242"/>, <xref target="RFC2285"/>, and subsequent BMWG publications. The following terms are used with specific meanings in the context of ROV benchmarking.</t>
      <t>Route Origin Validation (ROV): A procedure defined in <xref target="RFC6811"/> that compares the origin AS of a BGP announcement with the set of authorized origins derived from validated ROA objects. ROV results in one of three states: Valid, Invalid, or NotFound.</t>
      <t>Validated ROA Payload (VRP): The processed output from a relying party containing prefix-origin pairs that routers use for ROV decisions. VRPs are transported via the RTR protocol.</t>
      <t>RPKI-to-Router Session: A protocol session between a router and an RPKI Cache Server. In benchmarking, RTR sessions may be emulated or generated using traffic/test tools to deliver synthetic VRP updates.</t>
      <t>ROV Update Processing Latency: The time from when a router receives new VRP data (via RTR) until the updated ROV state is reflected in the router's local Routing Information Base (RIB) or implemented in routing decisions.</t>
      <t>VRP-Triggered Revalidation Latency:
The time interval between completion of VRP installation and the moment all affected prefixes have updated validation states.</t>
      <t>BGP-Triggered ROV Validation Latency:
The time interval between receipt of a BGP UPDATE message and completion of the ROV validation procedure for that route.</t>
      <t>BGP Convergence Time: The time required for the router's control plane to process BGP updates and reach a stable routing state, while ROV validation is active.</t>
      <t>Resource Utilization: System CPU utilization, system memory consumption, and, when observable, per-process utilization of the ROV process and the BGP or routing process while the router performs ROV-related tasks, including processing of VRP updates and applying ROV policy.</t>
      <t>ROV Churn: A burst of VRP changes (e.g., many ROA additions or withdrawals) that may trigger significant revalidation and BGP recalculation, which is used in stress tests.</t>
      <t>ROV Scalability Limit: The maximum number of VRPs, RTR sessions, or ROV-triggered BGP changes that the router can process while maintaining normal operational performance.</t>
    </section>
    <section anchor="test-setup-and-laboratory-environment">
      <name>Test Setup and Laboratory Environment</name>
      <t>This section describes the required test topology, equipment, DUT configuration, RPKI data emulation, and traffic generation conditions. The goal of the test environment is to isolate the DUT and subject it to clearly defined RPKI-RTR and BGP tests, while providing accurate timing and state measurements.</t>
      <section anchor="test-topology">
        <name>Test Topology</name>
        <figure anchor="test-topo">
          <name>The test topology for ROV benchmarking.</name>
          <artwork><![CDATA[
+-------------------+    RTR    +----------------------+
|    RTR Emulator   |---------->|          DUT         |
|(RTR Update Source)|           |     (ROV Enabled)    |
+-------------------+           +----------------------+
                                 /\          /\
                                                          |           | Data-plane Traffic
                              BGP |  +-----------------+    
+---------------------+           |  |      Tester     |
|BGP Traffic Generator|-----------+  |(Data-plane Load)|
+---------------------+              +-----------------+
]]></artwork>
        </figure>
        <t>The test topology consists of four primary components: the DUT, an RPKI-RTR update source, a BGP traffic generator, and a tester for generating data-plane traffic load. The DUT is a router equipped with ROV capabilities, supporting the RPKI-RTR protocol and applying ROV policies to received BGP routes. The RPKI-RTR update source may be either a real RPKI cache implementation running in isolated mode or a dedicated emulator capable of producing arbitrary VRP sets and update patterns. This RTR source connects directly to the DUT using the RTR protocol and provides controlled VRP updates, including serial increments, cache resets, and bursty or delayed update sequences.</t>
        <t>The BGP traffic generator establishes one or more BGP peering sessions with the DUT and is responsible for delivering a full routing table together with controlled withdrawal or re-announcement events. Because IPv4 and IPv6 tables differ in scale and may exercise different implementation paths, the test setup must state the number of IPv4 routes and the number of IPv6 routes separately. A test <bcp14>MAY</bcp14> use a mixed baseline table (for example, 1,000,000 IPv4 routes and 250,000 IPv6 routes) or <bcp14>MAY</bcp14> benchmark each address family identifier (AFI) separately. In either case, the chosen route counts and AFIs under test must remain fixed across repeated runs for the same condition. The generator should be capable of presenting both stable baseline routing conditions and timed ROV-affected prefixes whose validation status will change in response to VRP updates.
A tester is connected to the DUT to introduce controlled data-plane load during benchmarking. When present, the tester should generate stable and deterministic traffic loads so that the impact of forwarding load on ROV processing can be evaluated. When data-plane load is applied, its rate, frame size, traffic pattern, and address-selection rules needs be documented in the test report.</t>
      </section>
      <section anchor="dut-configuration-requirements">
        <name>DUT Configuration Requirements</name>
        <t>The DUT must be configured with ROV enabled on all BGP sessions receiving test routes. The router needs to establish a stable and fully functional RPKI-RTR session with the RTR emulator. To ensure that performance results are attributable solely to ROV behavior, all non-essential features on the DUT, such as additional routing protocols, unnecessary telemetry mechanisms, and unused services, should be disabled. Logging related to ROV may remain enabled for debugging purposes but can be rate-limited to avoid skewing CPU measurements or affecting test repeatability. All system parameters relevant to routing performance, such as multipath behavior or maximum-prefix limits, is suggested to be documented prior to testing.</t>
      </section>
      <section anchor="rtr-data-source-emulation">
        <name>RTR Data Source Emulation</name>
        <t>The RTR emulator is used to generate synthetic VRP data sets with user-defined characteristics. This includes the ability to create arbitrary combinations of prefixes and ASNs, overlapping VRPs, conflicting VRPs, and other edge cases relevant to validation logic. The VRP datasets should mimic realistic global distributions where appropriate, but can also support scaling tests where VRP volumes are substantially higher than today's norm. The data source needs to be able to further support generating controlled bursts of VRP updates, ranging from 100 to 10,000 VRP changes per second, and can allow for both additive updates and withdrawals.</t>
      </section>
      <section anchor="bgp-traffic-generation-requirements">
        <name>BGP Traffic Generation Requirements</name>
        <t>The BGP traffic generator should be able to present the DUT with a stable baseline routing table prior to initiating any benchmark. This ensures that the DUT begins each test run in a known, converged state with predictable CPU and memory utilization. The generator can also provide a set of ROV-affected prefixes whose origin AS can be manipulated in concert with VRP updates from the RTR emulator. These prefixes should span a range of prefix lengths and originate from diverse ASes to reflect realistic routing conditions. The traffic generator can support deterministic convergence triggers, such as the precise injection of BGP updates following a VRP change or the simultaneous application of both BGP and VRP events.</t>
      </section>
      <section anchor="traffic-profile-parameters">
        <name>Traffic Profile Parameters</name>
        <t>When data-plane traffic is used, the following parameters should be specified:</t>
        <ul spacing="normal">
          <li>
            <t>Fixed frame size used for the measurement. For convergence measurements, a small fixed packet size <bcp14>SHOULD</bcp14> be used to improve time resolution. A 128-byte packet at Layer 3 is one practical choice. Other fixed sizes <bcp14>MAY</bcp14> be used when required by the traffic generator or encapsulation overhead, but the selected size needs to be documented.</t>
          </li>
          <li>
            <t>Traffic rate in packets per second (PPS). For convergence measurements, the traffic should use a constant rate so that packet arrival times map directly to time resolution. Burst traffic <bcp14>MAY</bcp14> be used in stress scenarios, but such tests must be reported separately from constant-rate convergence tests.</t>
          </li>
          <li>
            <t>Traffic pattern. For convergence measurements, constant-rate traffic is <bcp14>RECOMMENDED</bcp14>.</t>
          </li>
          <li>
            <t>Source and destination IP address selection rules. When the setup sends one stream per tested prefix, the destination address for that stream should be selected from within the tested prefix. The first usable address is one valid example. The selection rule needs to be documented and applied consistently across runs.</t>
          </li>
          <li>
            <t>Whether traffic matches ROV-affected prefixes.</t>
          </li>
        </ul>
        <t>Each frame size and PPS combination should be reported separately.</t>
      </section>
    </section>
    <section anchor="benchmarking-methodology">
      <name>Benchmarking Methodology</name>
      <t>This section describes the general methodology for benchmarking ROV behavior on a DUT. The goal is to ensure that all tests are repeatable, comparable across different environments, and representative of realistic deployment conditions. The methodology defines how to establish a controlled and stable test environment, how to specify and vary input conditions, and how to measure key performance metrics associated with ROV processing.</t>
      <section anchor="general-considerations">
        <name>General Considerations</name>
        <t>Before any measurements are taken, the DUT must reach a well-defined steady state in which the RPKI-RTR session is fully established, the VRP set has been completely synchronized, and the BGP control plane has converged. A warm-up period is recommended to eliminate any cold-start effects that could bias measurement results.</t>
        <t>All sources of measurement noise should be avoided. Features such as logging, real-time telemetry export, or periodic background tasks can interfere with timing-sensitive measurements; therefore, such features should be disabled or rate-limited during benchmarking. CPU clock scaling, thermal throttling, or other variable-performance modes should be minimized if the test setup allows it.</t>
      </section>
      <section anchor="test-control-and-input-conditions">
        <name>Test Control and Input Conditions</name>
        <t>Accurate benchmarking depends on precise control of the input conditions applied to the DUT. All tests should begin from a consistent baseline consisting of:</t>
        <ul spacing="normal">
          <li>
            <t>A predefined ROA and VRP population, including the total number of ROAs and the total number of resulting VRPs. When synthetic ROAs are used to generate VRPs, the relationship between ROA count and VRP count must be stated.</t>
          </li>
          <li>
            <t>A stable and realistic baseline BGP RIB-in with IPv4 and IPv6 route counts documented separately (for example, 1,000,000 IPv4 routes and 250,000 IPv6 routes in a mixed table, or equivalent AFI-specific baselines).</t>
          </li>
          <li>
            <t>A defined coverage level of the VRP dataset relative to the announced routing space. Coverage <bcp14>SHOULD</bcp14> be reported as the percentage of announced prefixes, or the percentage of announced address space, for which at least one matching VRP exists. The selected coverage definition neds to be stated and applied consistently across runs.</t>
          </li>
          <li>
            <t>Defined structural properties of the VRP dataset, including overlap characteristics. At minimum, the test should specify the fraction or probability that a VRP is covered by another VRP, for example where a more-specific VRP falls within the prefix range of a less-specific VRP. Tests <bcp14>MAY</bcp14> additionally report the distribution of covering depth, prefix lengths, and authorized origin AS diversity when those properties are relevant to the implementation under test.</t>
          </li>
        </ul>
        <t>From this baseline, input variables may be modified to stress different aspects of ROV behavior. These variables include the VRP churn rate, ranging from steady incremental updates to high-intensity bursts, the coverage level of the VRP dataset, the overlap probability among VRPs, and the type of RPKI-RTR updates provided to the DUT, such as incremental updates versus full-table refreshes. Each of these conditions may trigger different processing strategies within the DUT, and therefore needs to be explicitly controlled and documented.</t>
      </section>
      <section anchor="metrics-and-measurements">
        <name>Metrics and Measurements</name>
        <t>Benchmarking ROV behavior requires collecting quantitative performance metrics that reflect how the DUT processes validation information and incorporates it into the BGP decision process. Therefore, this document proposes key performance metrics including ROV update processing latency, ROV validation latency, BGP convergence time, VRP storage size, system CPU and memory utilization, per-process utilization where available, and ROV state rebuild time.</t>
        <t><strong>ROV update processing latency</strong> measures the time from receipt of an RTR update (incremental or full) until the DUT has fully updated its internal validation state. This metric captures the efficiency of ROV data structures and algorithms.</t>
        <t><strong>ROV validation latency</strong> measures the time interval between a router's receipt of a BGP UPDATE message that contains a new or changed route, and the completion of the ROV procedure for that route, producing a validation state of Valid, Invalid, or NotFound. This metric isolates the internal validation step, excluding the larger BGP convergence process, and provides insight into the responsiveness of the DUT's validation engine.</t>
        <t><strong>BGP convergence time</strong> with ROV enabled measures how long the DUT takes to converge on BGP prefixes whose validation states change due to VRP updates. This reflects the real operational behavior of ROV as it interacts with the control plane.</t>
        <t>The <strong>VRP storage size</strong> inside the DUT should also be recorded to evaluate the scalability of the implementation when operating with large VRP datasets. Alongside this, <strong>resource utilization</strong> <bcp14>SHOULD</bcp14> be monitored to identify performance limits or resource-intensive operations triggered by ROV. At minimum, the benchmark should collect system-level CPU utilization and system-level memory consumption. When the DUT exposes process-level counters, the benchmark should also collect utilization for the ROV process and for the BGP process or main routing process.</t>
        <t>A recovery-related measurement, <strong>ROV state rebuild time</strong> after RTR session reset, quantifies the time needed for the DUT to re-establish a complete and correct ROV validation state after an RTR session reset or cache outage. This metric reflects robustness and recovery behavior under fault or restart scenarios.</t>
        <t>Finally, the DUT should be evaluated under high-pressure scenarios by measuring its behavior when processing VRP bursts, such as surges of 100-10,000 VRPs per second. This measurement reveals whether the implementation can sustain abrupt workload increases without dropping updates, stalling, or entering unstable states.</t>
      </section>
    </section>
    <section anchor="benchmark-tests">
      <name>Benchmark Tests</name>
      <t>This section defines the individual benchmark tests used to evaluate the performance and behavior of a DUT implementing ROV. Each test focuses on a specific aspect of the ROV processing pipeline, including VRP ingestion, validation, interaction with BGP, scalability limits, and robustness under stress and failure conditions. All tests assume the laboratory setup and input conditions described previously.</t>
      <section anchor="test-rov-update">
        <name>ROV Update Processing Latency</name>
        <t><strong>Objective</strong>: Measure the latency from the arrival of an RTR PDU until the new VRP information is installed in the DUT's internal ROV tables.</t>
        <t>The <strong>test procedures</strong> for ROV update processing latency are listed below:</t>
        <ol spacing="normal" type="1"><li>
            <t>Prepare baseline state  </t>
            <ul spacing="normal">
              <li>
                <t>Establish RTR session between DUT and the RTR emulator.</t>
              </li>
              <li>
                <t>Preload DUT with a selected baseline VRP size (e.g., 100k VRPs).</t>
              </li>
              <li>
                <t>Ensure BGP is fully converged.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Inject controlled RTR update  </t>
            <ul spacing="normal">
              <li>
                <t>From the emulator, send a controlled incremental update. The test must state whether the update affects a single VRP or a batch of multiple VRPs.</t>
              </li>
              <li>
                <t>For each changed VRP, document whether the operation is an addition, withdrawal, or modification.</t>
              </li>
              <li>
                <t>Document the expected validation-state change triggered by the update, such as Valid-to-Invalid due to origin-AS mismatch, Valid-to-Invalid due to prefix-length violation, Invalid-to-Valid, Valid-to-NotFound, Invalid-to-NotFound, or NotFound-to-Valid.</t>
              </li>
              <li>
                <t>Alternatively, for full-refresh tests, send a full VRP set replacement PDU sequence and document the number and type of VRP changes contained in the replacement.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Timestamp PDU transmission  </t>
            <ul spacing="normal">
              <li>
                <t>Record the exact moment the first update PDU is sent.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Monitor DUT internal state  </t>
            <ul spacing="normal">
              <li>
                <t>Use device instrumentation (API, CLI, or telemetry) to detect the exact moment the VRP table reflects the update.</t>
              </li>
              <li>
                <t>Confirm the VRP entry has been added, removed, or modified as expected.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Calculate latency  </t>
            <ul spacing="normal">
              <li>
                <t>The latency is the time difference between the moment the RTR PDU is sent and the moment the VRP is applied on the DUT. For batch updates, the report should distinguish first-VRP installation latency, last-VRP installation latency, and aggregate batch processing time when the DUT exposes sufficient instrumentation.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Repeat for multiple VRP table sizes  </t>
            <ul spacing="normal">
              <li>
                <t>E.g., 50k, 100k, 500k, and 1M VRPs.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Repeat no less than 10 independent runs per condition  </t>
            <ul spacing="normal">
              <li>
                <t>Compute mean and standard deviation.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="test-rov-validation">
        <name>ROV Validation Latency</name>
        <t><strong>Objective</strong>: Measure how long the DUT takes to apply updated VRPs to the validation states of affected BGP prefixes.</t>
        <t>The <strong>test procedures</strong> for ROV validation latency are listed below:</t>
        <ol spacing="normal" type="1"><li>
            <t>Establish baseline  </t>
            <ul spacing="normal">
              <li>
                <t>Load the baseline BGP table with IPv4 and IPv6 route counts stated explicitly (for example, 1,000,000 IPv4 routes and 250,000 IPv6 routes, or an AFI-specific baseline).</t>
              </li>
              <li>
                <t>Ensure all prefixes have a known baseline validation state.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Select a controlled prefix set  </t>
            <ul spacing="normal">
              <li>
                <t>Pick a set of prefixes (e.g., 1,000) whose origin AS is tied to specific VRPs.</t>
              </li>
              <li>
                <t>Control and report the distribution of affected prefixes across the validation structure. At minimum, include one scenario in which affected prefixes are localized to the same region of the validation structure (for example, sharing a common covering prefix, trie branch, or address block) and one scenario in which affected prefixes are distributed across different regions.</t>
              </li>
              <li>
                <t>The locality rule, address-family mix, prefix-length distribution, and number of affected prefixes per region needs to be documented.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Trigger validation update  </t>
            <ul spacing="normal">
              <li>
                <t>Modify VRPs so that these prefixes change validation state (Valid-&gt;Invalid or Invalid-&gt;Valid).</t>
              </li>
              <li>
                <t>The test must document whether each validation change is caused by an origin-AS mismatch, a prefix-length violation, loss of covering VRP, addition of a covering VRP, or another explicitly stated condition.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Timestamp VRP installation completion  </t>
            <ul spacing="normal">
              <li>
                <t>As measured in <xref target="test-rov-update"/>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Monitor DUT validation table  </t>
            <ul spacing="normal">
              <li>
                <t>Continuously query validation state for selected prefixes.</t>
              </li>
              <li>
                <t>Note the timestamp when all prefixes reflect the updated state.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Compute latency  </t>
            <ul spacing="normal">
              <li>
                <t>The validation latency is the time difference between the moment the VRP installation is completed and the moment all affected validation states have been updated.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Repeat with varying set sizes  </t>
            <ul spacing="normal">
              <li>
                <t>E.g., 10 prefixes, 100 prefixes, 1,000 prefixes.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="bgp-convergence-with-rov-enabled">
        <name>BGP Convergence with ROV Enabled</name>
        <t><strong>Objective</strong>: Measure BGP convergence time for routes impacted by ROV state changes, and compare ROV-triggered convergence with BGP-only convergence.</t>
        <t>This test includes two cases. The first case measures convergence caused by VRP changes delivered through RTR, where the intent is to trigger ROV revalidation and then observe the resulting BGP behavior. The second case measures the propagation and convergence time of the same BGP routing event with ROV enabled and with ROV disabled.</t>
        <section anchor="case-a-vrp-triggered-bgp-convergence">
          <name>Case A: VRP-triggered BGP convergence</name>
          <t>The <strong>test procedures</strong> for VRP-triggered BGP convergence are listed below:</t>
          <ol spacing="normal" type="1"><li>
              <t>Prepare baseline  </t>
              <ul spacing="normal">
                <li>
                  <t>Establish full-table BGP adjacency.</t>
                </li>
                <li>
                  <t>Enable ROV on the DUT.</t>
                </li>
                <li>
                  <t>Ensure stable initial convergence.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Select test prefixes  </t>
              <ul spacing="normal">
                <li>
                  <t>Choose prefixes that will transition validation state once VRP updates are applied, such as Valid-to-Invalid or Invalid-to-Valid.</t>
                </li>
                <li>
                  <t>Document the cause of the validation change, such as origin-AS mismatch or prefix-length violation.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Trigger VRP state change  </t>
              <ul spacing="normal">
                <li>
                  <t>Send VRP modifications via RTR. The purpose of this step is to trigger convergence through VRP changes delivered by RTR and then observe the BGP control-plane behavior that follows from the changed validation state.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Monitor BGP behavior  </t>
              <ul spacing="normal">
                <li>
                  <t>Observe best-path selection changes.</t>
                </li>
                <li>
                  <t>Timestamp withdrawal, replacement, or re-installation of affected prefixes.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Measure convergence  </t>
              <ul spacing="normal">
                <li>
                  <t>End-to-end convergence timer: This timer should start when the RTR emulator sends the first relevant VRP update and should end when both the BGP RIB and Forwarding Information Base (FIB) reach stable state. This metric captures RTR delivery, VRP installation, ROV revalidation, and the resulting BGP convergence.</t>
                </li>
                <li>
                  <t>Post-installation BGP convergence timer: This timer should start when the DUT completes installation of the relevant VRP update and should end when both the BGP RIB and FIB reach stable state. This metric isolates BGP convergence after VRP installation.</t>
                </li>
                <li>
                  <t>If only one timer is reported, the report needs to state which timer definition is used.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Record:  </t>
              <ul spacing="normal">
                <li>
                  <t>Time to withdraw or replace routes that become Invalid.</t>
                </li>
                <li>
                  <t>Time to install or select routes that become Valid.</t>
                </li>
                <li>
                  <t>Time until new best paths stabilize.</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="case-b-bgp-triggered-convergence-with-and-without-rov">
          <name>Case B: BGP-triggered convergence with and without ROV</name>
          <t>The <strong>test procedures</strong> for comparing BGP-triggered convergence are listed below:</t>
          <ol spacing="normal" type="1"><li>
              <t>Prepare baseline conditions  </t>
              <ul spacing="normal">
                <li>
                  <t>Prepare two otherwise identical baseline conditions: one with ROV enabled and one with ROV disabled.</t>
                </li>
                <li>
                  <t>Ensure that the baseline BGP table, VRP dataset, DUT configuration, data-plane traffic conditions, and measurement instrumentation are identical unless explicitly varied by the test.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Inject the BGP event  </t>
              <ul spacing="normal">
                <li>
                  <t>Apply the same BGP event in both conditions.</t>
                </li>
                <li>
                  <t>Example events include announcing a new route, withdrawing a route, changing an origin AS, or changing BGP attributes that affect best-path selection.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Control affected prefixes and distribution  </t>
              <ul spacing="normal">
                <li>
                  <t>Ensure that the route count, affected prefix set, prefix-length distribution, AFI mix, and structural distribution of affected prefixes are identical between the ROV-enabled and ROV-disabled runs.</t>
                </li>
                <li>
                  <t>If data-plane traffic is used, the traffic rate, frame size, destination-prefix mapping, and address-selection rules must also remain identical.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Measure convergence time  </t>
              <ul spacing="normal">
                <li>
                  <t>Measure the time from BGP event injection to the point at which both the BGP RIB and FIB reach stable state.</t>
                </li>
                <li>
                  <t>The timer start and timer end conditions must be identical for the ROV-enabled and ROV-disabled runs.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Record and compare results  </t>
              <ul spacing="normal">
                <li>
                  <t>Record the absolute convergence time for both runs.</t>
                </li>
                <li>
                  <t>Report the relative difference introduced by enabling ROV, including minimum, average, maximum, and at least P95 values across repeated runs.</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="vrp-scalability-tests">
        <name>VRP Scalability Tests</name>
        <t><strong>Objective</strong>: Evaluate DUT performance with varying VRP table sizes.</t>
        <t>The <strong>test procedures</strong> for VRP scalability tests are listed below:</t>
        <ol spacing="normal" type="1"><li>
            <t>Generate VRP datasets at sizes:  </t>
            <ul spacing="normal">
              <li>
                <t>E.g., 50k, 100k, 500k, 1M.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Load each dataset into the RTR emulator.</t>
          </li>
          <li>
            <t>For each dataset, measure:  </t>
            <ul spacing="normal">
              <li>
                <t>Full-table synchronization time.</t>
              </li>
              <li>
                <t>VRP update processing latency (from <xref target="test-rov-update"/>).</t>
              </li>
              <li>
                <t>ROV validation latency (from <xref target="test-rov-validation"/>).</t>
              </li>
              <li>
                <t>System memory consumption.</t>
              </li>
              <li>
                <t>System CPU utilization during sync and steady state.</t>
              </li>
              <li>
                <t>Per-process utilization for the ROV process and the BGP or routing process, when available.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Record failures  </t>
            <ul spacing="normal">
              <li>
                <t>Session drops</t>
              </li>
              <li>
                <t>Timeouts</t>
              </li>
              <li>
                <t>Missing VRPs</t>
              </li>
              <li>
                <t>ROV process crashes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Repeat 10 times per size for statistical stability.</t>
          </li>
        </ol>
      </section>
      <section anchor="vrp-churn-and-stress-tests">
        <name>VRP Churn and Stress Tests</name>
        <t><strong>Objective</strong>: Stress-test the DUT under rapid VRP changes to measure stability, performance, and correctness.</t>
        <t>The <strong>test procedures</strong> for VRP churn and stress tests are listed below:</t>
        <ol spacing="normal" type="1"><li>
            <t>Baseline setup  </t>
            <ul spacing="normal">
              <li>
                <t>Load a stable VRP table (e.g., 500k).</t>
              </li>
              <li>
                <t>Establish the baseline BGP table with IPv4 and IPv6 route counts stated explicitly.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Generate controlled churn patterns  </t>
            <ul spacing="normal">
              <li>
                <t>Rapid add or remove spikes: 100-10,000 VRPs per second.</t>
              </li>
              <li>
                <t>Sustained churn: continuous modifications for 5-10 minutes.</t>
              </li>
              <li>
                <t>Mixed churn: adds, removes, and changes simultaneously.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Measure DUT behavior  </t>
            <ul spacing="normal">
              <li>
                <t>VRP update backlog or queueing.</t>
              </li>
              <li>
                <t>ROV validation delays.</t>
              </li>
              <li>
                <t>System CPU spikes and, when available, spikes in the ROV process and the BGP or routing process.</t>
              </li>
              <li>
                <t>BGP convergence degradation.</t>
              </li>
              <li>
                <t>Missed or dropped VRP updates.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Check correctness  </t>
            <ul spacing="normal">
              <li>
                <t>Verify that no stale or inconsistent ROV states remain.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Record crash, stall, or throttling events.</t>
          </li>
        </ol>
      </section>
      <section anchor="resource-utilization">
        <name>Resource Utilization</name>
        <t><strong>Objective</strong>: Measure resource consumption under various ROV workloads.</t>
        <t>The <strong>test procedures</strong> for RTR session behavior tests are listed below:</t>
        <ol spacing="normal" type="1"><li>
            <t>Establish monitoring tools  </t>
            <ul spacing="normal">
              <li>
                <t>System CPU sampling (100-500 ms interval).</t>
              </li>
              <li>
                <t>System memory usage tracking.</t>
              </li>
              <li>
                <t>Per-process sampling for the ROV process and the BGP or routing process, when available.</t>
              </li>
              <li>
                <t>Hardware counters if available.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Measure under conditions  </t>
            <ul spacing="normal">
              <li>
                <t>Idle ROV.</t>
              </li>
              <li>
                <t>Full VRP sync.</t>
              </li>
              <li>
                <t>VRP churn.</t>
              </li>
              <li>
                <t>BGP convergence triggered by ROV events.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Record  </t>
            <ul spacing="normal">
              <li>
                <t>System CPU load curves.</t>
              </li>
              <li>
                <t>Peak and steady-state system memory consumption.</t>
              </li>
              <li>
                <t>Process-level load curves for the ROV process and the BGP or routing process, when available.</t>
              </li>
              <li>
                <t>Any evidence of saturation (e.g., 100% CPU, memory exhaustion).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Identify thresholds  </t>
            <ul spacing="normal">
              <li>
                <t>Points where performance degrades or ROV processing becomes unstable.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="rtr-session-behavior-tests">
        <name>RTR Session Behavior Tests</name>
        <t><strong>Objective</strong>: Evaluate robustness and recovery of DUT under RTR failure and failover scenarios, including both RTR session recovery and the subsequent BGP recalculation caused by restored or changed ROV state.</t>
        <t>The <strong>test procedures</strong> for RTR session behavior tests are listed below:</t>
        <ol spacing="normal" type="1"><li>
            <t>Session reset test  </t>
            <ul spacing="normal">
              <li>
                <t>Establish normal RTR session.</t>
              </li>
              <li>
                <t>Trigger forced session reset from emulator.</t>
              </li>
              <li>
                <t>Measure time to reestablish RTR session, ROV state rebuild time, and time until validation state becomes consistent again.</t>
              </li>
              <li>
                <t>After validation state consistency is restored, measure any resulting BGP recalculation and convergence using the post-installation BGP convergence timer defined in the BGP convergence test.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Cache failover test  </t>
            <ul spacing="normal">
              <li>
                <t>Configure DUT with two RTR servers (primary + secondary).</t>
              </li>
              <li>
                <t>Terminate primary RTR connection.</t>
              </li>
              <li>
                <t>Measure failover time and data consistency after switch.</t>
              </li>
              <li>
                <t>Measure the time until affected BGP routes reach stable RIB and FIB state after the restored or failover VRP state is applied.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Full resynchronization timing  </t>
            <ul spacing="normal">
              <li>
                <t>From emulator, force a full Reset Query sequence.</t>
              </li>
              <li>
                <t>Measure full VRP reload time.</t>
              </li>
              <li>
                <t>Measure subsequent ROV-triggered BGP convergence when the resynchronized VRP set changes validation states for installed BGP routes.</t>
              </li>
              <li>
                <t>Compare across different VRP scales.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Incremental update performance  </t>
            <ul spacing="normal">
              <li>
                <t>Send controlled incremental PDUs.</t>
              </li>
              <li>
                <t>Measure processing latency and correctness.</t>
              </li>
              <li>
                <t>Introduce occasional malformed or unexpected PDUs to test robustness.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="reporting-requirements">
      <name>Reporting Requirements</name>
      <t>An ROV benchmarking report must provide enough details to allow reproducibility and meaningful comparison across different DUTs. Each report needs to include the following elements:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Test environment description</strong>: The report must specify the DUT hardware and software versions, the testbed topology, and all ROV-related configuration parameters required to replicate the setup.</t>
        </li>
        <li>
          <t><strong>Input conditions</strong>: The report must document the ROA count, VRP count, VRP coverage relative to the announced routing space, VRP overlap characteristics, the RIB-in size with IPv4 and IPv6 counts stated separately, the presence and rate of VRP churn, and whether RTR updates were incremental or full.</t>
        </li>
        <li>
          <t><strong>Metrics and results</strong>: Each measured metric must include its definition, a brief description of the measurement procedure, and results presented in tabular numerical form (including minimum, average, maximum, and at least P95 values). Graphs <bcp14>MAY</bcp14> be included for clarification.</t>
        </li>
        <li>
          <t><strong>Deviations and anomalies</strong>: Any deviation from the expected behavior must be described, including the conditions under which it occurred and whether the test was repeated.</t>
        </li>
        <li>
          <t><strong>Summary of observations</strong>: The report must include a concise summary of overall DUT performance, scalability limits observed, and any significant effects of enabling ROV on BGP behavior.</t>
        </li>
      </ul>
      <t>In addition, the report is suggested to include, at minimum, the following parameters:</t>
      <ul spacing="normal">
        <li>
          <t>DUT hardware model, CPU architecture, memory size, and software version.</t>
        </li>
        <li>
          <t>Complete DUT configuration relevant to ROV and BGP.</t>
        </li>
        <li>
          <t>Testbed topology description.</t>
        </li>
        <li>
          <t>Total number of ROAs and total number of resulting VRPs.</t>
        </li>
        <li>
          <t>VRP table size.</t>
        </li>
        <li>
          <t>VRP coverage relative to the announced routing space, including the definition used for coverage.</t>
        </li>
        <li>
          <t>VRP overlap characteristics, including the probability or fraction that a VRP is covered by another VRP.</t>
        </li>
        <li>
          <t>VRP churn rate.</t>
        </li>
        <li>
          <t>For VRP update tests, whether each update affects a single VRP or multiple VRPs, and the operation type for each update.</t>
        </li>
        <li>
          <t>For validation-change tests, the validation-change type, such as origin-AS mismatch, prefix-length violation, or loss/addition of a covering VRP.</t>
        </li>
        <li>
          <t>For locality-sensitive tests, whether affected prefixes map to the same or different regions of the validation structure, and the locality rule used.</t>
        </li>
        <li>
          <t>RIB-in size, with IPv4 and IPv6 route counts stated separately.</t>
        </li>
        <li>
          <t>AFIs under test (IPv4, IPv6, or mixed).</t>
        </li>
        <li>
          <t>Number of RTR sessions.</t>
        </li>
        <li>
          <t>RTR timer configuration.</t>
        </li>
        <li>
          <t>Presence and parameters of data-plane traffic (if used), including fixed frame size, PPS rate, traffic pattern, and address-selection rule.</t>
        </li>
        <li>
          <t>ROV policy mode (e.g., reject Invalid).</t>
        </li>
        <li>
          <t>System CPU sampling interval and any process-level sampling interval.</t>
        </li>
        <li>
          <t>Measurement repetition count.</t>
        </li>
        <li>
          <t>For BGP convergence tests, whether the reported timer is end-to-end from VRP update transmission, post-installation BGP convergence, or BGP-triggered convergence with ROV enabled/disabled.</t>
        </li>
      </ul>
      <t>For each metric, the report must provide:</t>
      <ul spacing="normal">
        <li>
          <t>Metric definition.</t>
        </li>
        <li>
          <t>Measurement method.</t>
        </li>
        <li>
          <t>Minimum, average, maximum, and at least P95 values.</t>
        </li>
        <li>
          <t>Number of samples collected.</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document defines a benchmarking methodology for evaluating ROV on routing devices. As such, it does not introduce new protocols, modify existing security mechanisms, or create new vulnerabilities within the RPKI system or BGP itself. All benchmarking activities are intended to take place in isolated laboratory environments. Nevertheless, a number of security considerations apply to the execution and interpretation of the tests described in this document.</t>
      <t>Benchmarking ROV necessarily involves the generation, manipulation, and replay of RPKI objects. These test artifacts <bcp14>MUST NOT</bcp14> be injected into production RPKI repositories, production RPKI caches, or live BGP routing systems. Test-generated RPKI data sets <bcp14>SHOULD</bcp14> be clearly separated from real-world trust anchors, and laboratory RPKI caches <bcp14>SHOULD</bcp14> use isolated test Trust Anchors to prevent accidental propagation.</t>
      <t>Similarly, BGP routing information used in the tests including simulated full tables, invalid prefixes, or artificially crafted origin-AS combinations, <bcp14>MUST NOT</bcp14> leak into production routing domains. All BGP sessions used for testing <bcp14>MUST</bcp14> be confined to a closed environment without external connectivity.</t>
      <t>Tests involving stress conditions, such as high churn rates or large-scale VRP updates, may cause elevated CPU or memory consumption on the DUT. Operators performing such tests <bcp14>SHOULD</bcp14> ensure that the DUT is not simultaneously connected to any production network to avoid unintended service degradation.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC6811">
        <front>
          <title>BGP Prefix Origin Validation</title>
          <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
          <author fullname="J. Scudder" initials="J." surname="Scudder"/>
          <author fullname="D. Ward" initials="D." surname="Ward"/>
          <author fullname="R. Bush" initials="R." surname="Bush"/>
          <author fullname="R. Austein" initials="R." surname="Austein"/>
          <date month="January" year="2013"/>
          <abstract>
            <t>To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes. More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so. This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6811"/>
        <seriesInfo name="DOI" value="10.17487/RFC6811"/>
      </reference>
      <reference anchor="RFC8210">
        <front>
          <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 1</title>
          <author fullname="R. Bush" initials="R." surname="Bush"/>
          <author fullname="R. Austein" initials="R." surname="Austein"/>
          <date month="September" year="2017"/>
          <abstract>
            <t>In order to verifiably validate the origin Autonomous Systems and Autonomous System Paths of BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC 6480) prefix origin data and router keys from a trusted cache. This document describes a protocol to deliver them.</t>
            <t>This document describes version 1 of the RPKI-Router protocol. RFC 6810 describes version 0. This document updates RFC 6810.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8210"/>
        <seriesInfo name="DOI" value="10.17487/RFC8210"/>
      </reference>
      <reference anchor="RFC1242">
        <front>
          <title>Benchmarking Terminology for Network Interconnection Devices</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="July" year="1991"/>
          <abstract>
            <t>This memo discusses and defines a number of terms that are used in describing performance benchmarking tests and the results of such tests. This memo provides information for the Internet community. It does not specify an Internet standard.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="1242"/>
        <seriesInfo name="DOI" value="10.17487/RFC1242"/>
      </reference>
      <reference anchor="RFC2285">
        <front>
          <title>Benchmarking Terminology for LAN Switching Devices</title>
          <author fullname="R. Mandeville" initials="R." surname="Mandeville"/>
          <date month="February" year="1998"/>
          <abstract>
            <t>This document is intended to provide terminology for the benchmarking of local area network (LAN) switching devices. It extends the terminology already defined for benchmarking network interconnect devices in RFCs 1242 and 1944 to switching devices. This memo provides information for the Internet community. It does not specify an Internet standard of any kind.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2285"/>
        <seriesInfo name="DOI" value="10.17487/RFC2285"/>
      </reference>
      <reference anchor="RFC2544">
        <front>
          <title>Benchmarking Methodology for Network Interconnect Devices</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <author fullname="J. McQuaid" initials="J." surname="McQuaid"/>
          <date month="March" year="1999"/>
          <abstract>
            <t>This document is a republication of RFC 1944 correcting the values for the IP addresses which were assigned to be used as the default addresses for networking test equipment. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2544"/>
        <seriesInfo name="DOI" value="10.17487/RFC2544"/>
      </reference>
      <reference anchor="RFC2889">
        <front>
          <title>Benchmarking Methodology for LAN Switching Devices</title>
          <author fullname="R. Mandeville" initials="R." surname="Mandeville"/>
          <author fullname="J. Perser" initials="J." surname="Perser"/>
          <date month="August" year="2000"/>
          <abstract>
            <t>This document is intended to provide methodology for the benchmarking of local area network (LAN) switching devices. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2889"/>
        <seriesInfo name="DOI" value="10.17487/RFC2889"/>
      </reference>
      <reference anchor="RFC3918">
        <front>
          <title>Methodology for IP Multicast Benchmarking</title>
          <author fullname="D. Stopp" initials="D." surname="Stopp"/>
          <author fullname="B. Hickman" initials="B." surname="Hickman"/>
          <date month="October" year="2004"/>
          <abstract>
            <t>The purpose of this document is to describe methodology specific to the benchmarking of multicast IP forwarding devices. It builds upon the tenets set forth in RFC 2544, RFC 2432 and other IETF Benchmarking Methodology Working Group (BMWG) efforts. This document seeks to extend these efforts to the multicast paradigm.</t>
            <t>The BMWG produces two major classes of documents: Benchmarking Terminology documents and Benchmarking Methodology documents. The Terminology documents present the benchmarks and other related terms. The Methodology documents define the procedures required to collect the benchmarks cited in the corresponding Terminology documents. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3918"/>
        <seriesInfo name="DOI" value="10.17487/RFC3918"/>
      </reference>
    </references>
    <?line 632?>

<section numbered="false" anchor="ack">
      <name>Acknowledgements</name>
      <t>Many thanks to Giuseppe Fioccola, Christian Giese, and Maria Matejka for their review, comments, and suggestions.</t>
    </section>
    <section numbered="false" anchor="changes">
      <name>Appendix A. Summary of Changes</name>
      <t>This appendix summarizes the major changes introduced in previous revisions of this document.</t>
      <section numbered="false" anchor="appendix-a3-changes-from-02-to-03">
        <name>Appendix A.3. Changes from -02 to -03</name>
        <t>Version -03 adds this appendix to summarize the major changes introduced across document revisions and improve revision traceability. 
No technical changes to the benchmarking methodology or benchmark procedures are introduced in this revision.</t>
      </section>
      <section numbered="false" anchor="appendix-a2-changes-from-01-to-02">
        <name>Appendix A.2. Changes from -01 to -02</name>
        <t>The major changes from version -01 to version -02 are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Expanded the controlled input conditions to distinguish ROA and VRP populations and to characterize VRP coverage relative to the announced routing space and overlap properties within the VRP dataset.</t>
          </li>
          <li>
            <t>Refined the ROV update processing latency test to distinguish single-VRP and batch updates, document addition, withdrawal, and modification operations and the expected validation-state transitions, and report first-VRP installation latency, last-VRP installation latency, and aggregate batch processing time when observable.</t>
          </li>
          <li>
            <t>Refined the ROV validation latency test by introducing the structural distribution of affected prefixes as a controlled variable. The methodology now distinguishes localized and distributed prefix sets and requires the locality rule, AFI mix, prefix-length distribution, and cause of each validation-state change to be documented.</t>
          </li>
          <li>
            <t>Reworked the BGP convergence benchmark into two cases: VRP-triggered BGP convergence and BGP-triggered convergence with and without ROV. The revision also introduced separate end-to-end and post-VRP-installation convergence timers and more explicit controls for comparing ROV-enabled and ROV-disabled runs.</t>
          </li>
          <li>
            <t>Extended RTR session recovery, cache failover, and full resynchronization tests to include the subsequent BGP recalculation and convergence caused by restored or changed ROV state.</t>
          </li>
          <li>
            <t>Expanded the reporting requirements to cover the newly introduced VRP dataset characteristics, update types, validation-change causes, locality conditions, and convergence timer definitions, and refined the use of normative requirement language throughout the methodology.</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="appendix-a3-changes-from-00-to-01">
        <name>Appendix A.3. Changes from -00 to -01</name>
        <t>The major changes from version -00 to version -01 are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Refined the test topology and baseline BGP input conditions to distinguish IPv4 and IPv6 route counts and to support mixed or AFI-specific benchmarking under fixed and repeatable conditions.</t>
          </li>
          <li>
            <t>Refined the data-plane traffic profile for convergence measurements by specifying a fixed frame size, PPS-based constant-rate traffic, separate treatment of burst traffic, and deterministic source and destination address selection rules.</t>
          </li>
          <li>
            <t>Clarified resource utilization metrics and measurement procedures by distinguishing system-level CPU and memory consumption from per-process utilization of the ROV process and the BGP or routing process, when such counters are available.</t>
          </li>
          <li>
            <t>Updated the scalability, churn, resource utilization, and reporting procedures to consistently document AFIs under test, data-plane traffic parameters, and system-level and process-level resource measurements.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71963IbybHmfzxFrxQbJmUAFjWXM+aeM+dQ1MWMFSVapMbh
vcRGo1EAetTohvtCCjOjfZZ9ln2yzWtVVneDlGzHKsJjEkRXV2VlZX55rdls
NmnatFz+r7SoSneatHXnJvmupp+a9tnTp398+mySpe1pkperKnmcnG9c9nHS
dItt3jR5Vbb7HTx38fLm1SStXXqavNu5Om3hL00CAyeXaZmu3daV7eRufZo8
v/zL68lkWWVluoXnlnW6amfFerbY3sF/XJlttmn9MS/Xs61rN9WyKqr1fraq
6lld3c6efjOZtHlbwJPPzXeTy/DdBL6bvK+61iXv6nydl8lPaZEvaUbJ0ft3
Px1P0sWidrenCfwSDTMp0hKm6MrJJO1gwPp0MoNlN6fJJEl4vm/yBYz4Ju/g
k6qGL/+3TVWu111aZh18ni4qWHtV7+HPWd7ucZr5zzg0/F51ZVvDR+ebvEzh
A7dN8+I0KfKuWPzHL+usSBdzt+zmGby//963aZm8djQOvfZPXXrn8uTGZZsS
l5275iteuYaRyrT8jw2NMs+q7WRSVvUWiHTrTuF771+dPzs5+aP8+MPJv3wr
P37/w8mJfvrs5Kn8ePLs22f62LMfvtMfv/tWH3v2ww862Dd/PPkBfpwgO/k3
TubzOSx6NkvSRdPWadZOJjebvEmAUTrknWTpVnnpgKUSyyTJtrfxNW583STt
Jm2TfLsriPPu54d5crNxvZGyroGXwTeW7jbP3Kxwt66AV2/S27yqp7A7WdEt
cQa7usocnAT4sVoltzy2W8avPCN2yn/xbz07TnbpvqjSZXL00/ur46Tb4WPN
FGbuYHRYBBABv7xw7Z1zJTErnqfnr6+mSe2aqqszl3RtXsiwU/ozPt5kKfAS
/KHd45zwya5cuhpmV+9ponpE0wJ4pFzmdFyZDrSeZQdvgLU3WZ0vYDEbVzug
SlFUd/SGXQ0EyIG6fMZhDNw1mHaDL8RvHDyef6n4s9ewVbvkCOXBMQ0C0oMW
DjOFZVQ4kWUHS6zdzqVtuiicvGu7S2v6FebYFfDKNKurpgnbzdJHGGqbL5eF
m0weJxdwFnBI/Otkci9LAC2bpNm5LF/lMBv4xq+/Cvd//gx/REI0gdmqBNjl
a/beMz9u290mzzYJMnsOVMwXHQ5xm6dEx/dX//Vi1lYzGrKGx2/eHyNp2iqr
CjkVYYJ4JnGCMCMQJ8CVqz0yDM+0wUXRSqdAi1v+Ac7M26p9BYJiOU9euF1R
7ZGEjTIObG2bl53DIWHPQcLDSoXgJbAm7GbDnMfUSG5hAysgCpwUF7YEiQKj
mcMCc4F9bIVf8preVFfFbAdSGJitKzPdxr9scthty7TuE/ySA4s5pNu6ru5g
SDo7NX2SdXUNby32SVklpODSepn/ArPoC4wtLKircULE166mjaGBgc+ylpam
5x6PyybFkwlvb9o882SCncX14zgsMeA0nTXJXd5ukgqnFfZsBdxMx8vBFnTE
L4v9158ZIDqdO5gHSjjagXBSYLfbZFWD7sAdQpIA2eF7OSxhhYpt8iQ5p5OE
48rW9Q7QFL/0kieJ37JiheWJbFnhlkaM0GPnnky/KG3j/c2qJjBZYAtiJRzg
A76Adg6f34DcwS/CuSk63PaG2BqGvHX1mvhAWZBm2so85/9kNfLuJz2uiy4v
lg2Ibdh5XN0KT5CyZzS2kZX944p6E48r/YKaM/wCujP8AtqTxA4skT5AHfr5
8716C+f0gjiRSQlQATji6MWHG5a29L2wf6hSWODmyD55uetaEmx5UxXAozSe
W61cFnZtVVdbOIlAKFzzEpgPXgRLRd6/KOl051lXpDUrtYgogTVBSsHWNKJW
XEObCW8AwAOyTvRiwupOib9N9zAcfQXEY3KeZvDwtauBGVCgyaOgkVarPEO0
4wiVJVm6o9MBwy9dAciDuL/Zl/BymKuqARJWZ8kVK+iGNHRzTLwEzy5+BiLA
syy5LHPlRDHeZOCwxpF0gw2qUVIg1Y1yhW/+DWBjCyKaTiOOjZQuM6+0gY1h
6YIMSJbksrEfbqb6jIipIIfkYJizZqSaf2wEIxjhHMMFWL5Cj4TFSwOytPFn
FccbQyS4t1WWE0FJEroSnsYR4XVAzud7fOdtTkc8kmaePaY9EtMIQAzRMlPR
CvQji8DGpTWwA6tlFbHMr6JS0nEJ1pOgRqAhjXGeShgvloBwscyMFAgO2HS7
XVWTUGKdDy9aei0LP2Z5I1ru8ePkvftbl9eOFfAbMEY6MJ2Y7T66fQIEAW58
dPnh+ubRlP8/efuOfn7/8s8fLt6/fIE/X//p7M0b/8NEvnH9p3cf3rwIP4Un
z99dXr58+4Ifhk+T6KPJo8uzvz5i6j56d3Vz8e7t2ZtHCXGi3RmEb0DxhaBX
OMq47WkzCSgSnnl+fvV//8/JtyDG/pPYGJ8/yy9oZcAvdxsnULYqQX/zr8D0
+0m6g82pcRTAX3iW8zYtGoZqoCBKQqlAyCf/HSnzP0+Tf11ku5Nvf5QPcMHR
h0qz6EOi2fCTwcNMxJGPRl7jqRl93qN0PN+zv0a/K93Nh//67wWKmdnJD//+
4wTh7XUGZ4EI97oCuvQ1n6JZ1H2Ft1NnC8Bzy/uVoQsQoI+R4ACMYweVKelQ
6TGInosUwjmrID04C7a2XEOC8smTnrAyE3ry5BSAEyI6VthijLT51ql4ICkF
2J2P2pJWmOoq2OzAgUnoqeitXeZA4htUDupFAd08SXhaFyKJHxDBOMc/s+TP
M5YaME1EOFY8Jqko2z7OwbU0EdoRkewxj87n+svwGs5HUR7PBVfIBPkdvElG
ANJs4K0FaimYCtEHNBycvxpO4pJ+zzZdLYcXp63k86iNkC7Kfp3i+xGtMbKH
zR7UwjY5v/oQG7zy+dZtgZVJf3TbXbCFawdmOxC6vxeyw2R991VUzFs0UWTU
NR6pocYHoXfKa7kxij9okaklef9cRewO752xclNLCnUCjcs60g3sGEIVhFDJ
HqUx2ToG0FYetopBVty4epuT42jP62vDBwgNl0P5ztZ/o1D+Fo0JOeiHsSyr
wEUDhw3HQMMl2XXA5FlqXA48NLEyTKMhVUKToB0RwZWhqVbCl5pEUBCSFuCn
ihpLzvkD9v1pchaw2AEJxaRlggo+rcSivyaASjyeliUg/4xZleZLHhiGfqmY
/jA2P4rSsCZJQuD5NsKbjCyBJrga9W3A66pSRGTtHGPC5vReO34yGQWy7Gk6
DV6eBmkMZAKsz/NB1i0I8iF4pxPVpnnJVgwQ6dNMKLBLc7WO1FRCDwi5XmHy
AdagWOANBTReNoiFDolR2LLY13HtyMEse8XGc8Ofea+Yl9zkQRqxB8gUsawx
pbfKOI2aEm7bFUQvWIHYCw6NJGJKtiP+QDZ1W1WFwHwyIKz1EDQGLgbo8IGN
l6ugq94wwudNILVEhEeUE9Yi6gYdLHc0KoySJkdINXL/dHD0CiIgv25prIUc
tdWqAEbSQ2xkeVGBSiDvFM7lIjihkufo1jl6f/H8GClg3Ta59WwEtArTmt0A
M6wdKtH37jacMF3jxK+REOEtGca8bXiqCqf6BpcIZwPQXCF2gzgytxVLWYB7
rA7dUhjRiYNJCWBezycEzYvX0RSBRD991SRpG3ZtOOsfrl6c3bwEOdQ0gMu9
NzIshHga3mNmE6QMHo5wYnh+ybnR7Dc5evr9fCKEEm2j6JSE1ZnBLFbpsgKE
k4CWKEME4x5p2ZYuBvPN0Z2K5i2ysGrnD0HpnibXf5cynjKPV6ALgMikGgET
zXTm1mo0hNQ/K0PgAsU9Y3zvspJAI4VbDalVkGnEI23aoK/ykOveAj6SJrsd
y0KaSAU6ay/H+hxhDoqlRQe2oD6bATxaw7NHbr6eT0GwlHuSvulSgBbOHDXE
sk7vAE0cMzegAGqZS8GsXpeECoHpa3ukFFEBS6YF+lR6nmNV2U1bIz1QUqkM
sijwTb7NW2axbfop33bbpOy2C/Sa0BqaWDiSVkEKtv4UERqVhdL0DdFh2r0d
2WJIQBQIxZeKyItrQLHCEiDntWu7Ha04hNOSl+VtXlclhRHZsGkcx0fUvGQN
7Q+NCOsdQZppgh/v8OkpOk+QO1f5uquFjqQ1SMiyHgjRlNiFhO/rx0sQGXo7
A1/qwlTFI2R9aPh2QUWo7ZO8ZWc9WLZg7SoSIU2IW+HdLrijemSN0yTLcBEk
Meh3HJn0wDYgaHEuEHFvhCKTyf/2/ya/nw3//T6BfzgD+Df2d/zK5Df90ksi
G3BLkvwWvvAj/Z3/4br132+T3zCOoerxmoTMsflywj8jVIOdJ1B8zA8enKr8
OzjV5KF/f/gf9ueHv3/wX7yOF8BVYnfcMDM9MDTu9m9jC6FljhIgJsFvfgq4
467mDye/4cAyBQwls9vst3iQ347MfN8AZjweJ3n8xmR0upbDfj1NHiMLz/BE
JhTB/7dHN3pi9Jh6/BhB+Uef1USxXxVnIdkfK2AgdLPDE3vSyICYge1Pva9U
keFsxKPMqn3gK+bzn9JbgYargAsJCQUq6ZOIsFkiIKujGlW5SLJnZw1M8kOj
SM7Ri2p8hD7iZ5HxAW2UsxPZ+yZCnI+nMb5gD3hzikoh4kdIiAIwI9jcc2jW
XVmy91LFGNie1dKRnx3k1RJNOfjMqQQwPnYJKKBcqhc5EAq2R90GHITgme3S
FoMING8gHKkgnizscklekCUI9QzjebBiFaOCznt2hPrZ0WS2EQ6r3y0IADyC
QTGKbZK0nAoh0JXciluZFP0e1wywP907P3W2bCncx1w6ykyJIwSWNxsKzhDx
ACXxt3dOwhBqkngrUnUFYXqwnYDjkbIrnoaGL9Jk1QFAjr1BbbV2tME0mKFC
ACAEpNwsMmDdLemL5DngDDToLq5uv6UpwA/f89C4F4DFyQ+LQQTGwchV7pOr
wUBw8gXSfz3veNpuJMWBTnNDqn7b4Y+tasiASOjtGroWBBj99Xv9a+MwJ6AF
43UOsIzGvjz7K9mkabIFcwG2ECwc8pgygY7Is/kpxQlOk5Pp06dP8X+Ddz77
zn+ubyMTCYf3YiphnL1cEvpapdscOBX4j3x8GLU/e3VxHE0SjFI5gRnMi0mS
barGsbXlOHWHpwAPN+LAo5URvWpM5SmTFa1NXD3sd0IHUgdspGZDk25NNENA
i+fMZlN1BTqA44PrKFgM7LSo0AXDNPMkVF4LWIj3J9+yoTUbWmt3uLi+mdYh
sxeFIEoyNZnPyaqJ7OkzlcR5o1KB00T0oFB+Qis5I4bhjagmJ8iSo/2Rikn+
graJrDrwp/PkUZeAUgJXu3TsNKNEgEgNAD9WAR2HAB3syB367+D1NJWq7Mfd
EEKjcNbMAJlZfw2oXUAf5Bi3zYFLarLnKGhGobmpn46IVtFmzKAz2EUBz3VX
kJvBLdH77p19wXVADAd8BfqJUSSS+tyi5yhoxTIQv0NMunAeaVv1p37OiiM5
KAS98GN1xr7Apo0UmqhTni0G91SoBgsXV4nScG+CfUERqvPIC1j8UBXXHF2t
rkTQzHtn4xw+0wj+CBSlJB32uleFY63EuEXzw3BdZVXOTNaFpn1UIYYLqh/l
RuNtxLSwti3pM5CXHbI7Oh1Af4L4cOj73QPCx2OTN1vRUV1JViDa15h/MjVH
e5k3RPE5YLr1mjI+1CbmiaP4Fomim8NaZtHx93ddvaswZQAWrlyKXDcr0KTk
gdLbKof3f3TkykX/gDVCCDCQWAibK35yCVucAc3EiYCCcuvIr+id+Ih1lDYm
oO1pCPvY5qhh/DaQmmU7d8aCKKHpov6HMwpLw0O+lLClYX7AkhUFg3Ca7E7G
6CxwC8JjMVjE6KFkspseM3mbHMYIsiPyFJK5SUiI2BG+Xc/U/OslGQku0igY
sY8Jy2BSFgwfMBZA4EVehkCcF8KkTa7fomEP4KEAGSLh/YYCFStAlW34hGKw
pKPccu1IUcXbYaQ5pqBmfEx1cbQ24cEtkD0jqMnScl1UC8wZ0YQ3xj2UvQWT
qivYABJpym1pARJVcDKhDuUhfQpfelsVlEmChxSDDm1KJw+O5yZf4zLgWMPZ
q5bp/ncN+SN4wrwTvKdeuGB6CQMpECU1UUHfb+wAo2cIIjY9RxIGx8o1J7xU
2+QEgAQMeMKQwjqNdji+Q33KdOdFa1SHlDDLiFsXOamMP4mZdMTKGxfS40A1
yAxdvWhFr2eJW9ODkIA/9gcI1CPsQcu+iX3QusLSLG+NKwnfsHAUKSFMxXKi
Kynqn3wsq7ty6sOh6uugKcE8wRbh16PsIVTKvkjjXOzDH89cGmTzaTv3wZgQ
BxJRCKIo30kEIScfUeZqiQdZvyJxwYjmAbvAhZfIJjS7lIIChI38MU4KV64B
RvPxpIkgDWjkJdoEMNLZtdqGFAkwB2+I3JgiY7lSpef4GOpE0Wj2DDZBDEse
FxkCefmzAA2YvnVOh4hfao5Boog1R1kOaKfqBOiEODkdBQ68sUknJgu7uGQV
V3W1QkfZlVcjmEQaAyldsUjqqWTx6byMBgpnwmcEn2KG/ivC3gF1scRX2G10
3zx5RaHZQDarGNEF0WwRMDCYB7T4EViQRpSUkoXz2oRTkXyIAPBHx3x9lpw8
+2G22JM9TSPAkXoDtmqdfIOLrCjyjb79jNJYKwAJ8+QdSTZ+MSV1iWEj8dcN
hUHEpSpZqkNWQUuqBPOhEX1I2mXj0iULcA6ISkiKlmWlbFC7GGyf+T0klUmh
RlyMlZDJ0dXV9fFDRLVTlR1kc5CS1cnDzl4RQXtCs7rOMQbEWRbbdBd7HvpE
f04BAH2NJV1wxjcZQCqQhw1Tg84Jqy7FyIyvCbuphcjnWac6o6lG5448/BHB
BOo/RJd4THMKTC7SHMcVlMOmDsIg3tuLK2/o9uwIMVYk/g2GPeiNJTMekiLd
0h62jLlYmPE22eG9Ea3RMnnUHEJlJY6chqzIaGTJLMhxf7qGjQMZWg4DoRd1
AUg6UrSgA2zq3XE5p9FIziLsmZrhXSlbA/Sg86VU3qZthi6gUd1CuSYvUekZ
kYLvAm63kM6QYoRxUBAeTCS/N3TC57l4ME3FwGtUT6CxTSCEAx7WjELBxuyO
uCxOjfGVHEK54DgyQRSf2SlIJNXk26DVTEZlX7HZ1WjyN+Za9ezHXh5oY7Lo
zVSm+igrgj19F7NkOWE6yhnFP8m35QBSDqe1Kn1m8P05SKTaXsvunCPDLbXC
bjJ57lboSERwFVlblHKRfpTkyWCSa0j4zhWFtzeAgdPlXjMISokrRs5otZ1h
g9nADi5N0Z3i2U02KfoSQpAfpRmYPtkGiIipMKFOyaTJSSwbn/XoDnXaXVpv
ZyBKsNyjEk8ojLv1VUIOLTpCQEgCsJeXM5gYYBZNVpcsHjoxOZqJJrVMzHqg
MNmekhpIOdvhS2WFUMYAYzRzcXav1KJX6FOwcT0lzpyRsgjmuvuEZ5VCqrwY
4NsFKJ11jTk7HJwm0EV5CHgMxE9Bkb0ZcH7D8N9u83/hkhdkAUFg3s0wtP7J
4Wtt9lFXGGLnrKiyj2pncVkNxm5b2MK25c/w+JNsA/bPcfhZxNnVMpoCYsct
5UHlJlLKWkKKqfLWhCnPhSvI9UxH69wfLdgsjXpGookLEMi/ovhTmUvCs/1D
6qV4cCOyF4LllZ8+Yn3JjzI56t70kc84jYBSVM/IGtFYLuYACFjdVTsfXw4h
CCJI1QKFg3cbngpO7/4fmW/VUhe9G9wL/Gzthi4INuw5UM7zaDb5ztQYnrHj
2U+Yf1OgQgJiOeclGpdbkMSeKHi23188n+XibosjCZGP26hWA4D+AQc9G4vs
9hddU3EYDnQ+bt3Zq4uZTyvUKVOFBy7Me2EQxmKiDxd/ChMZ94YQ8dYpA2ks
xVQiAa4EcHGuQwVA73W32kwOhA9ot7VUv+hICg+mah0d+qJHZfjKKaluluMg
/wqQGS2hHoIgWtThPuUEI28sQvfLJjrQSQEk5IEQ88CXgSCk5wuvY+ouA9GE
eR81ZoFg8HOEqPZgiJdq6A87a1mkdFsbTVKzmXUz2XNaRVtRAd7Ce80ImXDi
WcMrZgMnLVmqwV+YhMKB6pyisF3gHRxgBQIsqs4RO93b7SmQH73u5qE5iTk2
toLvt9gLVzAqNs4xHIZmKYKu3Ux77gDx8PcTTtFHwV4BXPYd4/OKnA1+DxiX
BbdeO4wCh+gT7OkrdmJgwr4cnamIVtUFPq0S9ABX0CJmYnMoYLwUKRLKyRRW
qjskDCaOT88plGYuQY/IvyY4xsdygdfU44Dp6/l6M6MKYyIGO+wk9PbQUeev
KT9aVkq3VeQxJXbcc1VDLwTfqJfJapzgORmbNu5cx5BrJkl8bgV03KC9QMYC
z7WxBUtRTlmgt4kzYbV267BrQL+sTNfAoCIygQDBYNoBHvIeXDY2POnwS1Py
ZlL5Ca4eMibEzYCnsSgkSsAFcoL4x5Az51OKl2sjxemIdTW/uYlyG03CK8XV
y6yqd5hihkzWIvKqPDDVZFcdithSoVacGo9niYIjhwB+kGhUiy9ZD2E7pO5v
2k/G9J+PFYFMGXG3FTEuh/1MocS4//Nw1qUIuNs0L1hl4gAhr7h2VPFKb0a5
/uTelTx5ojC1CQU4dERtUm1U4Xlk2R/4AVnepjrjrqJ5wNaH5v3mlCIvJaj9
JGBxMvMuYHy79RNyaI/nttiSowCipDQFtFiDGG0328Yvebg7o2sdJBOnIX33
obxisVgocxLTiDALHF065COV6pAga8YzkA+lHU9tUs6AYBS9uK9BgKWnpAM1
Aq3H9sDtpiA1LMyl2qF6wM/CQdM4eQeWDyLbnEvNgrkFPNt48ACc8bvonDtU
CcylYwcHNmwQivY7iEKkqGS2lFcARjRJQB1GC7zuT21AQcZO7WU3yGZgOorc
0sTVXnJs8LL4SjoWUdQZxGQJRRa0FCk/edKXDbDonDwHfmEClyj6QXgUhKEa
1Vo2S768uFJ4BB1wZvdOg2I0s1AkprFANK2AsDKHHDb7yZOxqmGYaUDJoFxz
WIX4vjmjJpaxHNHlZCYeTHX8rekZ0SQhh1lr0PogMqTzCGlEE4lUlR4wvbx3
dhfZLwwT4I1jFAmPnoCGwQAyvTxGxhBFUkbnQtukE7Lv13hDP11eP2dW5c8p
Hm4KOlS1gUlN+w/8vffp8sbPMJWiy6EqgM1KV5iVYX1ElDk31fL23MpFxBMm
SCKJOwCpY2ccO46kwqJGB3xfNfJU+N2iSKLXk8SkPD5YKxyCWHb5owdADmzb
UommRAinj5HvKgV7W3iMvEveqY94OCfsPu2fLJvII+MQBEU/JvkD/SDIkqER
CbKzf/8dZyZ5BYsnSpGrAkd4bs221MnTp7MQXbZBE79+6/26dVjVeKde6uHJ
5iBgg5ooSRd1B1oLq/I5CUm6wbAoAionS8BBlFHgo99U06P+IgSINRfRN75m
lUt1jMuaLaOBp5o9t6xqwKDJl53tsyEeG/V3RPKrX5JvBWvKybq6aG1NwMia
e6iElhppKEVk02WkUoVOVb7zVpHqPi5xwnwTAmGBkadRsycSndThyUpdTVrh
ol/PsMxSYlbRkQfshnxlfeDBncWNNkQL+8KKxldbDLxjoXAfOBYo1jUcXnic
3FvblvzKqd7Yr40Z4TNq4nfaN8PU98pk+DEfG9cYXICIVy8+GCSoVXEWzlN6
DHFbyF1jXOCRCU6aM1i9kqQdDj05QJhpBvpBZEvWMjq7qGq+qO5OJ5OTOZAB
PVcmH4LlUzKhbP9Z8tKLNyupFBxqou8wM8APAC+gU2dTMNRj419KSh/DRlKD
BOLgY8LNS8xUODiDesE7843PPfH1CZNnmKdKVSrG3jOQ3Q/5SrdOJz6l2F8c
Vxmat5J64HNaJZvDiCN5kdbCw5phKwpeKCWgL9CdRR57yv7iPzVmtRgMpZCH
wmfy7HjTzb7MgwXKryy9Y2ZqsmymnLq99LX75lUvdFCixKcdb0446jNen8DC
CI+EtQapTkAcy2EFiiuQZMfO7Owa0EtD7rzpwe9K1S77iBI4w+p8lu/hIwL4
/RCK9qMvhQ+NPeCfVq4RQpwVdOTwsKNaXIk1NxPXhRYzCYtQ9roGj+AYFakk
o+Op1/z6yM1gE8Hp2Ii7xSZUif1kimDDyLRn38yp4BL2ZLujV1GBsjS1DJv6
nmCxbCnm8UpNahuiyyIIYQjSWDL+t/PkksEr6xgVQz3B8AHz5blPEwqwugvK
9+js6mKanL+5YNevRpKOufq4xXM5Oi0kg/cVBQtDz1y0VZTKW2/9cw77RYYQ
HhwB7g21BVi0NMzPfmtlclrwd/PkXIoTg1D367wxkj43gFDdU5nz0pCyZ8Jy
VAEIcfvFwTrzkBNtMmw5GYKFRNRhUfysgtSWHL7pUD7Tps4GJcneFVOk9/6Z
3Abrde3WFKCiNxstQmu+G7MGmk5cEm2fEYi638+BFTF2zl3rjLSzLZmMlCcF
8N3Tj6wF8Ef8L07v5DIIyX/xw5YVuak5SfLkKcIs6ejVcj3BjhuIsEwML8Iu
ch0XHJYaO6c2FcTWYQECG4Yl2BYvBGF5GDMcttCpRsq7hggAi+NgaJwjuNAM
DGvN+44f96GDoRNoCAtwHAAGQfF7Le1JhwV2bO3ZqBlv50NBMwnDGJ/sPxAw
m0rXtNG42HFPZAh+wLyOuBZf8jPDaob+OFg6gIprAi4xOpBoBuqAgHny7GNI
yPQvU3CDqzgeZGSicNGIg4m4WExgo8v3BFyG2Z8S2xpwlDgNY5eCRi0o/0ks
vZBcMTI4chA2aKDwjTAuFe+AMDHuvbE39za/2aS19lTbbqloWWJHPu2qzoHt
QOMhesDNl+DhAiP/x9J+68vnbTuXDnJ5ePp2A0gZ0FLBusFUq6mvTZHiqS1O
MkYvdntYkIWA+HBWO+qjsebg5aFsQwIBEicxZO3D20tUeXsWKKayx6bsCqgb
OCiOGFb9qLgMSK2o6kf603GPLAENDzAqwVjzBq2awrQRsnwpfjmKD9PDSLCo
2JPqWYQAsmJfNpLjv5GskMKAIH5EIJlCMwZBAWQNlKZxXXsanHkfhfTj6duS
nxVsWHRlqMLiMzrredmR8ZoAlgR0M9gkPDvemLKKwEg9wLzOoxZeDzdtsWJQ
I1EBbi2N5Pt+7pXlKDwa0Spfh5QGBKbYNvvSlvc2VRnqR5LohAFlIXMxCg1k
IB2lTSIbyVkeYBDAEiGHASsgzG+kiCLVKyUMti+Kd9ZLK4CDyGDM2R/auTZS
iec9wIm1x8S9Iu2eel0vsv5ssLUMtSc0f9Fes3SCQ63OXcWVMzYhFT8IIQc7
ejjJ1piRal9UCxtYy5q8CFMJ2Wn4xbeb0Mgvt5HqdRFpQxcWpzEVySVC8kVB
eM23jqfLKQ7VLl2HUQdUF11F6ksL0/EdlK0/DL9oKQtH4rRaDbnhMRgVWNFw
igTpNyIJb70fs9376EHoNvDpjHhzTGCeihKWP4ONCSc38rfQn6U7qzdMxjCV
uEW5aKaImCuGTrJMETtB2G2qymol0lRUYUvGLUv0YdAPiRB1v+EyLK4vPeiO
MKrM+gHGnCFcTD7EL8zf4R1D1cWJO6Oqq6/AOeJlPCx+LtdOstms46ZJpJ+W
tL3nAkff4g+Dl73zFDG5nMPxU4ryRZq3DM7bsDekd0jTdmmfPe8OVcfVKJo2
XgZ7fJGxZPHv5N0L1KNUHhmy3GXmPWYMGtv6vYz/ZCqtAyJdM4bCvKoWAW0p
aM4HMZAbESP1KUct6Gef30UBGG9DR2WXXHEQfDM+rSmwN9uoPBS+kwaiqiLd
nfcXz+lLr0K59rBV2itslcbJ1DaYcSDlACcp7LGfDvT0dCCqQ3g/Fs99iSB2
UgVbG23GmCb8EmJybyRGDE3S31/JG/0HKAr//xDNfFrBQExTrK9PO0OGixW3
DEbDhRdJQXZOs4zcPt4iUI8zpbvTIybpUSrDgvsFPYGnBrNRgnflTwmfCjol
ijjoRC8wY92psBw5bFwoSWtKPBQdG2LM2UoDcHAEAyML0gzYZ0M7wv7irCJ9
fkrg5R5so7oYI3rAl/dr1szfIXB41C+MmGQmw9vHPOgriKHI3rijokLKAsAi
tpFHT2n3R/FF9IeAMYZa2BejDt0y0zgncKSV2EiFYb8qxMZg+z5fugTFL7Ar
ySVnrCxMijSleJyQGeI0euAIZnmTitxiERxjGJbLMTXxwogckvrKFZbenyEZ
x+xfQJaTxCI9BvwH+ZA0DFf/Bh/N1KczqVzTngrK76xJxnTWnHS+9+AMvRHl
MvIUTA7srXGmTfvDJLS593kfzl5dsIuCHZ4+s/kLXEjRBltDznYAlty7mS/d
4HRqszkg7B4qZm1NJWXcHcQU3GljhC03A7i/UQj5JSgTRZpF+JXMGYqM6HkU
q96RYsK+ISXQMqTWC4v7a1flJRWyyqUbX6FUIhm5UY3A+k6b1dSJoA6fOCuF
DmGHTHrNQ7uDSEfCRdaUlCKjkYBSuqBK0iG9QtH/YN/fB3+lrz4wngHfAodk
hG0obrMRvI8y5bTnqbbJkO3XgoGrP36HsLMLrs+oxRAnA6BEtE0mObN9YKS/
1JwMSs81ORmRF6EXz3jQG0+g37w8VBqOWXSvTR1M6FGRiuPCqPYD0ZOTS698
n83ZfU+Mp/UgPlFxEMT/Zh4i0V59iCI49bHqYEyGgjnxamHabaz4DQAbSVM4
oqM14j7ru/MPxDMGz5vQzGCM60OtX8e/10+hkzo0XLMI1FCO2Bvh6kD28qEs
OBUWw6ax0pDWJzyzBJPTKZk0xrSWZtSU49QMEViF1+VEn17mPmGrGVJc55jV
Kebyi+wgr9rJU6k+p+QtzOYg/yQChIZlUtzqX44gNaWlNV9zRpDkUfWOIf9x
xs0UBfFzIpFt4y8NXkPpqn/lNG6+YzL0Ss4kfOi0Zn6etlntwSP73CfUUKJS
HDvzbUiC2JDgEJ7XQeDKe23+WTE3Kw28bLGXLNBatb2hSSogUoOWZZMBg+tJ
s8s/ogy6L4UvcCPn5OkrTpPMu7l7Tg4k+3cwIMp8bqUVwhpUICcDwGQaDfSr
L1TYwLbj4DWjOFNdzh1bvNthKJywyLWo1rjUv3Wuc3KtwmERRC0W+04JIzqY
UqaptClakL/l5VdKg97b+rbn0q3rdJmOiDQ85lxaS9mPLuoz6b8LkoXuTbVn
xRDL1VywxmF4NASpFwrWp/hyU++wbgR8+cED7CBpIlmXUi+oFbu+taOE4kda
ex/0q/ssbSPZwxVRmBhIs9PM0C+IoUc5cOr9ulcOhMMrKeGUTUHN+MOpMDyC
pgt+5QjPE0iDZNv4ooz71VfHRRg1sK3eADLUPX78f4LiCW/4U1ov79La+WRw
LJeOv/gsnDx/p4ui1+AJWbLD2ebB+Swr0LLz+KCSCHjgBPTT5y0/feMZcGwr
KG0x6+rbSPhcufSjUfaSG3ewh3yUCWnT5s3o/6S9MEQ4KwFDYy2K3HXUYG29
JGf5DMv/jKuc6pzdp03aUZbvsTpoL7RsAW/waDYV3htofHd0ayqHciwsZpHj
GunBbjEee4Man0cd2tMpSnmuh2ocBHgsfij9HdYagAEOrKnFmmZc0dUXobNN
sC3IbInT8WVQ3Qp7IUy/p70JgGGqPVV+mNonLwQfSuH9egFz7Wz1AA07Eu+R
LvZm/L47ToIFMIuMCtrtqHxjorELrCJR21gcgrULJRHmddMDNXlTb9SKM3AQ
5lGusZeGrkWPKL+Ti3XwpH+CI9K6Md6AodYbsaM63tR+iDB0bt59mevaXtFj
gihROyQVj3z7i2fSeCe1danpZYfeRSYw3hfTJEfaSfz3grvg577G4PuT2PTi
L+MI0pd2BCQIncKk9EIyqjq09GUvdwMzyzYWq/U9J7zJUQqbOIwjX4h1ktiS
GQkt+APmZxaiaCGh0q8GrVjqNe1G7FPc0jgjPGSD02nQXN/3dBb+TLkYmt97
iGCqtST7Xc3g3teMRBm5rsI6uDXQYVcgmA0npZB3mA+xIjymFQa213ovn5ad
PoMkKHVUiBJEtTDIh7fyP4pdHsiiv3rxof9+pchY4ULPVIsfvPC9k6ssSxuu
QQRRJ3dWUiWUz2nHF2t7VKNDGFyKi4rcTvY+y8nkrBx099eIDDnetAejKym2
unRg4/BlS9wKM1xRK6X37EzH/vTAKMnw7rNAfjjtWjDfjwHZ7gKh/5/jiiC9
cvCmf7MHF8fsuGDxVK5ADUuxTSi4clmQHUGeatXSL9SXgeIC6s1fUOqf3lrC
NchFdItNFG+IG+Xq1ScVhaGoMT8rXDSdwzWFvTqfselHmfa+K8w0tITRH6Vt
whc2QuGnDnT1YCJIzxjye4zY47ElHtrFTCUtRe4PJjCjBc3xxYSaTWfbMtzR
teHD+nNPM9vQQPy5hKOQn3y6mgQwiYDKVFjLF0KKmIi3qHO3suyjkVUbFvKA
Zmpfqb1YRQ+mC7xcGbMggYTiq95SHf3f7eYFPfe6Tncb3wZS1sEVmxm8LhS+
MGVeaJK3VMyXFQiN3BF5ED77JPCQ0ODFiEdm6nb3FWf97kjGyGFMKjcftSit
8K73ZbS3epqSuzS4rMO9mN2WVDbQXa6jOngOfMyLWrpSHzDzMFIVTmfPoT1W
u6cZINL8DPGSvevJXKwd3QEqcCgkZU0mF7YuyYS0+w2tZeZT3OWoynmsxSm1
M43EFDbwKqbcSKLONjlWmxA7ipnDcaQxYcadD8+1hHcQIo1azVBhe0n6VJpZ
9mSgPSjyjYONsh5okoUPx+GF8NnXC7KYP03WgG8Cq2OGtxwUfPFgtrsMCiIt
Dv2SpkVmSb5JDn/2SvyvAjX8hVImt/iBaruoxC5kqISyOarDWlXRaOHlphBO
S+Ccb8Az8kcY7L7MsH6A1qQ0w8swq/kPh5OYw6w0Dd002OuRZhjDxbawNj+/
qofZ7vdl6wfaRUnwPttkZrXg9Evd0vZ6ERqkf2/IEY4xpQG4kgv9v8f8wrfh
PJkL4GQy8AlbYdFBpiaxV1bjGjBSjYanj/IVLfLYsvyq10Z5Sg1POWj9FddY
cH7yZGau6+OLisRTUzvKkJAsHFn2mMfQt25RSR33aRh8j0e6jArrd67NJcW9
43pA5rYxu9WwWpDnbhlSmFxIkCMdak+xqVmcPmxM07Y/kP5j0mb+EO6NAM3j
45eMcyLtY+E7KRMGTEYuDqnEnVnl869GKn22pW0J3aNkzo/BfgJ8gCes3zg1
vh1dGwykX3wVuujncDcq3boxxwIGFFp4MQsMj7erVK25mQYTZszVHlsuLaFG
fJxFL9O1t3ugMuE7HvDp267ASJPeH2YbeNE1XuJDFW4D8OGKFfcBiJZGt3zm
vgEcZZBrZ7L0o0s4j81e+2W6Btj2vPPkLRwMvCKh4BY+Rgf75WQR9aVST2So
+wTf8n4iOlYgatso7ZB9d6EjQf966vlIazG9NIUuYypvq+I26nTMusJ37vdZ
l5TCt9f2beFW5huq+CFJmoJ5u6IuPJcfrm+St+9uGCv/rNfu8p2ssOG0BhoH
T0pDgQuMr/X/Sq1KeKsxSzTKmecNbbhn4CzcThxuraQ0htA0R2+TVI2w1NZb
aTG7q2r0GNaUyQMEq2pR5WZ3zYx0VMzf9oxANLihIc54CKk1pySeNMsofUYa
PUqZAGzQNUDhAic2jZZn2ziEq8d1y81Fbbne0UxeIW7lgIqE09GjPpm0QXnG
t39kNfq8lgZD2AtSpmEPC4xJ9DfPH/AKg27SUSO6sii0/efbYnhAvfuo5DOV
YlNd/KJ1ImiapfskxeHqQbzF4D7IKCEB8q607aOkAZNQqAAJO8sYzEdhA+rB
NONL2qJLSbA/IOfkExZH4qAKREwwiLxERQvvdtzyv1GDh2YVOtoLt7hesp3c
iIiSMA4m64KFRqxslfKlazGkGK4W6kovpeSWoygwi+L+4uzt2QOiHovbyyph
UM2OPXwKHp/NZhStxoHOMixmLfDmG3Zf/foY/vIZb7Jk8eaW//ZolRaNw/sp
L3HqWDn9kY7C6xxouwMw/CoH+xRODVhSG0L7aQl/dI1AwEtscQn/bd3PH1MN
X+WYEnCbuzvqkG46oIt9x3maOMUd1mfnn5KzeWJs2nPxYf76WLyZhyZNZEl1
EDZsqYCLvBHpzz7u0ti0srz07WBonk1Au7E8fhzNEJM2ZTASRrOnz5BSs6ff
HJjdT2xO4jcoOYHH99PF5G2d8f0TVl+g7n+YNKkbuU9DP6XAr/P5NZO36OXM
NqXcmuETYyiF5BBUsF3zTXBKFa0hZcuN4PjdA6I9GxDthIn27OCW9glBz916
WtLz4ddnXOujF7Kwt/Plp13KUGDjYtdzr0EQ9qEwnRPGG12rcW6s3l/c32V0
cxZ3aMGq/WsNADJ5fYj/niTvJW6kYeHDCXNyvWy0IrZ/qdsDdY6K+0h4jhpv
FEPeaZOLY5vRqf13uEtMKNgK9x8g0v7/1Z4iXNQ+TsiRlEGi4GLvOVz9GV+X
H93EfQG0C/DwNgcQz3azXGOq56Ms8CivW3240mx2YISb3O6Hys99VVuvMLvX
52ek7hzJiarNRfcgeDssyA5OKNUS0gdqINWT9hXFHXKxoso+Su02AkoBpDVB
ydCvmMlmvXLuXtS2kTNQh97BurVNr3rk4fRqItvLT6L/xxIM9OJejWXyLq0O
BCwJr/TCP/dmJvSD2F+aqSATNzK19gGy2gbIqMforbgBwNIr9nYvbN/5gQNR
3QH7HQqmoTON5tpMA6v3a1IORNxjARQkgDB+ycCd1KdfCMgDOJHcyJaKJCu5
A8ocXk1DuxcgPGVddzKu6x5UdU9jVXcypuqsVIvvF2d5b1JEH9J+9zjoRAHq
bWp8MQFMPG63YsGEdJ3ky31Z+Mu1OVFzv75gHnG57eQqtNU9l0IhD0vAkot3
Rl1yMyQHN/sf3B81DaICr2tqiQ/wtjZ7PxazUXyXXDN+ydTBG6ZwxecchnLL
kJhoU8G3JlY3GlOj9ZqtCza2afFq2mdbY4h47FAL7WE7yC9LPyMDyqf8pbYN
N6/4g/SSIBkVgktTjWuO0cGiBv9KXj43Mw5XNngg0/MYj1azBSevWCWWctK+
2bhL/dQsw9Hx/39fzKwifKAAAA==

-->

</rfc>
