.. SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org>
.. SPDX-License-Identifier: Apache-2.0

Development Guide
=================

Background Knowledge
--------------------

NG-SDN Tutorial
^^^^^^^^^^^^^^^
We highly recommend people to go through the **NG-SDN Tutorial** as preparation for the SD-Fabric development work.
You will learn all the required background knowledge and get opportunities
to run hands-on experiments as part of the tutorial.
The tutorial is free and publicly available at: https://github.com/opennetworkinglab/ngsdn-tutorial

Reading Materials
^^^^^^^^^^^^^^^^^
- `SD-Fabric Techinar 2021 <https://opennetworking.org/events/sd-fabric-techinar/>`_

  Introduction to the SD-Fabric project.

- `Software-Defined Networks: A Systems Approach <https://sdn.systemsapproach.org>`_

  Book about SDN in the context of P4, Stratum ONOS, whitebox switches, etc.
  Even if you are already familiar with most of the concepts,
  it should give you “full-stack” view of how we use programmable data planes at ONF.

- `5G Mobile Networks: A Systems Approach <https://5g.systemsapproach.org>`_

  Same as the SDN book but related to 5G architecture, a very good starting point to
  get aligned with other ONF engineers around architecture and terminology for mobile networks.
  Optional if your work will not be strictly related to Aether.

- `Aether overview <https://youtu.be/ZzwFQCSmOJg>`_

  There are many videos available on YouTube, this one should be the most recent.
  Optional if your work will not be strictly related to Aether.

- UP4 architecture

  UP4 is the codename for our P4-based UPF project. Optional if your work will not be strictly related to Aether.

  - `Blog post (Sep 2021) <https://opennetworking.org/news-and-events/blog/using-p4-and-programmable-switches-to-implement-a-4g-5g-upf-in-aether/>`_
  - `Paper (Sep 2021) <https://www.cs.princeton.edu/~macdavid/media/up4-sosr21.pdf>`_
  - `Slide deck <https://docs.google.com/presentation/d/1IlxsGKXPtqfFFAqORZV-N5OuCvoLloXQuKjvaL5Xf7M>`_

- `Trellis architecture <https://docs.trellisfabric.org/1.12/architecture.html>`_

  This document is based on an outdated, OF-DPA based data plane. But the control plane design logic remains the same.

.. note::
  We are working on development guides for ``fabric-tna`` pipeline and SD-Fabric control applications (``SegmentRouting``, ``UPF``, ``INT``).
  More contents will be available shortly.
