Two paragraph summary goes here
See
Projects:AirFPGA as an example.
Show Contents...Hide Contents...
Project summary
- Status
- Release pending:
; Version: 1.0
- Authors
-
Names Jingyang Xue Gustav Rydstedt
NetFPGA base source: 2.0:
; Wordpress Page
[]
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
- 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
# Initialize netfpga hardware
# Hardwire output port from eth0 to eth1
# Set drop probability to 100%
# Send packets from eth0
# 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
# Initialize netfpga hardware
# Hardwire output port from eth0 to eth1
# Set drop probability to 0%
# Send packets from eth0
# 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
- 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:
[10]
Original Source
Two paragraph summary goes here
See [[Projects:AirFPGA]] as an example.
== Project summary ==
; Status: Release pending
; Version: 1.0
; Authors
:Names [mailto:jxue@stanford.edu Jingyang Xue] [mailto:rydstedt@stanford.edu Gustav Rydstedt]
; NetFPGA base source: 2.0
; Wordpress Page
: []
== 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 ===
#Install the [http://netfpga.org/netfpgawiki/index.php/Guide#Install_NetFPGA_Base_Package NetFPGA Base Package]
=== Obtain Project Tarball ===
Download from [http://www.stanford.edu/~jxue/netfpga.hardwire_with_red.1_0.tar.gz 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 [http://netfpga.org/netfpgawiki/index.php/Guide#Run_Regression_Tests 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
::# Initialize netfpga hardware
::# Hardwire output port from eth0 to eth1
::# Set drop probability to 100%
::# Send packets from eth0
::# 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
::# Initialize netfpga hardware
::# Hardwire output port from eth0 to eth1
::# Set drop probability to 0%
::# Send packets from eth0
::# 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 ====
# 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]