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>