svn commit: r327559 - in head: . sys/net

Steven Hartland steven at multiplay.co.uk
Fri Jan 5 16:11:36 UTC 2018


On 05/01/2018 09:41, hiren panchasara wrote:
> IIRC, with 'RSS' in kernconf, most NIC drivers and stack should do the
> right thing. Look at drivers and also conn startup code in TCP as I
> recall it doing the flowid mapping correctly when stream originated from
> the other side and had flowid assigned to it by the NIC.
>
> I am mostly concerned about the overhead of manual calculation but my
> knowledge is a bit rusty right now and lagg has always been special so
> please try this out and see.
>

I've not been able to find any such option:
head:src> grep -ri rss sys/amd64/conf/
head:src>

Any other ideas on where it might be or is it just the default on HEAD?

That said the more I think / talk about this the more I believe manual 
calculation is the right option for LACP.

The reason I believe this is:

  * When configuring LACP in a network knowing the hash method is
    important, so using an unknown "flowid" based hash could produce
    unexpected results.
  * There's no easy way (possibly no way at all) to determine the flowid
    from the HW for the first packet of a new outbound connection
  * Having the hash algorithm vary for inbound and outbound connections
    increases the chance of unexpected results.
  * LCAP combines NIC's of even speed, however they can be different HW
    so there's no guarantee that the partaking ports use the same flowid
    calculation, again increasing the chance of a problem.

So as mentioned in a previous reply the more I think about the more 
believe flowid can't be successfully used as a hash source for LACP or 
loadbalance.

What do others think, am I missing something?

     Regards
     Steve


More information about the svn-src-all mailing list