05.01.2018 22:13, Steven Hartland wrote:

>>>>> I hope there's some improvements that can be made, for example if we can 
>>>>> determine
>>>>> the stream was instigated remotely then flowid would always be valid 
>>>>> hence we can use it assuming it
>>>>> matches the requested spec or if we can make it clear to the user that 
>>>>> laggproto is not the one they requested, I'm open to ideas?
>>>> We just need to clear flow id from incoming TCP segments and always 
>>>> generate new flow id for responses
>>>> keeping old flow id for IP forwarding case. Please back out your change to 
>>>> not degrade IP forwarding performance.
>>> Sorry I don't follow you. You seem to be inferring that we can easily 
>>> generate a flowid without involving the sending hardware
>> RSS has nothing to do with sending hardware. It's operating system's job to 
>> choose outgoing port, not hardware's job.
> The OS is deciding which outgoing, however its using the hash based on the 
> flowid to do so

It should use flowid for transit forwarding IP packet only. It should not use 
flowid from incoming TCP segment.

>>> I can't see how that is possible as that's chicken and egg i.e. you can't 
>>> get the HW interface
>>> to generate the flowid without sending a packet and you can't send a packet
>>> until you have a the flowid to decide which interface to send it from.
>> Outgoing packet flow does not and should not depend on incoming flow,
>> they are independent things in case of LACP. There is no "chicken and egg" 
>> problem at all.
>>
> But this is how it works ATM, it uses the flowid which is only valid after 
> the first rx.

Then this is a bug that should be fixed to solve your problem,
instead of change of lagg defaults that degrades IP forwarding performance.


_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to