Comments (7)
Oh actually I see things changed since the last time I built mOS ;) I see dpdk-iface is failing to build, I guess that may be part of the problem :
"CHRDEV "dpdk-iface" major requested (1110) is greater than the maximum (512)". Is that a known problem?
EDIT: I solved that temporarily by setting the major number to 500. I have a very "usual" Ubuntu server, maybe you should change the default? Nevertheless I still can't make it work (I could like one year ago with i40e though).
from mos-networking-stack.
Ok, I could make it work for 1 core, because mlx5 does not support 52 bytes RSS key (max is 40 bytes), so I disabled the configuration of the RSS key. It will break multi-core for sure... But it works with one.
from mos-networking-stack.
Well, simply resizing the hash key to 40 bytes worked.
Also, I had the same problem of endianess for the key, so I tried to change this in config.c :
-
if (!strcmp(*argp, "net_i40e"))
-
if (!strcmp(*argp, "net_i40e") || !strcmp(*argp, "net_mlx5") )
But the performance with 3 cores is still somehow heratic. Exactly as with the problem this solved for net_i40e.
I'll leave you close the post. If you want to support mlx5 you may just do that, and latest ubuntu by changing the major number.
from mos-networking-stack.
Hi Tom,
First of all, thanks for the detailed reports and comments.
Regarding the RSS issue, I suspect that this is closely related to #17 . mOS precalculates the expected Rx queue number for receiving the returning packets for the given 4-tuple (GetRSSCPUCore() in core/src/util.c).
- As you might notice in d88f3b1, our current code only cares ixgbe and i40e.
- Although i40e NICs and mlx5 NICs use the same RSS key (and the same endianess), the way to translate the hash value to the Rx queue number can be different.
- However, as opposed to Intel NICs, the datasheet of Mellanox NICs does not explain those details. I will take a look on this issue, but it might take some time to resolve.
If you have any chance, can you please check whether mOS works fine with mlx5 for 2 and/or 4 cores?
Thanks,
YoungGyoun
from mos-networking-stack.
Apologies for the delayed response. The dpdk-iface
module is reporting a run-time issue for newer kernels as they are unable to assign a major device number (above a certain threshold, 511) to newly registered character devices. I patched the code for mTCP a few weeks ago (mtcp-stack/mtcp@2d308b5) but forgot to apply it to mOS. Please give me a a few days to apply similar changes to mOS core stack.
Also, you are right. mlx4/mlx5
devices don't really need neither igb_uio.ko
nor dpdk_iface.ko
drivers. They are only used for Intel-based Ethernet NICs. The setup.sh
script is written for Intel-specific setups which seems to be one of the few problems that you have faced in your setup. We need a revision for setup.sh
as well. We plan to update it in the coming days.
from mos-networking-stack.
@ygmoon Yes, as a researcher, Mellanox NICs are a pain when it comes to documentation
It works great for 1, 2 and 4 cores. So yes, it looks like the old problem...
@ajamshed even a better fix!
Thanks, both of you for the help. I can live with 1/2/4 for now, no rush ;)
from mos-networking-stack.
Oh actually I see things changed since the last time I built mOS ;) I see dpdk-iface is failing to build, I guess that may be part of the problem :
"CHRDEV "dpdk-iface" major requested (1110) is greater than the maximum (512)". Is that a known problem?
EDIT: I solved that temporarily by setting the major number to 500. I have a very "usual" Ubuntu server, maybe you should change the default? Nevertheless I still can't make it work (I could like one year ago with i40e though).
This part is fixed. Please see the devel
branch.
from mos-networking-stack.
Related Issues (20)
- Error compile dpdk HOT 19
- compile example error HOT 5
- mOS Configuration HOT 4
- i40e/XL710 not receiving packets HOT 4
- segfault when using only some interfaces HOT 1
- insmod: ERROR: could not insert module drivers/dpdk-16.11/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko: Unknown symbol in module HOT 6
- [nat] Packets not translated when using 3 cores HOT 10
- Mac address prevent change? HOT 2
- Can mOS be used in conjunction with IPS, not IDS? HOT 1
- Can mOS API run on a Raspberry Pi B+? HOT 10
- DBG_OPT flag cause compiling error HOT 1
- how to use vhost-user in mOS HOT 3
- Performance problem HOT 6
- Example for mtcp_peek?
- insmod: ERROR: could not insert module drivers/dpdk-16.04/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko: Invalid module format HOT 1
- QOS implementation support with mOS HOT 4
- Problem starting midstat: EAL: Error - exiting with code: 1 Cause: Cannot init mbuf pool HOT 7
- Issue with running sample application using > 2 cores. HOT 3
- Problems with more than 23 flows. HOT 4
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 mos-networking-stack.