DUNE-DAQ / DUNE-DAQ/dpdklibs

Enable playback feature in transmitter apps

Open
#70 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
0
Forks
1
Avg merge
5h 38m
Merged PRs (30d)
4

Description

I say "transmitter apps" in the title so as to include one or both of dpdklibs_test_frame_transmitter and dpdklibs_test_transmit_and_receive. The idea would be to have a command line argument like --playback <filename> where <filename> would be a binary file containing ethernet packets that could be extracted from the file and sent out on the wire. Note that a couple of weeks ago I added functions to include/dpdklibs/udp/Utils.hpp (add_file_contents_to_vector and get_ethernet_packets) which should make this task considerably easier. We could also consider updating dpdklibs_test_frame_receiver so that after it opens its currently-existing dpdklibs_test_frame_receiver.dat file it fills it with the ethernet packets it receives.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with dpdklibs_test_frame_transmitter and dpdklibs_test_transmit_and_receive, then read add_file_contents_to_vector and get_ethernet_packets in include/dpdklibs/udp/Utils.hpp. Define the playback argument and packet extraction scope, and consider dpdklibs_test_frame_receiver's existing .dat file. Done means a transmitter can read ethernet packets from the specified binary file and send them on the wire.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.