Kernel networking offload--flow/flower/flowtable offload
by risonwung from LinuxQuestions.org on (#539V2)
I am learning network hardware acceleration in Linux kernel for quiet a long time, but there still are several problems that make me very very confused. I hope to get anyone's help.
Thanks you very much.
After deeply inspecting source code in kernel ,what confued me all the time are:
1. I can't clearly distinguish Flower offload, Flow offload, Flowtable offload, Flowtable HW offload.
2.What's the relationship between Flower offload and Flow offload? In driver implementation(kenerl version 5.4), there always be both TC_SETUP_BLOCK and TC_SETUP_CLSFLOWER.
As far as i know, TC_SETUP_CLSFLOWER indicates TC flower offload. Does TC_SETUP_BLOCK mean Flow offload? If so, what is Flow offload? Is it netfilter offload?
3.Does flowtable offload mean a fast path for packet process implemented by software in kernel, while flowtable HW offload means a fast path implemented by hardware?


Thanks you very much.
After deeply inspecting source code in kernel ,what confued me all the time are:
1. I can't clearly distinguish Flower offload, Flow offload, Flowtable offload, Flowtable HW offload.
2.What's the relationship between Flower offload and Flow offload? In driver implementation(kenerl version 5.4), there always be both TC_SETUP_BLOCK and TC_SETUP_CLSFLOWER.
As far as i know, TC_SETUP_CLSFLOWER indicates TC flower offload. Does TC_SETUP_BLOCK mean Flow offload? If so, what is Flow offload? Is it netfilter offload?
3.Does flowtable offload mean a fast path for packet process implemented by software in kernel, while flowtable HW offload means a fast path implemented by hardware?