Skip to content

Test DPP on ARM64 (Linux / aarch64) #12

@dnstelecom

Description

@dnstelecom

Summary

We now have ARM64 release builds in CI, but DPP has not yet been validated on real ARM hardware. We should verify that the ARM64 binaries work correctly, produce the expected output, and do not introduce major performance or compatibility regressions compared with x86_64.

Goals

  • Verify that DPP builds and runs correctly on Linux ARM64.
  • Confirm that CSV and Parquet outputs are correct on ARM64.
  • Check that packet parsing and query/response matching behavior are identical to x86_64 for the same input data.
  • Identify any architecture-specific issues in dependencies, runtime behavior, or performance.
  • Document the current support status for ARM64.

Test scope

Functional checks

  • Run DPP on ARM64 with at least one small PCAP and one larger real-world PCAP.
  • Verify that the program completes successfully without crashes or panics.
  • Compare output row counts and key counters against x86_64 results for the same input.
  • Confirm that CSV output is correct and readable.
  • Confirm that Parquet output is generated correctly and can be opened by standard tooling.
  • Verify timeout records, matched records, and deduplicated retry behavior.

Compatibility checks

  • Test on at least one ARM64 Linux environment, ideally:

    • Ubuntu 24.04 ARM64
  • Confirm that the released binary runs without requiring unexpected manual fixes.

  • Verify that libpcap-related functionality behaves as expected on ARM64.

Performance checks

  • Record basic performance numbers on ARM64:

    • wall-clock runtime
    • CPU usage
    • memory usage
    • output throughput
  • Compare ARM64 results with an x86_64 baseline where possible.

  • Note any obvious regressions or unexpected bottlenecks.

Acceptance criteria

  • DPP runs successfully on Linux ARM64.
  • Output is functionally equivalent to x86_64 for the same test inputs.
  • No ARM64-specific correctness bugs are found.
  • Any limitations, regressions, or environment-specific requirements are documented.
  • ARM64 support status can be stated clearly in the README or release notes.

Deliverables

  • Test results for at least one ARM64 machine or VM.

  • A short report with:

    • environment details
    • commands used
    • test datasets
    • observed results
    • differences vs x86_64
    • any failures or follow-up issues

Notes

This issue is about validation, not feature work. If testing reveals architecture-specific bugs, please open separate follow-up issues for each concrete problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions