Comments (3)
You need to say how all the ToDevice should orchestrate the query of the 3 paths. For instance with a RoundRobinSched.
from click.
I tried with the dpdk device and add scheduler but I got this error
‘P1 :: PrioSched’ pull output 0 connected to ‘out0 :: ToDPDKDevice’ push input 0
modified code:
FromDPDKDevice(0) -> c0 :: Classifier(12/0806 20/0001,
12/0806 20/0002,
12/0800,
-);
out0 :: ToDPDKDevice(1);
outtcp :: Queue(1024);
outudp :: Queue(1024);
outoth :: Queue(1024);
P1 :: PrioSched;
outtcp, outoth, outudp -> P1;
P1 -> out0;
// ARP request need to be answered, obviously
c0[0]
-> Print("ARPResponder")
-> ARPResponder(10.0.0.11 00:0c:29:64:45:48)
-> outoth;
// ARP responses are handed to Linux
c0[1]
-> Print("ToHost")
-> Discard;
// -> ToHost();
// Non-IP packets are dropped
c0[3]
-> Print("Discard")
-> Discard;
// Other IP packets. Split on UDP, TCP and rest
c0[2]
-> Print("IP")
-> Strip(14)
-> CheckIPHeader()
-> c1 :: Classifier(9/17, 9/06, -);
// TCP packets
c1[1] -> Print(TCP) -> outtcp;
// UDP packets
c1[0]
-> Print(UDP)
-> outudp;
// non-UDP and non-TCP packets
c1[2] -> Print(UNKNOWN) -> outoth;
and also I used round-robin
R1 :: RoundRobinSched;
P1 :: PrioSched;
outtcp, outoth, outudp -> R1;
R1 -> P1;
//outtcp, outudp, outoth -> P1;
P1 -> out0;
from click.
ToDPDKDevice is not a pull element, it's a push element, so you need push element before. RoundRobinSwitch is the "push" equivalent of RoundRobinSched. See page 18 of http://www-soc.lip6.fr/~genius/kohler-thesis.pdf for more information :)
from click.
Related Issues (20)
- Unit test for Elements HOT 2
- How to build a dependencies files HOT 2
- Add library to click HOT 2
- issue with adding library HOT 3
- chaning .click file dynamicly HOT 4
- Run multiple instanse of click with same DPDK HOT 3
- Sync with meson in DPDK HOT 2
- compilation error on Ubuntu 21.04 (g++ 11.1) HOT 9
- firewall implementation and traffic forwarding HOT 4
- Flow based Load Balancer HOT 7
- create handler HOT 2
- Benchmarking a click NF showing weird behavior
- Multi threading in click HOT 2
- Make minios fails on Ubuntu 20.04 error: no include path in which to search for stdint.h
- linux_true was not declared HOT 1
- Hash collisions in IPRewriter? HOT 2
- Click program with DPDK cause high CPU utilization on other cores even if using taskset and lcore option HOT 1
- VXLAN elements
- element "IPReassembled" how to use?
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 click.