Skip to contentSkip to conversation

LARTC: trace control for netem: kernelspace

PATCH In review Rainer Baumann 2 participants 3 messages Dec 15, 2006 – Dec 16, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 LARTC: trace control for netem: kernelspace

Trace Control for Netem: Emulate network properties such as long range dependency and self-similarity of cross-traffic.

kernel space:
The delay, drop, duplication and corruption values are readout in user space and sent to kernel space via configfs. The userspace process will "hang on write" until the kernel needs new data.

In order to have always packet action values ready to apply, there are two buffers that hold these values. Packet action values can be read from one buffer and the other buffer can be refilled with new values simultaneously. The synchronization of "need more delay values" and "return from write" is done with the use of wait queues.

Having applied the delay value to a packet, the packet gets processed by the original netem functions.

---

Patch for linux kernel 2.6.18.13: http://tcn.hypert.net/tcn_kernel_configfs.patch

#1 lore raw
Quoted 2 lines · * Rainer Baumann | 2006-12-15 11:39:28 [+0100]:

Patch for linux kernel 2.6.18.13:
http://tcn.hypert.net/tcn_kernel_configfs.patch

This patch isn't ok ( maybe this patch benefit from gcc padding behaviours):

static struct pktdelay get_next_delay(struct netem_sched_data *q) {
struct pktdelay retval;

[...]

return retval;
}

There are also some tiny coding style issues.

Hagen

PS: please setup you mua to break lines - it's a little bit difficult to read you mails

#2 lore raw
Quoted 2 lines

This patch isn't ok ( maybe this patch benefit from gcc padding behaviours):

Ignore this - I thought this function returns a pointer ... (take a look at my email signature :-)

HGN

Signature · 1 line
COFFEE.EXE Missing - Insert Cup and Press Any Key.