Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 May 2015 21:08:56 +0200
From:      ulric@siag.nu
To:        Barney Cordoba <barney_cordoba@yahoo.com>
Cc:        Luigi Rizzo <rizzo@iet.unipi.it>, freebsd-net@freebsd.org, owner-freebsd-net@freebsd.org
Subject:   Re: Fwd: netmap-ipfw on em0 em1
Message-ID:  <d98501db70883d1d7cef05dbc17f3d2b@siag.nu>
In-Reply-To: <1009610346.1107538.1430753353703.JavaMail.yahoo@mail.yahoo.com>
References:  <CA%2BhQ2%2Bj7wPca%2Bf_h67u8aHN1BGdVDLvUeRGSXahbNooY6qc9kA@mail.gmail.com> <1009610346.1107538.1430753353703.JavaMail.yahoo@mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

2015-05-04 17:29 skrev Barney Cordoba via freebsd-net:
> It's not faster than "wedging" into the if_input()s. It simply can't
> be. Your getting packets at interrupt time as soon as their processed
> and  you there's no network stack involved, and your able to receive
> and transmit without a process switch. At worst it's the same, without
> the extra plumbing. It's not rocket science to "bypass the network
> stack".
> The only advantage of bringing it into user space would be that it's
> easier to write threaded handlers for complex uses; but not as a
> firewall (which is the limit of the context of my comment). You can do
> anything in the kernel that you can do in user space. The reason a
> kernel module with if_input() hooks is better is that you can use the
> standard kernel without all of the netmap hacks. You can just pop it
> into any kernel and it works.

If my little application is N*1000 lines, the part that needs fast raw 
network access is N*100 lines and can get that at wirespeed with N*10 
lines interfacing with Netmap, then that is IMHO an excellent 
proposition. I don't see how popping it into the kernel makes any sense.

Ulric




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d98501db70883d1d7cef05dbc17f3d2b>