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.
