ne:sdn:p4:tofino
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ne:sdn:p4:tofino [2022/12/06 15:07] – [Use SDK P4studio] admin | ne:sdn:p4:tofino [2023/08/10 18:14] (aktuell) – admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Intel Tofino ====== | ====== Intel Tofino ====== | ||
| + | * https:// | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | === Ressources (SDK, etc.): === | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| ===== Use SDK P4studio ===== | ===== Use SDK P4studio ===== | ||
| <code bash> | <code bash> | ||
| - | # select the desired version of Barefoot SDE | + | # select the desired version of Barefoot SDE (is already set in ~/.profile) |
| source ~/ | source ~/ | ||
| + | # setup Virtual Ethernet (veth) interfaces | ||
| + | # only necessary once, if Virtual interfaces not exist (check via ifconfig) | ||
| + | sudo $SDE_INSTALL/ | ||
| + | |||
| + | # 1. compile [1.Shell] | ||
| + | ~/ | ||
| + | # 2. run tofino-model [1. Shell] | ||
| + | $SDE/ | ||
| + | # 3. run the driver (bf_switchd) [2. Shell] | ||
| + | $SDE/ | ||
| + | |||
| + | # 4. bfshell-Access oder Python Script [3. Shell] | ||
| + | $SDE/ | ||
| + | #oder ein Python Skript starten | ||
| + | ~/ | ||
| + | |||
| + | #scapy (run in separte terminal - 4. Shell) | ||
| + | >>> | ||
| + | |||
| + | # sniff packets (numerically, | ||
| + | sudo tcpdump -v -n -XX -i veth0 | ||
| </ | </ | ||
| Zeile 18: | Zeile 45: | ||
| cd bf-sde-9.9.1/ | cd bf-sde-9.9.1/ | ||
| - | # install p4studio (detailled instructions below) | + | # install p4studio (detailled instructions below), requires 4-8GB of RAM (otherwise build error) |
| ./p4studio interactive | ./p4studio interactive | ||
| #or if profile already exists: | #or if profile already exists: | ||
| Zeile 30: | Zeile 57: | ||
| <code bash> | <code bash> | ||
| + | #nicht klar, ob das notwendig ist - pfad zum *.tgz angeben im ' | ||
| tar -xzvf bf-reference-bsp-9.9.1.tgz | tar -xzvf bf-reference-bsp-9.9.1.tgz | ||
| export BSP=/ | export BSP=/ | ||
| cd $BSP | cd $BSP | ||
| - | ./ | + | ./ |
| user@wedge100bf: | user@wedge100bf: | ||
| Zeile 92: | Zeile 120: | ||
| </ | </ | ||
| + | ==== USB-Stick mounten ==== | ||
| <code bash> | <code bash> | ||
| - | export SDE=/ | ||
| - | # mount USB-Stick | ||
| sudo mount -t vfat /dev/sdb1 / | sudo mount -t vfat /dev/sdb1 / | ||
| </ | </ | ||
| - | ---- | ||
| ==== Variablen setzen ==== | ==== Variablen setzen ==== | ||
| <code bash> | <code bash> | ||
| - | cd bf-sde-9.9.0/; . ~/ | + | export SDE=/ |
| + | cd bf-sde-9.9.1/; . ~/ | ||
| + | # oder | ||
| + | source ~/ | ||
| + | sudo $SDE_INSTALL/ | ||
| + | </ | ||
| + | Die Variablen werden derzeit über die '' | ||
| + | falls Kerneldriver bereits geladen) | ||
| + | |||
| + | ==== P4 Programm starten ==== | ||
| + | <code bash> | ||
| + | ./ | ||
| + | ./ | ||
| - | sudo $SDE_INSTALL/ | ||
| - | ./ | ||
| bfshell> ucli | bfshell> ucli | ||
| qspf show | qspf show | ||
| - | |||
| pm show | pm show | ||
| port-add 1/0 10G NONE | port-add 1/0 10G NONE | ||
| Zeile 116: | Zeile 151: | ||
| port-enb 1/- | port-enb 1/- | ||
| </ | </ | ||
| + | ---- | ||
| + | |||
| + | ===== EdgeCore AS 4610 (172.16.1.8) ===== | ||
| + | Default Login für baseboxd\\ | ||
| + | **login:** basebox | ||
| + | **password: | ||
| - | ===== AS 4610 ===== | ||
| <code bash> | <code bash> | ||
| sudo client_drivshell port xe3 AN=on | sudo client_drivshell port xe3 AN=on | ||
| Zeile 138: | Zeile 178: | ||
| port-enb 1/3 | port-enb 1/3 | ||
| </ | </ | ||
| + | |||
| + | ==== AS4610 VLAN Konfig | ||
| + | |||
| + | <code bash> | ||
| + | #ip link show | ||
| + | #brctl show | ||
| + | bridge vlan show | ||
| + | sudo systemctl restart systemd-networkd | ||
| + | </ | ||
| + | |||
| + | |||
| ===== agema-ag5648: | ===== agema-ag5648: | ||
| Zeile 156: | Zeile 207: | ||
| sudo client_drivshell port xe3 AN=on SP=10000 | sudo client_drivshell port xe3 AN=on SP=10000 | ||
| #dannach können alle ports aktiviert werden | #dannach können alle ports aktiviert werden | ||
| - | |||
| sudo client_drivshell port xe1 AN=on SP=10000 | sudo client_drivshell port xe1 AN=on SP=10000 | ||
| sudo ip link set port2 up | sudo ip link set port2 up | ||
| - | </ | ||
| - | |||
| - | ==== AS4610 VLAN Konfig | ||
| - | Default Login für baseboxd\\ | ||
| - | **login:** basebox | ||
| - | **password: | ||
| - | |||
| - | <code bash> | ||
| - | #ip link show | ||
| - | #brctl show | ||
| - | bridge vlan show | ||
| - | |||
| - | sudo systemctl restart systemd-networkd | ||
| </ | </ | ||
ne/sdn/p4/tofino.1670339244.txt.gz · Zuletzt geändert: von admin
