sflow_base_test - bstoll/featureprofiles GitHub Wiki

SFLOW-1: sFlow Configuration and Sampling

Summary

Verify configuration of sflow and sFlow sample data.

Procedure

  • SFLOW-1.1 Configure sFlow on DUT

    • Configure DUT and ATE with 2 ports
    • Configure DUT to send sflow samples to ATE port 2
    • Set sample source address, sample size 256Bytes, one sample per 1M packets and DSCP=32
  • SFLOW-1.2 Send traffic via OTG and verify sFlow packet on OTG

    • Configure ATE to generate ipv4 and ipv6 traffic and capture sFlow packets
      • Traffic Profile
        Traffic Item PPS Packet Size L3 L4
        sflow3 100000 64 IP TCP
        mflow3 100000 512 IP TCP
        lflow3 100000 1500 IP TCP
  • Verify captured packets are formatted like an sFlow packet

    • Verify sample size is 256B
    • Verify 1 sample sent to collector address per 1M packets generated by ATE
    • Verify sample packet is set with DSCP=32
  • SFLOW-1.3 TODO #2346: Additional sflow packet verifications

    • Using the same packets captured in SFLOW-1.2 verify
      • Sampled interface field shows DUT Port 1
      • Ingress and Egress interfaces are correct
      • "Extended-router" container exists and contains are accurate for plain IP and IP-in-IP flows
        • Next hop
        • Next hop source mask
        • Next hop destination mask

Config Parameter coverage

/sampling/sflow/config/agent-id-ipv4 /sampling/sflow/config/agent-id-ipv6 /sampling/sflow/config/dscp /sampling/sflow/config/egress-sampling-rate /sampling/sflow/config/enabled /sampling/sflow/config/ingress-sampling-rate /sampling/sflow/config/polling-interval /sampling/sflow/config/sample-size /sampling/sflow/config/source-address /sampling/sflow/interfaces/interface/config/name /sampling/sflow/interfaces/interface/config/enabled /sampling/sflow/interfaces/interface/config/egress-sampling-rate /sampling/sflow/interfaces/interface/config/ingress-sampling-rate /sampling/sflow/interfaces/interface/config/polling-interval

/sampling/sflow/collectors/collector/address /sampling/sflow/collectors/collector/config/address /sampling/sflow/collectors/collector/config/network-instance /sampling/sflow/collectors/collector/config/port /sampling/sflow/collectors/collector/config/source-address /sampling/sflow/collectors/collector/port

Telemetry Parameter coverage

/sampling/sflow/state/agent-id-ipv4 /sampling/sflow/state/agent-id-ipv6 /sampling/sflow/state/dscp /sampling/sflow/state/egress-sampling-rate /sampling/sflow/state/enabled /sampling/sflow/state/ingress-sampling-rate /sampling/sflow/state/polling-interval /sampling/sflow/state/sample-size /sampling/sflow/state/source-address /sampling/sflow/interfaces/interface/state/name /sampling/sflow/interfaces/interface/state/enabled /sampling/sflow/interfaces/interface/state/egress-sampling-rate /sampling/sflow/interfaces/interface/state/ingress-sampling-rate /sampling/sflow/interfaces/interface/state/polling-interval

/sampling/sflow/collectors/collector/address /sampling/sflow/collectors/collector/state/address /sampling/sflow/collectors/collector/state/network-instance /sampling/sflow/collectors/collector/state/port /sampling/sflow/collectors/collector/state/source-address /sampling/sflow/collectors/collector/port

Protocol/RPC Parameter coverage

N/A

Minimum DUT platform requirement

FFF

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