Skip to content
Adam edited this page Feb 27, 2013 · 1 revision

Table of Contents

RED

Project summary

Status :
Release pending
Version :
1.0
Authors :
Jingyang Xue Gustav Rydstedt
NetFPGA base source :
2.0

Introduction

The reference router utilizes tail-drop for its output queues, which is dropping all incoming packets once the output queue buffer is filled, and resuming packet process when the buffer has space again.

Random Early Detection detects the occupancy of the output queue buffer as a percentage of total space available, and drops the package based on an algorithm which uses this percentage and other parameters. The fuller the queue is, the more likely the incoming packet will be dropped. This is a congestion avoidance algorithm.

Download

Install from NetFPGA Yum repository

  1. Install the NetFPGA Base Package

Obtain Project Tarball

Download from Hardwire_RED

Regression Tests

The regression tests verify the functionality of this project. In order to run the tests, you need to have the machine connected for the regression tests as stated in the Run Regression Tests section of the Guide.

After connecting the cables. Run the following command to run the regression tests.

nf21_regress_test.pl --project hardwire_with_red

Regression Tests

Test 1: Example

Name :
test_red_all_drop
Description :
With queue drop probability to 100%, no packet will be routed
  1. Initialize netfpga hardware
  2. Hardwire output port from eth0 to eth1
  3. Set drop probability to 100%
  4. Send packets from eth0
  5. Verify that no data packets arrive at eth1
Location projects/hardwire_with_red/regress/test_red_all_drop
Output
SUCCESS!

Test 2: Example

Name :
test_hardwire
Description :
With queue drop probability to 0%, packets are routed normally
  1. Initialize netfpga hardware
  2. Hardwire output port from eth0 to eth1
  3. Set drop probability to 0%
  4. Send packets from eth0
  5. Verify that all data packets arrive at eth1
Location
projects/hardwire_with_red/regress/test_hardwire
Output
SUCCESS!

Usage

Run RED software to calculate drop probability. To make the software, go to projects/hardwire_with_red/sw, type in make. Run redexec

Preparation

  • Explain how to prepare your machine for a demonstration

Installation

  • Describe how to install your tools

NetFPGA source package

  1. Download project bitfile:
nf2_download hardwire_with_red.bit

GUI

Run java GUI to view buffer occupancy in graphical format, and control RED parameters dynamically.

Examples

Below are a couple screen shots showing the effect of RED on the GUI:

Related Work

Read original RED paper: http://www.icir.org/floyd/papers/red/red.html

Clone this wiki locally