Skip to content
This repository has been archived by the owner on Jan 25, 2024. It is now read-only.

conorwalsh/qos_sched_custom

Repository files navigation

⚠️ This Project is now End of Life (EOL) ⚠️

There will be no future updates or support provided!

qos_sched_custom

Modified DPDK QoS Scheduler Sample Application

Status Maintenance Version Code Size GitHub license

DPDK is a set of C libraries for fast packet processing. DPDK has many sample applications for showcasing the features of DPDK.

This app is based on the DPDK Qos Scheduler Sample Application which is designed to showcase what DPDK QoS can do. This app was built to profile the performance of DPDK QoS. This app expands the information that is printed to the user and now displays cycle costs. The app also uses MAC addresses for classifying packets which is easier to use.

Installation

Linux:

Note: This app has only been tested on Ubuntu 18.04

Usage

  • Update the configuration options in profile.cfg
  • Run app
    ./build/qos_sched -l 26,27,71 -w 0000:83:00.0 --telemetry -- --pfc "0,0,27,71" --cfg profile.cfg --mst 26

Example output of app:

Classifying Packets

The Destination MAC address is used to set how QoS will classify packet

Each part of the MAC address corresponds to a piece of information

MAC Address: XX:XX:XX:XX:XX:XX

Meaning: COLOUR:XX:SUBPORT:PIPE:TRAFFICCLASS:QUEUE

E.g.:

  • MAC Address: 01:00:01:1F:03:02
    • Colour: 1
    • Blank: 0 (unused - possible future use)
    • Subport: 1
    • Pipe: 31
    • Traffic Class: 3
    • Queue: 2

The range command in pktgen can be used to vary the mac address of the packets

Release History

  • v19.11
    • This release coincided with the 19.11 DPDK release and this app is compatible with DPDK 19.05
    • Fixed floating point errors when app started with no traffic flow
  • v19.05
    • This release coincided with the 19.05 DPDK release and this app is compatible with DPDK 19.05

Meta

Conor Walsh – conor@conorwalsh.net

This project is distributed under the MIT license. See LICENSE for more information.

https://github.com/conorwalsh/qos_sched_custom

Why?

This app was made to profile the performance of the DPDK Qos Schedular Application.

It was later used as part of the author’s research into the automation of analysis and optimisation of DPDK apps.