[ovs-dev] [PATCH] bond: raise minimal bond distribution per interface

YAMAMOTO Takashi yamamoto at valinux.co.jp
Thu May 8 02:01:56 UTC 2014


> Sorry I was not clear in the commit message. It is the average of the
> first interface. I will make it clear before pushing.

thanks for clarification.
i think the average is not so important.  hash colision is.
the worst case is, two interfaces in the same bucket, one in the other.
in that case, packet distribution would be 1:1:2.
your value is safe enough for the distribution.

YAMAMOTO Takashi

> 
> On Wed, May 7, 2014 at 6:18 PM, YAMAMOTO Takashi <yamamoto at valinux.co.jp> wrote:
>>> Raise the minimal per interface packet distribution from 7 to 24.
>>>
>>> With 256 packet distributing to 3 interfaces, the expected packets per
>>> interface should be 256/3 = 85.3
>>>
>>> Tested with 200 runs, the average number of packet per interface is
>>> 85.9. close to the expected number, standard deviation within the 200
>>> run is 24.4. Tested with 2x standard deviation with 10K test runs,
>>> got around 0.1% failure rate. 2.5x standard deviation passes 100K test
>>> runs without failure.
>>>
>>> Using 2.5x for the unit test, 83.5 - 2.5 * 24.4, Round down to the
>>> whole number of 24.
>>
>> the patch itself looks ok (thus acked-by) but i have a question on
>> the commit message.
>> why can the average number be larger than the expected number?
>> the total number of packets for a run is expected to be exactly 256,
>> isn't it?
>>
>> Acked-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
>> Tested-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
>>
>> YAMAMOTO Takashi
>>
>>>
>>> Signed-off-by: Andy Zhou <azhou at nicira.com>
>>> ---
>>>  tests/ofproto-dpif.at | 6 +++---
>>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
>>> index c46e997..3723459 100644
>>> --- a/tests/ofproto-dpif.at
>>> +++ b/tests/ofproto-dpif.at
>>> @@ -191,9 +191,9 @@ AT_CHECK([ovs-appctl dpif/dump-flows br0 |grep tcp > br0_flows.txt])
>>>  AT_CHECK([ovs-appctl dpif/dump-flows br1 |grep tcp > br1_flows.txt])
>>>  # Make sure there is resonable distribution to all three ports.
>>>  # We don't want to make this check precise, in case hash function changes.
>>> -AT_CHECK([test `grep in_port.4 br1_flows.txt |wc -l` -gt 7])
>>> -AT_CHECK([test `grep in_port.5 br1_flows.txt |wc -l` -gt 7])
>>> -AT_CHECK([test `grep in_port.6 br1_flows.txt |wc -l` -gt 7])
>>> +AT_CHECK([test `grep in_port.4 br1_flows.txt |wc -l` -gt 24])
>>> +AT_CHECK([test `grep in_port.5 br1_flows.txt |wc -l` -gt 24])
>>> +AT_CHECK([test `grep in_port.6 br1_flows.txt |wc -l` -gt 24])
>>>  OVS_VSWITCHD_STOP()
>>>  AT_CLEANUP
>>>
>>> --
>>> 1.9.1
>>>
>>> _______________________________________________
>>> dev mailing list
>>> dev at openvswitch.org
>>> http://openvswitch.org/mailman/listinfo/dev
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list