netem: add cell concept to simulate special MAC behavior
authorHagen Paul Pfeifer <hagen@jauu.net>
Mon, 12 Dec 2011 14:30:00 +0000 (14:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Dec 2011 00:44:48 +0000 (19:44 -0500)
commit90b41a1cd44cc4e507b554ae5a36562a1ba9a4e8
tree4206cd6caab2dcec1d3937d5c0eed04085a153a4
parentc7c6575f254e5621a8408c29bdab0d704c3fab6e
netem: add cell concept to simulate special MAC behavior

This extension can be used to simulate special link layer
characteristics. Simulate because packet data is not modified, only the
calculation base is changed to delay a packet based on the original
packet size and artificial cell information.

packet_overhead can be used to simulate a link layer header compression
scheme (e.g. set packet_overhead to -20) or with a positive
packet_overhead value an additional MAC header can be simulated. It is
also possible to "replace" the 14 byte Ethernet header with something
else.

cell_size and cell_overhead can be used to simulate link layer schemes,
based on cells, like some TDMA schemes. Another application area are MAC
schemes using a link layer fragmentation with a (small) header each.
Cell size is the maximum amount of data bytes within one cell. Cell
overhead is an additional variable to change the per-cell-overhead
(e.g.  5 byte header per fragment).

Example (5 kbit/s, 20 byte per packet overhead, cell-size 100 byte, per
cell overhead 5 byte):

  tc qdisc add dev eth0 root netem rate 5kbit 20 100 5

Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/pkt_sched.h
net/sched/sch_netem.c