Date: Thu, 16 Jun 2016 09:18:03 +0200 From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de> To: Dominik Schoeffmann <schoeffm@in.tum.de> Cc: Jim Thompson <jim@netgate.com>, Navdeep Parhar <np@FreeBSD.org>, "net@freebsd.org" <net@freebsd.org>, Andrey Yakovlev <andy.yakov@ya.ru> Subject: Re: Netmap Checksum Offloading Message-ID: <CDFB8500-24F6-47AB-9352-E7E08EAED761@lurchi.franken.de> In-Reply-To: <576249FA.2050809@in.tum.de> References: <57601DFA.2040008@in.tum.de> <470941466032510@web23o.yandex.ru> <dd9058ce-ac8a-0c79-a8b0-e4814a17e504@FreeBSD.org> <DA81EB82-4D4A-44F6-87F7-CD854AFF8694@netgate.com> <576249FA.2050809@in.tum.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 16 Jun 2016, at 08:40, Dominik Schoeffmann <schoeffm@in.tum.de> wrote: > > Is the checksum offloading patch for the igb(4) driver available online? > (I could not find it) > I would really like to take a look at it, espacially the context > descriptor part of it. I would also be interested in it... For looking at SCTP checksum offloading. Best regards Michael > > Best regards, > Dominik > > On 16.06.2016 02:04, Jim Thompson wrote: >> >> Luiz Otavio O Souza (loos@) developed these for igb(4) and, by extension, em(4) for use in netmap-fwd. >> >> He’s just gone back to Brazil with 82599 ixgb(4) hardware. I’m sure he’ll develop similar patches for ixgb(4) in the near future. >> >> Chelsio is also “on the list”, but I figured I’d speak to np@ about it first. ;-) >> We might do ixl(4) as well. >> >> Before Luiz retired to Brazil, we discussed upstreaming these to FreeBSD. We’re committed to make it happen, but I doubt they make 11. >> >> Jim >> >>> On Jun 15, 2016, at 6:50 PM, Navdeep Parhar <np@FreeBSD.org> wrote: >>> >>> On 06/15/2016 16:15, Andrey Yakovlev wrote: >>>> ive heard on bsdcan this year that some patches exist to add hwcsum offloading to netmap, hope to see it chelsio at least >>> >>> cxgbe/cxl is a bit sneaky and will let you override netmap (on tx only). >>> The ncxl interfaces declare themselves capable of checksumming but all >>> such capabilities are disabled by default. Just enable txcsum on the >>> interface and the hardware will do checksum insertion on tx. No way to >>> solve the rx part entirely within the driver -- netmap has to be willing >>> to accept checksum related flags from the driver. >>> >>> Regards, >>> Navdeep >>> >>>> >>>> -- >>>> ./andy >>>> >>>> >>>> 14.06.2016, 12:15, "Dominik Schoeffmann" <schoeffm@in.tum.de>: >>>>> Dear Netmap Developers, >>>>> >>>>> during the course of my bachelor's thesis, I modified a packet generator >>>>> called MoonGen [1] in order to utilize netmap. >>>>> One key component was to flexibly offload checksums for different kinds >>>>> of packets (IPv4, UDP, TCP). >>>>> The ixgbe netmap patch was modified [2] in order to construct context >>>>> descriptors and suitable data descriptors. This is implemented in less >>>>> than 250 LoC (including pseudo-header calculations). >>>>> The man page states, that checksum offloading is available via ethtool, >>>>> although a solution inside the netmap API might be a cleaner way for >>>>> applications to actually use these features. >>>>> Attached is a graph showing the performance implication of using >>>>> offloading in the current implementation. >>>>> As can be seen, offloading has only a minor impact. >>>>> When regarding this data (and comparing it to other frameworks), please >>>>> keep in mind, that internally a lot of per-packet effort is needed due >>>>> to the software architecture of the packet generator. >>>>> >>>>> The question being: >>>>> Would it not make sense to include checksum offloading inside of netmap >>>>> in order to accomodate applications operating on layer 3 and above? >>>>> As these programs need to calculate the checksums in software, it would >>>>> be just as fast to move these calculations to the kernel for NICs >>>>> without checksum offloading support (and the kernel would act as a library). >>>>> The problem which currently is imposed by the fact, that netmap exports >>>>> the complete ring, is that context descriptors disrupt the data >>>>> descriptors, which is unpleasant for the application. >>>>> But you may find the data interesting nevertheless. >>>>> >>>>> Best Regards, >>>>> Dominik Schoeffmann >>>>> >>>>> [1] https://github.com/dschoeffm/MoonGen/tree/netmap >>>>> [2] https://github.com/dschoeffm/netmap/tree/mg-chksum-offloading >>>> _______________________________________________ >>>> freebsd-net@freebsd.org mailing list >>>> https://lists.freebsd.org/mailman/listinfo/freebsd-net >>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >>>> >>> >>> _______________________________________________ >>> freebsd-net@freebsd.org mailing list >>> https://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?CDFB8500-24F6-47AB-9352-E7E08EAED761>
