Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jan 2015 10:46:40 -0800
From:      Navdeep Parhar <np@FreeBSD.org>
To:        "Alexander V. Chernikov" <melifaro@yandex-team.ru>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: cxgbe and netmap
Message-ID:  <20150102184640.GB28813@ox>
In-Reply-To: <54A6BFFE.5080103@yandex-team.ru>
References:  <54A6BFFE.5080103@yandex-team.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 02, 2015 at 06:57:50PM +0300, Alexander V. Chernikov wrote:
> Hello list!
> 
> FreeBSD has netmap support for chelsio T5 cards, which is amazing.
> The great thing about implementation is that you can play with
> traffic-generating applications without affecting "main" OS interface,
> which has always been a problem for Intel cards.
> However, this approach (having additional netmap-only ifp) turns to be a
> bit problematic for netmap-based networking elements participating in
> routing.
> 
> In Intel case you can configure all your interfaces, run routing daemon,
> run netmap application and punt all to-host traffic  to kernel via host
> pipes.
> It looks like I can't do this using current implementation: mac
> addresses are different for main/netmap interfaces so I can't run
> routing daemon on main interface (or sub-interfaces).
> I also can't run routing daemon on top of ncxgbe* interface since it
> appears to ignore non-netmap-derived traffic..
> 
> Is it possible to make ncxgbe* interfaces behave more like ordinary ones?
> 

Yes, I need to write a simple transmit and receive handler for the
non-netmap traffic on the ncxgbe/ncxl interfaces.  This is a bit
complicated because the normal rx runs in a mode where 1 rx buffer does
not always equal 1 rx frame.

Now that netmap is in GENERIC, it may be best to carve out a separate
cxgbe_netmap module that can be loaded by those who want to use netmap
on top of cxgbe/cxl hardware.  So no more magic 'n' interfaces by
default (some people were caught by surprise at the sudden appearance of
the 'n' interfaces on HEAD), and fully functional 'n' interfaces as soon
as you load the additional module.

What do you and other netmap users think?  I'm open to taking this
driver's netmap support in whatever direction the users want it to go.

Regards,
Navdeep



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