Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Jan 2015 15:18:46 +0300
From:      "Alexander V. Chernikov" <melifaro@yandex-team.ru>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Navdeep Parhar <np@freebsd.org>
Subject:   Re: cxgbe and netmap
Message-ID:  <54A7DE26.6020501@yandex-team.ru>
In-Reply-To: <20150102165334.GB68836@onelab2.iet.unipi.it>
References:  <54A6BFFE.5080103@yandex-team.ru> <20150102165334.GB68836@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On 02.01.2015 19:53, Luigi Rizzo wrote:
> 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.
> for clarity, please call this "host netmap PORT", not pipe, as the
> latter can be confused with dummynet pipes.
Ok, understood.
>
>> 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..
> Maybe navdeep did not implement the host side for ncxgbe ?
> This should be a relatively trivial thing to do.
>
> Otherwise, for the time being, you could try the following hack:
>
> - create a tap interface, say tap*, and give it the same MAC as ncxgbe*.
>   You will use only the host port for tap*
>
> - open both tap* and ncxgbe* in netmap mode, make sure to set the same
>   flags, mode (promisc etc.), mtu on both;
>
> - run the routing daemon on top of tap*
>
> - use the tap*'s host netmap port to send up traffic coming from ncxgbe*
>   directed to the host (and vice versa, inject netmap packets coming
>   from tap*'s host netmap port into ncxgbe*'s netmap rings.
Oh. vlans on top of tap inteface :)
Ok, thanks for the suggestion, I'll try to do this.
>
> cheers
> luigi
>
>> Is it possible to make ncxgbe* interfaces behave more like ordinary ones?
>>
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"




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