[...]

> Further, I would argue that round robin is not a valid 802.3ad/802.1AX
> algorithm, per how it defines a frame distributor:
> 
> "This standard does not mandate any particular distribution
> algorithm(s); however, any distribution algorithm shall ensure that,
> when frames are received by a Frame Collector as specified in 5.2.3,
> the algorithm shall not cause:
> a) Misordering of frames that are part of any given conversation, or
> b) Duplication of frames.
> 
> The above requirement to maintain frame ordering is met by ensuring
> that all frames that compose a given conversation are transmitted on a
> single link in the order that they are generated by the MAC Client;
> hence, this requirement does not involve the addition (or
> modification) of any information to the MAC frame, nor any buffering
> or processing on the part of the corresponding Frame Collector in
> order to reorder frames."

I tend to agree with you on this point.

>> Sure, I was just wondering if the FreeBSD network stack was built with the 
>> fact that each flow needs to arrive on the same NIC and the system was 
>> designed with this assumption in mind or not.
>> 
>> I reported it here, thinking that maybe it's a subtle buggy corner case and 
>> maybe the community was interesting to know about and maybe fix :
>> 
>> - If the stack is working as expected and was built with the assumption that 
>> each incoming flow needs to stick to a NIC during it's lifetime, maybe 
>> documentation needs to be more explicit regarding this situation. In that 
>> case I'll file documentation enhancement bug report.
>> - If the stack is misbehaving, maybe help the community identify the root 
>> cause and help fixing it
>> 
> As far as I can tell, as Navdeep noted, there's no unexpected
> behaviour in your case. "Flows" are a concept that the protocols, in
> this case TCP, knows about. The devices themselves (Ethernet cards)
> usually have mechanics to make packet delivery decisions based on flow
> information (e.g. RSS hashing), but as far as I know that is generally
> limited within a single port, so it doesn't really help in the general
> case of a lagg.

So the fact that it works most of the time is just a "happy" coincidence. But 
it's not a behaviour to relay on. Right ?

Anyway, thank you very much for your help and the clarification on this issue.

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

Reply via email to