net_sched: gred: add TCA_GRED_LIMIT attribute
[deliverable/linux.git] / Documentation / networking / tc-actions-env-rules.txt
CommitLineData
d892afe2 1
25985edc 2The "environmental" rules for authors of any new tc actions are:
d892afe2
JHS
3
41) If you stealeth or borroweth any packet thou shalt be branching
5from the righteous path and thou shalt cloneth.
6
d9195881
ML
7For example if your action queues a packet to be processed later,
8or intentionally branches by redirecting a packet, then you need to
d892afe2 9clone the packet.
d9195881 10
d892afe2 11There are certain fields in the skb tc_verd that need to be reset so we
d9195881
ML
12avoid loops, etc. A few are generic enough that skb_act_clone()
13resets them for you, so invoke skb_act_clone() rather than skb_clone().
d892afe2
JHS
14
152) If you munge any packet thou shalt call pskb_expand_head in the case
16someone else is referencing the skb. After that you "own" the skb.
d892afe2 17
d9195881 183) Dropping packets you don't own is a no-no. You simply return
d892afe2
JHS
19TC_ACT_SHOT to the caller and they will drop it.
20
25985edc 21The "environmental" rules for callers of actions (qdiscs etc) are:
d892afe2 22
d9195881 23*) Thou art responsible for freeing anything returned as being
d892afe2 24TC_ACT_SHOT/STOLEN/QUEUED. If none of TC_ACT_SHOT/STOLEN/QUEUED is
d9195881 25returned, then all is great and you don't need to do anything.
d892afe2
JHS
26
27Post on netdev if something is unclear.
28
This page took 0.492558 seconds and 5 git commands to generate.