On 02/24/2016 01:49 PM, Jamal Hadi Salim wrote:
On 16-02-23 10:34 AM, Daniel Borkmann wrote:
On 02/23/2016 03:28 PM, Jamal Hadi Salim wrote:
[..]
These are basic metadata. The question to ask is what could one use
skb->hash for. Today it is used to select a cpu to balance to.
Right, but that happens before you decode that information from your TLV
on ingress qdisc. And any subsequent skb_get_hash() to read out skb->hash
will effectively overwrite what you set there and call into flow dissector.
Drivers do set the hash. My use case is slightly different.
I have a NIC which has an embedded cavium processor. This thing
strips off the TLV and uses the hash to select the host MSI.
Only thing we dont use at the moment is queue_mapping.
Ok, but the example says ingress qdisc. ;) I presume the driver for the
NIC and the offloading parts are non-public? :/ So, without them, placing
this on ingress qdisc doesn't seem much useful wrt the skb hash example,
and most people only have the software part (for ingress I mean) available.