A port of the DIFFUSE (http://caia.swin.edu.au/urp/diffuse/) classification system for Attitude Adjustment. Provides automated QoS for your router (based on a flow’s statistical properties, not port numbers or payloads). A firmware image (for the TPLink WR-1043ND), packages, source and documentaion are available at: http://caia.swin.edu.au/urp/diffuse/openwrt/
This is prototype work, not rigorously debugged nor ready for prime time. But we hope it is nevertheless of some interest!
About DIFFUSE
-------------
DIFFUSE provides dynamic/automated traffic classification and prioritisation of IP flows using a Machine Learning classification model. DIFFUSE will calculate flow statistics (such as mean packet length, mean packet inter-arrival time) for bi-directional IP flows that have an entry in the flow table (e.g. flows between a LAN host and an Internet host).
By enabling DIFFUSE on a router, latency-sensitive applications (online games, VoIP) are automatically identified and prioritised. You do not need to pre-configure port numbers or LAN hosts (i.e. classification will occur independently of the port number used or the LAN host generating the traffic).
DIFFUSE is currently integrated with the IPFW/Dummynet Linux port, using IPFW for flow statistics calculation and Dummynet for priority queuing and bandwidth shaping.
There is an included sample model that will identify and prioritise First Person Shooter traffic heading upstream (from LAN to WAN). There is an automated process for building your own classification models to discriminate different types of IP traffic.
Summary
-------
OpenWRT Version:
- Attitude Adjustment (trunk) r29537
Available downloads:
- TPLink WR-1043ND firmware with DIFFUSE included
- TPLink WR-1043ND packages for Attitude Adjustment
- All source files
- Sample classification model and shell script to automate setup
- VirtualBox Ubuntu VM with all sources needed to build packages/firmware (includes OpenWRT trunk/r29537 and DIFFUSE source code)
- Step-by-step instructions on getting it all running
(Last edited by nw on 18 Apr 2012, 08:27)