The Netfilter workshop being a developer conference, I’ve decided to presente an introduction to the coccinelle tool. Coccinelle is a program matching and transformation engine for the C language which is used in many place and among them in the Linux kernel. It is able to perform C clever modification in the code. If you ever had to modify multiple code files following an API change, I invite you to have a look at the slides or my Coccinelle for the newbie page. I’ve also presented my coccigrep tool which is a easy to use semantic grep.
The slides are available: nfws_coccinelle
(just FTR) coccinelle has already seen use in net/*/netfilter/ to do large-scale changes that it excels at. See the commit range “v2.6.34-rc1-1102-g0d34545^..v2.6.34-rc1-1116-gd6b00a5” for some real-world transformations on the Xtables packet filter API and in the more than 60 extensions that it has.