An attempt to fully classify packets on a home router into diffserv
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Definitive Packet Classifier

This is an attempt to fully implement rfc 4594, along with some proposed extensions, at the edge router on the home gateway. The results should be suitable also for hotels, convention centers and small businesses.

It could be further extended by supplying tables to end machines, to classify their behavior at the switch, rather than router level.

It is being tested within the auspices of the ‘uberwrt’ series of projects.


Be both ipv6 and ipv4 enabled.

Handle packet encapsulation (VPN) traffic correctly


Debloating Techniques

Minimize multicast

Short queue lengths

Use web proxies by default (wpad and dhcp supplied)

ECN Enabled

Optimizations for


Shall include comprehensive port to dscp database.

Shall also include anti-worm filtering

Bandwidth Shaper(s) and policer(s)

The bandwidth shapers should be as simple as possible, but no simpler.

Example logic would include the number and type of machines in a household, the kinds of traffic the user expects, etc.

It would be good to allow for bandwidth sharing.

Should penalize

DSCP statistics

Complete DSCP statistics will be kept.

Wired and Wireless awareness

802.11e converter

Wherever possible, packets will be transformed into their proper 802.11e classes.

802.11d converter

Wherever possible, packets will be transformed into their proper 802.11d classes.


Simple lookup tables for DSCP <-> Port mappings

Simple lookup tables for threats

Support for multiple switch types and vlan prioritizations

Tasks Ahead

Write Good classifier

Analyze existing realistic traffic

Measure existing shapers

Implement ECN in existing shapers