kohler / click

The Click modular router: fast modular packet processing and analysis
Other
734 stars 324 forks source link

Router initialization failed #466

Closed p4pe closed 3 years ago

p4pe commented 3 years ago

Hello,

I installed ClickOS following this tutorial

And I tried to run a simple example with FastUDPSource element.. The router initialization.

fast

My .click file configuration is: FastUDPSource(100000,500000, 60, 00:00:00:00:00:02, 10.10.10.2, 1234, 00:00:00:00:00:03, 10.10.10.3, 1234)->ToDevice()

tbarbette commented 3 years ago

FastUDPSource was not compiled. I'm not sure there is a version for minios. Though I don't see why the userlevel version would not work. You can try removing "ELEMENT_REQUIRES(userlevel)" in elements/userlevel/fastudpsrc.cc:266, then make clean && make and see what happens.

p4pe commented 3 years ago

@tbarbette Thank you for your answer.

There is no fastudpsrc.cc.226 in the userlevel directory.. only in linuxmodule directory. This element only works(?) in kernel module.

tbarbette commented 3 years ago

It's in elements/userlevel, not userlevel ;)

p4pe commented 3 years ago

@tbarbette We said the same ;)

elmeents
tbarbette commented 3 years ago

https://github.com/kohler/click/blob/master/elements/userlevel/fastudpsrc.cc ? Are you on some old commit/branch?

p4pe commented 3 years ago

I followed this tutorial for the installation

p4pe commented 3 years ago

@tbarbette did i do something wrong?

tbarbette commented 3 years ago

That repository is extremely old (https://github.com/sysml/clickos), at that time there was no FastUDPSrc in userlevel. Later, clickos was merged into mainline click (here), so I suggest using that instead.

But I don't know if it still works now, or if it will compile with changes that people did recently. Authors did not maintain clickos as far as I know. If you have trouble I'd suggest contacting clickos authors directly. If you have issues on this repository you can post them I guess and I'll do my best if it's click-related.

p4pe commented 3 years ago

Thank you @tbarbette, now I installed and use the userlevel click. Next step is to use along with DPDK

tbarbette commented 3 years ago

Did you want to use Click OS specifically? Or just any version of Click is okay? If you don't need the virtualization, Click+DPDK is the way to go for sure. And maybe even inside containers with SRIOV for performance that is largely adopted now (More than lightweight VM such as MiniOS/ClickOS). Note the DPDK version in mainline Click is limited, if you want state of the art performance try FastClick.

p4pe commented 3 years ago

Thanks for the feedback @tbarbette . Are you aware of any tutorial/material on coupling DPDK with Click?

tbarbette commented 3 years ago

This applies to DPDK for both Click and FastClick, just that with Click the multiqueing must be done manually and you won't have batching: https://github.com/tbarbette/fastclick/wiki/High-speed-I-O#dpdk

And a general tutorial, works for both too : https://github.com/tbarbette/fastclick/wiki/Tutorial

p4pe commented 3 years ago

Thanks! Probably I have to take a look on how DPDK works, because i am newbie!