tc-actions-env-rules.txt
来自「linux 内核源代码」· 文本 代码 · 共 30 行
TXT
30 行
The "enviromental" rules for authors of any new tc actions are:1) If you stealeth or borroweth any packet thou shalt be branchingfrom the righteous path and thou shalt cloneth.For example if your action queues a packet to be processed lateror intentionaly branches by redirecting a packet then you need toclone the packet.There are certain fields in the skb tc_verd that need to be reset so weavoid loops etc. A few are generic enough so much so that skb_act_clone()resets them for you. So invoke skb_act_clone() rather than skb_clone()2) If you munge any packet thou shalt call pskb_expand_head in the casesomeone else is referencing the skb. After that you "own" the skb.You must also tell us if it is ok to munge the packet (TC_OK2MUNGE),this way any action downstream can stomp on the packet.3) dropping packets you dont own is a nono. You simply returnTC_ACT_SHOT to the caller and they will drop it.The "enviromental" rules for callers of actions (qdiscs etc) are:*) thou art responsible for freeing anything returned as beingTC_ACT_SHOT/STOLEN/QUEUED. If none of TC_ACT_SHOT/STOLEN/QUEUED isreturned then all is great and you dont need to do anything.Post on netdev if something is unclear.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?