|
# P4-Learning Documentation
|
|
# P4-Learning Documentation
|
|
|
|
|
|
This documentation contains helpful information that will help you getting started
|
|
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.
|
|
with P4.
|
|
|
|
|
|
|
|
The questions that get asked often (if any) will be added to the
|
|
#### Getting Started With P4
|
|
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
|
|
1. [P4 Tutorials](https://github.com/p4lang/tutorials): official P4 tutorials (they use the *P4Runtime*).
|
|
following documents and links, or examples.
|
|
2. [P4 Utils](https://github.com/nsg-ethz/p4-utils): *Mininet* Extension to build P4 networks.
|
|
|
|
|
|
#### 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
|
|
|
|
|
|
|
|
#### P4 References
|
|
#### P4 References
|
|
|
|
|
|
1. [P4 Spec](https://p4.org/p4-spec/) P4 Language and Related Specifications.
|
|
1. [P4 Spec](https://p4.org/specs/): P4 Language and Related Specifications.
|
|
3. [P4-guide](https://github.com/jafingerhut/p4-guide) Repository which contains a lot of useful information, examples,
|
|
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.
|
|
tests of what works or what does not, etc.
|
|
3. [P4 Repositories](./p4lang-repository-structure.md): guide to the public *p4lang* repositories.
|
|
3. [P4 Repositories](./p4lang-repository-structure.md) Guide to the public p4lang repositories
|
|
|
|
|
|
|
|
#### Resources
|
|
#### Resources
|
|
|
|
|
|
1. [Manual Topology Setup](./mininetless) Example that shows how to run a small topology without using mininet
|
|
1. [Useful Scripts](useful-scripts.md): set of useful scripts.
|
|
2. [Useful Scripts](useful-scripts.md) Set of useful scripts
|
|
2. [Simple Switch](simple-switch.md): bmv2 Simple Switch implementation documentation.
|
|
3. [Simple Switch](simple-switch.md) Bmv2 Simple Switch implementation documentation
|
|
3. [Control Plane](control-plane.md): Simple Switch Control plane documentation.
|
|
4. [Control Plane](control-plane.md) Simple Switch Control plane documentation
|
|
4. [Debugging and Troubleshooting](debugging-and-troubleshooting.md): debugging and troubleshooting guidelines.
|
|
5. [Debugging and Troubleshooting](debugging-and-troubleshooting.md) Debugging and Troubleshooting guidelines
|
|
5. [*Scapy*](scapy.md): packet manipulation library written in Python.
|
|
6. [Scapy](scapy.md) Scapy Packet Manipulation library written in python
|
|
6. [FAQ](FAQ.md): list of most asked questions from students. |
|
7. [FAQ](FAQ.md) List of most asked questions from students |
|
\ No newline at end of file |
|
\ No newline at end of file |
|
|