As most software projects we also have a lack in documentation. We encourage every VyOS user to help us improve our documentation. This will not only be benefical four you (when reading something up) but also for the whole world.

If you are willing to contribute to our documentation this is the definate guid how to do so.


In contrast to submitting code patches there is no requirement that you open up a Phabricator task prior to submitting a Pull-Request to the documentation.


Updates to our documentation should be delivered by a GitHub pull-request. In order to create a pull-request you need to fork our documentation code first. This requires you already have a GitHub account.

  • Fork the project on GitHub

  • Clone fork to local machine

  • Change to your new local directory vyos-documentation

  • Create new branch for your work, use a descriptive name of your work: $ git checkout -b fix-vxlan-typo

  • Make all your changes - please keep out commit rules in mind (Preparing patch/commit). This mainly applies to a proper commit message describing your change. Please check the documentation if you aren’t familiar with Sphinx-doc or reStructuredText.

    Note the following RFCs (RFC5737, RFC3849, RFC5389 and RFC7042), which describe the reserved public IP addresses and autonomous system numbers for the documentation:

    • 2001:db8::/32
    • 16bit ASN: 64496 - 64511
    • 32bit ASN: 65536 - 65551
    • Unicast MAC Addresses: 00-53-00 to 00-53-FF
    • Multicast MAC-Addresses: 90-10-00 to 90-10-FF

    Please don’t use other public address space.

  • Check your changes by locally building the documentation $ make html Sphinx will build the html files in the docs/_build folder

  • Add modified files to Git index $ git add path/to/filname or add all unstaged files $ git add .

  • Commit your changes $ git commit -m "vxlan: rework CLI syntax"

  • Push your commits to your GitHub project: $ git push -u origin fix-vxlan-typo

  • Submit pull-request. In GitHub visit the main repository and you should see a banner suggesting to make a pull request. Fill out the form and describe what you do.

  • Once pull resquests have been approved, you may want to locally update your forked repository too. First you’ll have to add the remote upstream repository. $ git remote add upstream

    Check your configured remote repositories:

    $ git remote -v
    origin (fetch)
    origin (push)
    upstream (fetch)
    upstream (push)``

    Your remote repo on Github is called Origin, while the original repo you have forked is called Upstream. Now you can locally update your forked repo.

    $ git fetch upstream
    $ git checkout master
    $ git merge upstream/master``

    If you want to update your fork on GitHub, too use the following: $ git push origin master