From owner-freebsd-net@freebsd.org Thu Jul 14 20:06:32 2016 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0243CB9936F for ; Thu, 14 Jul 2016 20:06:32 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x234.google.com (mail-io0-x234.google.com [IPv6:2607:f8b0:4001:c06::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C35B11738 for ; Thu, 14 Jul 2016 20:06:31 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-io0-x234.google.com with SMTP id q83so86153583iod.1 for ; Thu, 14 Jul 2016 13:06:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to; bh=svxFh8vxmNvDIzJUNx6EgtmugJzaJCarPvSA0xEJi8o=; b=foLdpNn+cojKTfY1LhJgtM6+kpbM/MbHNbeLSqi7JxTtqutnaJAmHrcp8xojpkojos 28U2qDVJ91TSQgcfxzCtNmr2Fs1j8gs4RDneMIbagPNoHbPQNgB4PHNO7MF8tgiGZwSD evRtVPQ8cCEJrTgRXddwt3lMo3vwxsBOvkshI8qbJ/d55zlxJEVzzlenYvA43+1rWydn w5PnOfYt3KsZLHAbhHmpnz4ZqVDHDA/P/yfxyRraQf5v+3QUxbgw2ErGDVEnX/sgcnk0 gikhwAi9yBBvAupzT4Bx3khmKUTh1H8Gwn2EwroyqWmgvTsxj63vyIUPol+EbEm9+YoA vQ9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=svxFh8vxmNvDIzJUNx6EgtmugJzaJCarPvSA0xEJi8o=; b=axM1tsTaJxtvmkjU211HGRzk9Vcvs82Kp42wUPvnFQtQoR/1ot//dhtFmBjb0gAzKA E1aLz80+qED4RoCocAPH9/KiZ8xIOuOWDrnuZ+EyEe3sGwgz/oVm6HDrg8NDz4zoOHkC gT/6DxXpAPm57QOIcshBigXCpRfT+2hOW1cuKI+94P6xjFbjOxNXVIlxuTt1zvOnyev7 pJeLsjE/9PbZDtniNcUZo+H7f+kTI2uyajZHhjaL2v1s7V83vBnSELO44trmAB6y8Mlf 20BFrpdV6D1FdPBOmtKmirhD8WekxG+01tLHmxyja6UWJviXPk3I9mYyNKMC69Uq2h0w YNPQ== X-Gm-Message-State: ALyK8tLK3awoKCLiZyxpypEGoQ1SqsE0TTejsDM1Xeu33Win6UM/G13Kpg4sfzilhb5CIW5aLk07H+j/74T1iw== X-Received: by 10.107.144.10 with SMTP id s10mr15999908iod.165.1468526790963; Thu, 14 Jul 2016 13:06:30 -0700 (PDT) MIME-Version: 1.0 Sender: adrian.chadd@gmail.com Received: by 10.36.141.129 with HTTP; Thu, 14 Jul 2016 13:06:30 -0700 (PDT) From: Adrian Chadd Date: Thu, 14 Jul 2016 13:06:30 -0700 X-Google-Sender-Auth: BdAIcqL5aRzOoOJ2L57YtpijLck Message-ID: Subject: proposal: splitting NIC RSS up from stack RSS To: FreeBSD Net Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2016 20:06:32 -0000 Hi, now that 11 is branched and marching on, I'd like to start pushing some more improvements/evolution into the RSS side of things. The short list feedback from people is: * it'd be nice to be able to configure per-device RSS keys on the fly; * it'd be nice to be able to configure per-device RSS bucket mappings on the fly; * it'd be nice to be able to configure per-device RSS hash configurations on the fly; * it'd be nice to be able to configure per-bucket CPU set mappings on the fly; * it'd be nice to split the RSS driver side, the RSS packet input side and the RSS stack side of things up into separate options; * UDP IPv6 RSS support would be nice (it works, but i need to test/integrate bz's v6 udp locking changes for it to really matter); * it'd be nice to scale linearly on incoming /and/ outgoing connections. Right now incoming connections are easy, but outgoing connections aren't so easy. The other big thing, mostly to be expected, is: * it'd be nice if this were better documented; * it'd be nice if we had easy examples of this stuff working, complete with library bits in base. I'm going to tidy up the NetworkRSS bits in the wiki soon and map out a roadmap for 12 with some other bits and pieces. The "can we have RSS for NICs but not for the stack, and have keys/mapping/bucket configurable" is actually a biggish thing, as that ties into people wanting to abuse things with netmap. They don't care about the rest of the stack being RSS aware; they just want to be able to control the NIC configurations from userspace and then get it completely out of the way. I'd appreciate any other feedback/comments/suggestions. If you're using RSS and you haven't told me then please let me know! thanks, -adrian