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>