Comments (5)
Running a different P4 program on each switch is not currently supported.
It shouldn't be too difficult to add this feature. The hardest part will be figuring out how change the manifest schema. Right now, there is only one P4 program per p4app.json manifest file. To support multiple programs, we would have to change the schema so that a program can be associated with a specific switch.
from p4app.
I suppose conditionals based on the switch config could be an immediate workaround?
from p4app.
p4app started off with idea that you'd specify a p4 program in the manifest, and then run it with different targets. The top-level p4app script compiles the p4 program, and passes it as an argument to one of the targets, which is a separate script. "multiswitch" is one of these targets.
In order to support multiple programs, we would have to redesign the manifest, and the flow between the scripts. For example, some targets only support a single p4 program -- if you had multiple programs, which one would you pass to these targets?
If you can propose an elegant solution (or even better, a PR), that would be great!
from p4app.
Hi @duanev
With the new version of p4app:
#54
you can specify a different P4 program per switch:
https://github.com/theojepsen/p4app/blob/tj/v2/examples/two-programs.p4app/main.py#L24
from p4app.
Fixed by #54.
from p4app.
Related Issues (20)
- P4app can't import pycrptodome HOT 15
- p4app run error
- p4app can
- p4app can't compile HOT 3
- simple_router.p4app fails to compile HOT 2
- Mininet crash when "program" is placed in subdirectory
- Simple_Switch stops to work and pops up AttributeError: 'module' object has no attribute 'P4RuntimeStub' HOT 1
- Allow running simple_switch with custom arguments HOT 2
- docker throwing error
- Set link bandwidth in multiswitch.p4app HOT 3
- The scapy sniff can not work correctly?
- packet drop in p4 switches
- PSA support
- Logs available for "s1" switch only
- Docker can't rebuild the image HOT 1
- Logging seems broken
- Setting Host IP Not Working
- RuntimeCmd: Error: Table has no action _drop()
- Unable to ping when "auto-control-plane" is set to false in p4app.json
- File "./p4apprunner.py", !! Unable to run the example program! HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from p4app.