cxgbe and netmap

Alexander V. Chernikov melifaro at yandex-team.ru
Sat Jan 3 12:19:54 UTC 2015


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 at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



More information about the freebsd-net mailing list