Skip to content

Traffic generator: Config-driven bidirectional external-datapath packet generator - #1345

Merged
gab-arrobo merged 4 commits into
omec-project:mainfrom
gab-arrobo:traffic-generator
Oct 7, 2026
Merged

gab-arrobo merged 4 commits into
omec-project:mainfrom
gab-arrobo:traffic-generator

Conversation

@gab-arrobo

Copy link
Copy Markdown
Contributor

No description provided.

Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com>
Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com>
Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com>
@gab-arrobo
gab-arrobo requested review from a team and a balanced review from Copilot October 7, 2026 17:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Same-host setup conflicts with UPF containers, while uplink sizing and PDU Session Container metadata are incorrect.

3 open findings
What changed in this PR

Adds a configuration-driven, bidirectional packet generator for testing UPF external datapaths.

Changes:

  • Adds configurable uplink/downlink generation and reception.
  • Adds automated external-datapath setup.
  • Preserves and documents the simulation workflow.
File Description
scripts/​pktgen_setup.sh Sets up interfaces, routes, and containers.
docs/​INSTALL.md Documents external and simulated pktgen workflows.
docs/​images/​ubench-pktgen-sim.svg Adds the simulation topology diagram.
docs/​images/​ubench-pktgen-sim.svg.license Adds diagram licensing metadata.
conf/​sim.py Adds uplink sequence-update helpers.
conf/​pktgen.jsonc Defines generator interfaces, rates, and traffic parameters.
conf/​pktgen.bess Implements bidirectional external traffic generation.
conf/​pktgen_sim.bess Retains the loopback simulation pipeline.
conf/​parser.py Parses uplink and downlink packet rates.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/pktgen_setup.sh Outdated
Comment thread conf/pktgen.bess Outdated
Comment thread conf/pktgen.bess Outdated
Copilot AI balanced review requested due to automatic review settings October 7, 2026 18:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Driver-mode configuration can diverge and QFI values are not safely validated.

2 open findings
3 resolved since last review
Previously missed (2)

In code that hasn't changed since last review

Low severity Do not advertise unsupported sim mode in pktgen configuration

conf/​pktgen.jsonc:8

This mode description contradicts pktgen.bess, which explicitly exits when parser.mode == 'sim'. Point users to the separate simulation pipeline instead of advertising sim as a valid value for this configuration.

Low severity Document extra-VF loopback requirement for simulation

docs/​INSTALL.md:446

The simulation pipeline still sends through a PMDPort, and the command below passes a VFIO device; the accompanying diagram also labels this as extra-VF loopback. Calling it “without external interfaces” can lead users to expect a device-free setup that will not run. Describe the extra-VF loopback requirement explicitly.

🧠 Review effort: Balanced

Comment thread scripts/pktgen_setup.sh Outdated
Comment thread conf/parser.py
Copilot AI balanced review requested due to automatic review settings October 7, 2026 18:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The setup script does not forward CONF_FILE, allowing its namespace topology and BESS pipeline configuration to diverge.

1 open finding
2 resolved since last review

🧠 Review effort: Balanced

Comment thread scripts/pktgen_setup.sh Outdated
Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 18:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The hardware-dependent DPDK, AF_XDP, routing, and namespace behavior requires validation on representative networking infrastructure.

0 open findings

1 resolved since last review

🧠 Review effort: Balanced

@andybavier andybavier left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@gab-arrobo
gab-arrobo merged commit ad285bd into omec-project:main Oct 7, 2026
19 checks passed
@gab-arrobo
gab-arrobo deleted the traffic-generator branch October 7, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants