summaryrefslogtreecommitdiff
path: root/doc/developer
diff options
context:
space:
mode:
Diffstat (limited to 'doc/developer')
-rw-r--r--doc/developer/cli.rst10
-rw-r--r--doc/developer/topotests.rst3
-rw-r--r--doc/developer/workflow.rst11
3 files changed, 22 insertions, 2 deletions
diff --git a/doc/developer/cli.rst b/doc/developer/cli.rst
index 9254eb4739..ff6c4f6e16 100644
--- a/doc/developer/cli.rst
+++ b/doc/developer/cli.rst
@@ -48,6 +48,16 @@ a node and returns the parent of the node. This interface causes all manner of
insidious problems, even for experienced developers, and needs to be fixed at
some point in the future.
+Deprecation of old style of commands
+------------------------------------
+
+There are currently 2 styles of defining commands within a FRR source file.
+``DEFUN`` and ``DEFPY``. ``DEFPY`` should be used for all new commands that
+a developer is writing. This is because it allows for much better handling
+of command line arguments as well as ensuring that input is correct. ``DEFUN``
+is listed here for historical reasons as well as for ensuring that existing
+code can be understood by new developers.
+
Defining Commands
-----------------
All definitions for the CLI system are exposed in ``lib/command.h``. In this
diff --git a/doc/developer/topotests.rst b/doc/developer/topotests.rst
index fa1fd20067..b41181f4e9 100644
--- a/doc/developer/topotests.rst
+++ b/doc/developer/topotests.rst
@@ -1088,6 +1088,9 @@ Requirements:
a pull request. This ensures we have a unified code style.
- Mark test modules with pytest markers depending on the daemons used during the
tests (see :ref:`topotests-markers`)
+- Always use IPv4 :rfc:`5737` (``192.0.2.0/24``, ``198.51.100.0/24``,
+ ``203.0.113.0/24``) and IPv6 :rfc:`3849` (``2001:db8::/32``) ranges reserved
+ for documentation.
Tips:
diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst
index 45bee17b71..af8756a909 100644
--- a/doc/developer/workflow.rst
+++ b/doc/developer/workflow.rst
@@ -346,6 +346,13 @@ Pre-submission Checklist
the new feature within our existing CI infrastructure. Also the
addition of automated testing to cover any pull request is encouraged.
+- All new code must use the current latest version of acceptable code.
+
+ - If a daemon is converted to YANG, then new code must use YANG.
+ - DEFPY's must be used for new cli
+ - Typesafe lists must be used
+ - printf formatting changes must be used
+
.. _signing-off:
Signing Off
@@ -1250,8 +1257,8 @@ CLI changes
-----------
CLI's are a complicated ugly beast. Additions or changes to the CLI should use
-a DEFUN to encapsulate one setting as much as is possible. Additionally as new
-DEFUN's are added to the system, documentation should be provided for the new
+a DEFPY to encapsulate one setting as much as is possible. Additionally as new
+DEFPY's are added to the system, documentation should be provided for the new
commands.
Backwards Compatibility