Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jan 2018 16:11:34 +0000
From:      Steven Hartland <steven@multiplay.co.uk>
To:        hiren panchasara <hiren@strugglingcoder.info>
Cc:        Eugene Grosbein <eugen@grosbein.net>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r327559 - in head: . sys/net
Message-ID:  <1854b421-3c09-c040-ba86-738b9c621eae@multiplay.co.uk>
In-Reply-To: <20180105094126.GE18879@strugglingcoder.info>
References:  <201801042005.w04K5liB049411@repo.freebsd.org> <5A4E9397.9000308@grosbein.net> <f133b587-1f7e-4594-31d1-974775ad55be@freebsd.org> <20180104224214.GD18879@strugglingcoder.info> <63c3c450-aeaf-bdd5-5e16-414146c9bb3a@multiplay.co.uk> <20180105094126.GE18879@strugglingcoder.info>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1854b421-3c09-c040-ba86-738b9c621eae>