----
-AlignEscapedNewlinesLeft: true
-AlignTrailingComments: true
-AllowAllParametersOfDeclarationOnNextLine: true
-AllowShortIfStatementsOnASingleLine: false
-AllowShortLoopsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: false
-AlwaysBreakBeforeMultilineStrings: false
-BreakBeforeBinaryOperators: false
-BreakBeforeTernaryOperators: true
-BinPackParameters: true
-BreakBeforeBraces: GNU
-ColumnLimit: 79
-IndentCaseLabels: false
-MaxEmptyLinesToKeep: 1
-PenaltyBreakBeforeFirstCallParameter: 19
-PenaltyBreakComment: 60
-PenaltyBreakString: 1000
-PenaltyBreakFirstLessLess: 120
-PenaltyExcessCharacter: 1000000
-PenaltyReturnTypeOnItsOwnLine: 60
-PointerBindsToType: false
-SpaceBeforeAssignmentOperators: true
-SpaceBeforeParens: Always
-SpacesBeforeTrailingComments: 1
-SpacesInParentheses: false
-SpaceInEmptyParentheses: false
-SpacesInCStyleCastParentheses: false
-SpaceAfterControlStatementKeyword: true
-Cpp11BracedListStyle: true
-Standard: Cpp11
+# Minimal clang-format version is 11
+
+BasedOnStyle: GNU
+UseTab: Always
+SpaceAfterCStyleCast: true
SortIncludes: false
-IndentWidth: 2
-TabWidth: 4
-UseTab: Never
-IndentFunctionDeclarationAfterType: false
-ContinuationIndentWidth: 4
-...
+AlignConsecutiveMacros: true
+BreakBeforeTernaryOperators: false
+BreakBeforeBinaryOperators: None
+ContinuationIndentWidth: 2
+
+ForEachMacros:
+ - 'clib_bitmap_foreach'
+ - 'pool_foreach'
+ - 'pool_foreach_index'
+ - 'vec_foreach'
+ - 'vec_foreach_backwards'
+ - 'vec_foreach_index'
+ - 'vec_foreach_index_backwards'
+ - 'vlib_foreach_rx_tx'
+ - 'foreach_vlib_main'
+ - 'foreach_set_bit_index'
+ - 'RTE_ETH_FOREACH_DEV'
+
+StatementMacros:
+ - 'CLIB_MULTIARCH_FN'
+ - 'VLIB_NODE_FN'
+ - 'VNET_DEVICE_CLASS_TX_FN'
+ - '__clib_section'
+ - '__clib_aligned'
+
+WhitespaceSensitiveMacros:
+ - 'WARN_ON'
+ - 'WARN_OFF'