<div dir="ltr">Hi folks,<div><br></div><div>In a technical meeting many weeks ago we decided to restyle the codebase to Linux kernel style with the intent of easing maintenance burdens, increasing readability and having a common standard across all FRR components. With our pull request backlog presently at a minimum, the plan is to bite the bullet and convert FRR's master branch to Linux kernel style on Monday, July 17.</div><div><br></div><div>The tooling for this task will be a Python wrapper for the <a href="https://clang.llvm.org/docs/ClangFormat.html">clang-format</a> source code formatter. The script and configuration file for clang-format will be checked in over the coming days prior to conversion.</div><div><br></div><div>This patch will not be submitted in a pull request. This will be a direct push to master. All stable branches will remain as-is. Code submissions against those branches -- which should by now be limited to bug fixes -- should continue to follow the style guide present in those branches.</div><div><br></div><div>Going forward we will require all patch submissions against master to conform to Linux kernel style, with some exceptions (DEFUNS primarily) that will be documented prior to conversion and which the Python script knows about. Recommended procedure will be to run the indent script over new code prior to submission. David has offered to write a helper script to ease merges / rebases for currently open pull requests and local branches.</div><div><br></div><div>Please familiarize yourself with the kernel style guide located here:</div><div><br></div><div><a href="https://www.kernel.org/doc/html/v4.10/process/coding-style.html">https://www.kernel.org/doc/html/v4.10/process/coding-style.html<br></a></div><div><br></div><div>It will also be useful to have passing familiarity with clang-format:</div><div><br></div><div><a href="https://clang.llvm.org/docs/ClangFormat.html">https://clang.llvm.org/docs/ClangFormat.html<br></a></div><div><a href="https://clang.llvm.org/docs/ClangFormatStyleOptions.html">https://clang.llvm.org/docs/ClangFormatStyleOptions.html<br></a></div><div><br></div><div>The first page contains instructions on how to integrate it with Vim and Emacs should you wish to do so. The tools are located in the LLVM clang repository, which you can clone by following the instructions here:</div><div><br></div><div><a href="https://clang.llvm.org/get_started.html">https://clang.llvm.org/get_started.html</a></div><div><br></div><div>Quentin<br></div></div>