netmap, selective processing.

Daniel Corbe corbe at corbe.net
Thu Jul 17 18:39:34 UTC 2014


Jan Bramkamp <crest at rlwinm.de> writes:

> On 16.07.2014 19:48, Daniel Corbe wrote:>
>> I hope this it the right place to ask questions about netmap.  I'm
>> toying with the idea of writing a netmap-based OSPF implementation
>> because bird's OSPF implementation isn't as good as its BGP
>> implementation, quagga doesn't scale well and openospfd doesn't compile
>> on 10-RELEASE or CURRENT.
>
> How many prefixes do you have in your OSPF area 0? If you run into
> scalability problems with OSPF on current x86 CPUs your network design
> probably is the cause of the problem e.g. redistributing announcements
> from BGP into OSPF.

I have about 15k interior routes.  And most of it is RFC1918 address
space or random /64s doing various things.  So when I say I'm worried
about scale issues, I should more accurately be saying "I just don't
want to use quagga but I can't get anything else to work."

>
> OSPF is just one more (rather ugly) IP protocol. Is moving the OSPF
> packets between kernel and userspace really a problem worth optimizing
> for? Putting netmap between the NIC and the kernel IP stack introduces
> overhead to all non OSPF packets unless your netmap application also
> implements IP routing and bypasses the kernel.

I've been searching for a reason to play with netmap.  It looks like a
neat toy.  And at worst I will have implemented something only useful to
one person but I'll also have learned something in the process.

>From the perspective of totally wrecking the performance of the host
network stack: how much more overhead am I really introducing by looking
at every packet inside of the netmap framework and going "am I really
interested in this?  Or should I simply pass it through to the host."

And I'm hoping this leads me down the avenue of doing interesting things
with MPLS.  MPLS is something that absolutely needs to look at
everything because labels should always be processed and forwarded
first.

-Daniel


More information about the freebsd-net mailing list