Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Aug 2007 00:56:01 GMT
From:      Marko Zec <zec@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 125474 for review
Message-ID:  <200708210056.l7L0u1E9024985@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=125474

Change 125474 by zec@zec_tpx32 on 2007/08/21 00:55:28

	Welcome ng_pipe: a trafic shaping and delay emulation netgraph
	node.
	
	Traffic flows through ng_pipe upstream and downstream, through
	two queues in each direction.  The first queue provides
	bandwidth emulation along with configurable queueing options
	selectable from FIFO, DRR and WFQ, with front or tail dropping,
	as well as duplicate packet generation.  The second queue
	simply delays all traffic for preconfigured amount of time,
	while optionally dropping some packets based on BER setting.
	Except for propagation delay all settings are independently
	configurable on per-direction basis.
	
	ng_pipe originally appeared as a kernel module for 4.11, and
	this is a first-cut attempt at porting the code to -CURRENT.
	To simplify the initial debugging efforts the port has been
	stripped off of some goodies present in the original incarnation,
	namely support for XCP-compliant queuing and packet marking, and
	a few configurable variations of RED (GRED / ARED / WRED).
	Those might or might not reappear at some future time, after
	more experiences are gained about (future) interaction between
	ng_pipe and ALTQ as well as ng_car.
	
	As of now all ng_pipe state is protected by a single mutex
	lock, which as a locking strategy should be revised as
	throughput / performance comes more into the focus.  

Affected files ...

.. //depot/projects/vimage/src/sys/conf/files#18 edit
.. //depot/projects/vimage/src/sys/conf/options#18 edit
.. //depot/projects/vimage/src/sys/modules/netgraph/Makefile#6 edit
.. //depot/projects/vimage/src/sys/modules/netgraph/pipe/Makefile#1 add
.. //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#1 add
.. //depot/projects/vimage/src/sys/netgraph/ng_pipe.h#1 add

Differences ...

==== //depot/projects/vimage/src/sys/conf/files#18 (text+ko) ====

@@ -1820,6 +1820,7 @@
 netgraph/ng_nat.c		optional netgraph_nat
 netgraph/ng_one2many.c		optional netgraph_one2many
 netgraph/ng_parse.c		optional netgraph
+netgraph/ng_pipe.c		optional netgraph_pipe
 netgraph/ng_ppp.c		optional netgraph_ppp
 netgraph/ng_pppoe.c		optional netgraph_pppoe
 netgraph/ng_pptpgre.c		optional netgraph_pptpgre

==== //depot/projects/vimage/src/sys/conf/options#18 (text+ko) ====

@@ -452,6 +452,7 @@
 NETGRAPH_NAT		opt_netgraph.h
 NETGRAPH_NETFLOW	opt_netgraph.h
 NETGRAPH_ONE2MANY	opt_netgraph.h
+NETGRAPH_PIPE		opt_netgraph.h
 NETGRAPH_PPP		opt_netgraph.h
 NETGRAPH_PPPOE		opt_netgraph.h
 NETGRAPH_PPTPGRE	opt_netgraph.h

==== //depot/projects/vimage/src/sys/modules/netgraph/Makefile#6 (text+ko) ====

@@ -34,6 +34,7 @@
 	netflow \
 	netgraph \
 	one2many \
+	pipe \
 	ppp \
 	pppoe \
 	pptpgre \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708210056.l7L0u1E9024985>