how do non-snabb apps work?

105 views
Skip to first unread message

carlit...@gmail.com

unread,
Oct 4, 2016, 10:06:43 PM10/4/16
to Snabb Switch development
Hi all,

Learning about snabb and working thru example apps. I find it much easier to grasp than DPDK. 

But I am stuck two things: 

1. how non-snabb apps, like ping, traceroute or dnsmasq, work? I know that the whole NIC is taken over by the snabb app, so how can an app that talks to the kernel communicate to the outside world?
2. I want to create an ip software router based on snabb, any pointers? 

Thanks for all the hard work you guys put in creating snabb. 

Katerina Barone-Adesi

unread,
Oct 7, 2016, 4:58:13 AM10/7/16
to snabb...@googlegroups.com
On Wed, Oct 5, 2016 at 4:06 AM, <carlit...@gmail.com> wrote:
>
> 1. how non-snabb apps, like ping, traceroute or dnsmasq, work? I know that
> the whole NIC is taken over by the snabb app, so how can an app that talks
> to the kernel communicate to the outside world?

There are several options:
a) They run on a card that is being driven by the kernel rather than
Snabb - this requires an extra NIC.
b) You write your own ping/traceroute/etc - I've written apps that
responds to ping (v4 and v6), but they haven't been fully upstreamed.
c) You have an app that divides traffic into traffic destined for your
app and everything else, and directs the everything-else traffic to a
VM with a kernel networking stack in it - my team uses
https://github.com/Igalia/snabb/tree/lwaftr/src/program/snabbvmx , but
this approach works better for an app with very well-defined traffic
than for something more general like an ip software router.

Kat

suni...@gmail.com

unread,
Oct 10, 2016, 7:12:58 PM10/10/16
to Snabb Switch development
Thanks Katerina!
I took look at snabbvmx and I understand option C.
Option B seems to be the most viable for me. I will more into it.
Reply all
Reply to author
Forward
0 new messages