lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200630210625.ytur4nwzrekhazvi@bsd-mbp.dhcp.thefacebook.com>
Date:   Tue, 30 Jun 2020 14:06:25 -0700
From:   Jonathan Lemon <jonathan.lemon@...il.com>
To:     Tom Herbert <tom@...bertland.com>
Cc:     netdev@...r.kernel.org
Subject: Re: [RFC PATCH 07/11] net: Introduce global queues

On Wed, Jun 24, 2020 at 10:17:46AM -0700, Tom Herbert wrote:
> Global queues, or gqids, are an abstract representation of NIC
> device queues. They are global in the sense that the each gqid
> can be map to a queue in each device, i.e. if there are multiple
> devices in the system, a gqid can map to a different queue, a dqid,
> in each device in a one to many mapping.  gqids are used for
> configuring packet steering on both send and receive in a generic
> way not bound to a particular device.
> 
> Each transmit or receive device queue may be reversed mapped to
> one gqid. Each device maintains a table mapping gqids to local
> device queues, those tables are used in the data path to convert
> a gqid receive or transmit queue into a device queue relative to
> the sending or receiving device.

I'm confused by this word salad, can it be simplified?

So a RX device queue maps to one global queue, implying that there's a
one way relationship here.  But at the same time, the second sentence
implies each device can map a global RX queue to a device queue.

This would logically mean that for a given device, there's a 1:1
relationship between global and device queue, and the only 'one-to-many'
portion is coming from mapping global queues across different devices.

How would I do this:
    given device eth0
    create new RSS context 200
    create RX queues 800, 801, added to RSS context 200
    create global RX queue for context 200 
    attach 4 sockets to context 200

I'm assuming that each socket ends up being flow-assigned to one of the
underlying device queues (800 or 801), correct?
-- 
Jonathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ