Comments (8)
Are you sure your traffic is crossing that link? I believe it is not even crossing the link. Getting 20Gbps through bmv2 switch is very unlikely.
Try to check where traffic goes first, I think the problem resides there.
from p4-utils.
I run the example in p4-utils, the iperf
test is the same (around 20Gbps)
mininet> iperf s1 s2
*** Iperf: testing TCP bandwidth between s1 and s2
[ Level 25] newfn: *** Iperf: testing TCP bandwidth between s1 and s2
*** Results: ['18.3 Gbits/sec', '18.3 Gbits/sec']
[ Level 25] newfn: *** Results: ['18.3 Gbits/sec', '18.3 Gbits/sec']
from p4-utils.
I believe that iperf test is not using the interfaces at all.
Can you do the iperf from hosts?
from p4-utils.
Iperf from hosts perform as expected, around 20Mbps, which is as same as config.
If iperf test on switch is not using interface, it test on what?
from p4-utils.
No it is not, switches are located at the main namespace, if you assign ips to them (which i do not recommend, and believe it is explained somewhere) those ips get configured at the main namespace, meaning that when you send traffic from SX to SY they are directly forwarded locally without using any link.
if you do route -n
you will see that both routes are local at the main namespace.
Hope this helps, if not I can try to explain it with further detail.
from p4-utils.
As traffic between switches is directly forwarded locally, Is there some other way to restrict the bandwidth between switches traffic?
from p4-utils.
There are two possible options I believe:
-
Make switches get their own network namespace, but then many p4-utils things that assume that switches can be configured/accesses locally might not work.
-
Just attach some nodes to those switches and do the communication from them (it is not the same but close..).
from p4-utils.
if you do
route -n
you will see that both routes are local at the main namespace.
Thank you for your explanation, but I did route -n
but cannot find the printout is related to the mininet ips. (33 is VM intranet IP)
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 33.33.33.21 0.0.0.0 UG 100 0 0 ens3
33.33.33.0 0.0.0.0 255.255.255.0 U 0 0 0 ens3
33.33.33.21 0.0.0.0 255.255.255.255 UH 100 0 0 ens3
There is some mininet info. (still the p4-utils example)
s1 -> Thrift port: 9090
s2 -> Thrift port: 9091
s3 -> Thrift port: 9092
**********
Network configuration for: h1
Default interface: h1-eth0 10.0.1.1 00:00:0a:00:01:01
**********
**********
Network configuration for: h2
Default interface: h2-eth0 10.0.2.2 00:00:0a:00:02:02
**********
**********
Network configuration for: h3
Default interface: h3-eth0 10.0.3.3 00:00:0a:00:03:03
**********
**********
Network configuration for: h4
Default interface: h4-eth0 10.0.3.4 00:00:0a:00:03:04
**********
from p4-utils.
Related Issues (20)
- why is the preconfigured VMs not available now? HOT 6
- Bittorent recognition from packet payload HOT 1
- Problems encountered when using the p4run command HOT 5
- Is the preconfigured p4-utils-vm only has a tty shell when start it? HOT 2
- Bvm2 switch on p4util topo cannot ping between hosts HOT 1
- Hardware Interface
- Using @controller_header
- How to run multiple controllers HOT 6
- How to clone packets more than once back to back? HOT 2
- Tofino Example: no bf_swithcd for one of the switches HOT 3
- Why SimpleSwitchP4RuntimeAPI doesn't support reading and writing register? HOT 1
- Problem with the “sudo p4run --config p4app.json” command regarding ping between hosts HOT 3
- Read and write to registers HOT 6
- Installing issue HOT 6
- Username and password for pre-installed VM HOT 2
- Problem with switch_thrift_API.py file
- Graceful shutdown when stopping with Ctrl+C HOT 1
- Does P4Utils Support IPv6 ? HOT 2
- register cell size HOT 1
- p4run problem HOT 5
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 p4-utils.