Skip to content

alery315/dpdk-switch

Repository files navigation

Introduction

base code is from dfshan's dpdk-switch

i will add (multi-priority) multi-queue for every port.

i will add some policy on it.

i will change some code implement.

i will add RL policy(use RL to manage buffer).

This is a l2 learning switch based on DPDK.

Features

  • ECN marking
  • Fine-grained queue length monitoring
  • Shared Memory
  • (multi-priority) multi-queue
  • AWA Policy
  • DT Policy
  • EDT Policy

Requirements

How to run it

  1. Install requirements

  2. Build and Setup DPDK library, including

    • Correctly set environment variable RTE_SDK and RTE_TARGET
    • Insert IGB UIO module, setup hugpage, bind Ethernet device to IGB UIO module
  3. Create a configuration file (and change configurations in it if needed)

    $ cp switch.conf.example switch.conf

  4. Build and Run the application

    make

    sudo ./build/app/main -c 0x7 --log-level=7 -- -p 0xf

References

Danfeng Shan, Wanchun Jiang, and Fengyuan Ren, "Analyzing and Enhancing Dynamic Threshold Policy of Data Center Switches", IEEE Transactions on Parallel and Distributed Systems (TPDS), 2017

Bibtex:

@ARTICLE{7859368,
    author={D. Shan and W. Jiang and F. Ren},
    journal={IEEE Transactions on Parallel and Distributed Systems},
    title={Analyzing and Enhancing Dynamic Threshold Policy of Data Center Switches},
    year={2017},
    volume={28},
    number={9},
    pages={2454-2470},
    doi={10.1109/TPDS.2017.2671429},
    ISSN={1045-9219},
    month={Sept},}

About

l2 learning dpdk switch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published