Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] Add TNA multipipe #11

Closed
wants to merge 34 commits into from
Closed

[DO NOT MERGE] Add TNA multipipe #11

wants to merge 34 commits into from

Conversation

Yi-Tseng
Copy link
Collaborator

No description provided.

Yi Tseng and others added 25 commits May 23, 2020 21:03
Licenses
Makefile from fabric-tofino
Move P4 code to src/main/p4
Add PipeconfLoader and pom file
Add bridge metadata and use different metadata for ingress and egress
metadata.
Supports basic fabric functionality:
 - packetio
 - IPv4 unicast
 - MPLS
 - L2 bridging

Work in progress:
 - multicast
 - double vlan tagging
 - IPv6 unicast
 - remove unused comment
 - fabric -> fabric-tna
The new Stratum fixed the CPU port issue
 - add new device "stratum-bfrt" to PTF
 - restructure repo
   - move p4 source code to /p4src
   - new script to build pipeline tar
 - add new pipeconf for stratum_bfrt
   - Needs "RAW_DEVICE_CONFIG" extension support
- update PTF test script
- custom flags for stratum-bfrt docker container
- Use stratum-bfrt as the default stratum binary
Added instructions on how to obtain and load the stratum-bfrt docker image. Also, I moved instructions for setting `STRATUM_BF_DOCKER_FLAG` as an optional last step, as that was preventing the stratum container to start (it was looking to mount `abs-path-to-stratum_bfrt` which didn't exist on my machine).

Apart from this, instructions work well. I was able to run all tests (excluding multicast and packet I/0 for which we don't have support yet).
bfrt_python CLI will use pipeline name as a variable name in shell.
We cannot use a name with "-" as a variable.
* Add SDE image with bfrt support
* Improve documet - now you can simply copy and paste the command
* Add basic P4Runtime tests

 - Read/Write table entry
 - Read/Write ActionProfileMember
 - Read/Write ActionProfileGroup
 - Modify ActionProfileGroup

* Cleanup PTF test
* Add direct/indirect counter tests

* address comments

 - rename traffic_class_counter to fwd_type_counter
 - rename read_counter to read_indirect_counter
 - make fwd_type_counter optional
remove unnecessary files
@pudelkoM pudelkoM changed the title Multi pipe new [DO NOT MERGE] Add TNA multipipe Jun 30, 2020
p4src/fabric_tna.p4 Outdated Show resolved Hide resolved
.gitignore Outdated
@@ -14,4 +14,4 @@ model_0.log
pcap_output
*.log
zlog-cfg-cur
.DS_Store
*.DS_Store
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

revert

Logs will then cantain useful information, if a test fails.
pudelkoM and others added 6 commits June 29, 2020 23:49
* Fix counter test

* remove unnecessary change

* no need to modify compiler output

* remove compiler output

* Fix format_exp_rcv

Co-authored-by: pudelkoM <pudelkoM@users.noreply.github.com>
* Add Acl read test

* Add priority to request

* Move entry read code to separate function
Update ONOS and SDE version. and pipeconf id
@ghost
Copy link

ghost commented Aug 18, 2020

Can one of the admins verify this patch?

@ccascone ccascone added the 🍩 merge Do not merge label Sep 3, 2020
@bocon13
Copy link
Member

bocon13 commented Dec 8, 2020

requires rebase to main

Basic setup

Convert to multipipe

Use ALPM to scale ipv4 to 750k

Fix multicast pruning not working

By carrying the original ingress port all the way to the
last pipe via bridged metadata.

Also fix the build script which was looking for missing files
from older runs.

Cleanup

Commit p4c output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍩 merge Do not merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants