Thread (19 messages) flat view 19 messages, 4 authors, 2012-07-11

Re: [PATCH net-next 3/9] IB/ipoib: Add support for acting as VIF

From: Eric Dumazet <hidden>
Date: 2012-07-11 10:27:41

On Wed, 2012-07-11 at 03:06 -0700, David Miller wrote:
From: Or Gerlitz <redacted>
Date: Wed, 11 Jul 2012 12:59:41 +0300
quoted
On 7/11/2012 11:19 AM, David Miller wrote:
quoted
handle_ing() goes into the packet scheduler and qdisc layer, the qdisc
layer uses skb->cb[] via struct qdisc_skb_cb
Oh, I knew that the qdisc layer touches skb->cb[] but thought it only
happens on the TX flow...
We have them on the RX flow too, they are called ingress qdiscs (as
opposed to egress qdiscs on the TX side).

There is nothing mysterious about them, they've been there for more
than 15 years.
Sample script 

ETH=eth0
IFB=ifb0
LOCALNETS="172.16.0.0/12 192.168.0.0/16 10.0.0.0/8"
RATE="rate 7Mbit bandwidth 7Mbit maxburst 80 minburst 40"
ALLOT="allot 8000" 

modprobe ifb
ip link set dev $IFB up

tc qdisc add dev $ETH ingress 2>/dev/null

tc filter add dev $ETH parent ffff: \
   protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress \
   redirect dev $IFB

tc qdisc del dev $IFB root


# Lets say our NIC is 100Mbit
tc qdisc add dev $IFB root handle 1: cbq avpkt 1000 \
    rate 100Mbit bandwidth 100Mbit

tc class add dev $IFB parent 1: classid 1:1 cbq allot 10000 \
	mpu 64 rate 100Mbit prio 1 \
	bandwidth 100Mbit maxburst 150 avpkt 1500 bounded

# Class for traffic coming from Internet : limited to X Mbits
tc class add dev $IFB parent 1:1 classid 1:11 \
	cbq $ALLOT mpu 64      \
	$RATE prio 2 \
	avpkt 1400 bounded

tc qdisc add dev $IFB parent 1:11 handle 11: fq_codel


# Traffic from machines in our LAN : no limit
for privnet in $LOCALNETS
do
	tc filter add dev $IFB parent 1: protocol ip prio 2 u32 \
		match ip src $privnet flowid 1:1
done

tc filter add dev $IFB parent 1: protocol ip prio 2 u32 \
	match ip protocol 0 0x00 flowid 1:11
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help