|
|
# P4-Learning Documentation
|
|
|
|
|
|
This documentation contains helpful information that will help you getting started
|
|
|
with P4.
|
|
|
This documentation contains helpful information that will help you getting started with P4. The questions that get asked often (if any) will be added to the FAQ section (which at the moment is empty). Useful resources and documentation will also be added if something new comes or if people ask about it. Before asking something check if the solution to your problem can be found in any of the following documents and links, or examples.
|
|
|
|
|
|
The questions that get asked often (if any) will be added to the
|
|
|
FAQ section (which at the moment is empty). Useful resources and documentation will also be added if something new
|
|
|
comes or if people ask about it.
|
|
|
#### Getting Started With P4
|
|
|
|
|
|
Before asking something check if the solution to your problem can be found in any of the
|
|
|
following documents and links, or examples.
|
|
|
|
|
|
#### Getting Started With P4:
|
|
|
|
|
|
1. [Build VM](../vm/README.md#build-vm-using-vagrant) Build The VM from scratch using Vagrant
|
|
|
2. [Download VM](../vm/README.md#download-the-ova-package) Get the OVA Image to directly import it to VirtualBox
|
|
|
3. [P4 Tutorials](https://github.com/p4lang/tutorials) Official P4 tutorials (they use the P4Runtime).
|
|
|
4. [P4 Utils](https://github.com/nsg-ethz/p4-utils) Mininet Extension to build P4 networks
|
|
|
1. [P4 Tutorials](https://github.com/p4lang/tutorials): official P4 tutorials (they use the *P4Runtime*).
|
|
|
2. [P4 Utils](https://github.com/nsg-ethz/p4-utils): *Mininet* Extension to build P4 networks.
|
|
|
|
|
|
#### P4 References
|
|
|
|
|
|
1. [P4 Spec](https://p4.org/p4-spec/) P4 Language and Related Specifications.
|
|
|
3. [P4-guide](https://github.com/jafingerhut/p4-guide) Repository which contains a lot of useful information, examples,
|
|
|
tests of what works or what does not, etc.
|
|
|
3. [P4 Repositories](./p4lang-repository-structure.md) Guide to the public p4lang repositories
|
|
|
1. [P4 Spec](https://p4.org/specs/): P4 Language and Related Specifications.
|
|
|
3. [P4-guide](https://github.com/jafingerhut/p4-guide): contains a lot of useful information, examples, tests of what works or what does not, etc.
|
|
|
3. [P4 Repositories](./p4lang-repository-structure.md): guide to the public *p4lang* repositories.
|
|
|
|
|
|
#### Resources
|
|
|
|
|
|
1. [Manual Topology Setup](./mininetless) Example that shows how to run a small topology without using mininet
|
|
|
2. [Useful Scripts](useful-scripts.md) Set of useful scripts
|
|
|
3. [Simple Switch](simple-switch.md) Bmv2 Simple Switch implementation documentation
|
|
|
4. [Control Plane](control-plane.md) Simple Switch Control plane documentation
|
|
|
5. [Debugging and Troubleshooting](debugging-and-troubleshooting.md) Debugging and Troubleshooting guidelines
|
|
|
6. [Scapy](scapy.md) Scapy Packet Manipulation library written in python
|
|
|
7. [FAQ](FAQ.md) List of most asked questions from students |
|
|
\ No newline at end of file |
|
|
1. [Useful Scripts](useful-scripts.md): set of useful scripts.
|
|
|
2. [Simple Switch](simple-switch.md): bmv2 Simple Switch implementation documentation.
|
|
|
3. [Control Plane](control-plane.md): Simple Switch Control plane documentation.
|
|
|
4. [Debugging and Troubleshooting](debugging-and-troubleshooting.md): debugging and troubleshooting guidelines.
|
|
|
5. [*Scapy*](scapy.md): packet manipulation library written in Python.
|
|
|
6. [FAQ](FAQ.md): list of most asked questions from students. |
|
|
\ No newline at end of file |