get_rpc_test - openconfig/featureprofiles GitHub Wiki

TE-5.1: gRIBI Get RPC

Summary

Validate gRIBI Get RPC.

Procedure

  • Connect ATE port-1 to DUT port-1 and ATE port-2 to DUT port-2.

  • Connect gRIBI client to DUT referred to as gRIBI-A, along with a second client referred to as gRIBI-B - using PRESERVE persistence and SINGLE_PRIMARY mode, with FIB ACK requested. Make gRIBI-A become leader.

  • Inject IPv4Entry cases for 198.51.100.0/26, 198.51.100.64/26, 198.51.100.128/26 to ATE port-2 via gRIBI-A. Validate entries are installed through AFT telemetry.

  • Issue Get RPC from gRIBI-A, ensure that all entries for 198.51.100.0/26, 198.51.100.64/26, 198.51.100.128/26 are returned. Measure latency of Get RPC.

    • TODO: ensure all AFTEntry in the GetResponse for the IPv4Entry, NHG and NH are returned with fib_status=PROGRAMMED.
  • Issue Get RPC from gRIBI-B, ensure that all entries for 198.51.100.0/26, 198.51.100.64/26, 198.51.100.128/26 are returned. Measure latency of Get RPC.

    • TODO: ensure all IPv4Entry, NHG and NH are returned with fib_status=PROGRAMMED.
  • Configure static route for 198.51.100.192/64, issue Get from gRIBI-A and ensure that only entries for 198.51.100.0/26, 198.51.100.64/26, 198.51.100.128/26 are returned, with no entry returned for 198.51.100.192/64.

    • TODO: ensure all IPEntry, NHG and NH are returned with fib_status=PROGRAMMED.
  • Inject an entry that cannot be installed into the FIB due to an unresolved next-hop (203.0.113.0/24 -> unresolved 192.0.2.254/32). Issue a Get RPC from gRIBI-A and ensure that the entry for 203.0.113.0/24 is not returned.

    • TODO: ensure that the IPEntry for 203.0.113.0/24 is returned with fib_status=NOT_PROGRAMMED and rib_status=PROGRAMMED

OpenConfig Path and RPC Coverage

paths:
  /interfaces/interface/config/description:
  /interfaces/interface/config/enabled:
  /interfaces/interface/config/name:
  /interfaces/interface/config/type:
  /interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/config/ip:
  /interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/config/prefix-length:
  /interfaces/interface/subinterfaces/subinterface/ipv4/config/enabled:
  /network-instances/network-instance/config/name:
  /network-instances/network-instance/interfaces/interface/config/id:
  /network-instances/network-instance/interfaces/interface/config/subinterface:
  /network-instances/network-instance/protocols/protocol/config/identifier:
  /network-instances/network-instance/protocols/protocol/config/name:
  /network-instances/network-instance/protocols/protocol/static-routes/static/config/prefix:
  /network-instances/network-instance/protocols/protocol/static-routes/static/next-hops/next-hop/config/index:
  /network-instances/network-instance/protocols/protocol/static-routes/static/next-hops/next-hop/config/next-hop:
rpcs:
  gnmi:
    gNMI.Get:
    gNMI.Set:

Minimum DUT platform requirement

vRX if the vendor implementation supports FIB-ACK simulation, otherwise FFF.

⚠️ **GitHub.com Fallback** ⚠️