On Mon, Aug 3, 2015 at 11:18 AM, Pravin Shelar <[email protected]> wrote:
> On Mon, Aug 3, 2015 at 12:11 AM, Wenyu Zhang <[email protected]> wrote:
>> When sampling rate is 1, the sampling probability is UINT32_MAX. The packet
>> should be sampled even the prandom32() generate the number of UINT32_MAX.
>> And none packet need be sampled when the probability is 0.
>>
>> Signed-off-by: Wenyu Zhang <[email protected]>
>> ---
>>  net/openvswitch/actions.c |    4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
>> index cf04c2f..03acb09 100644
>> --- a/net/openvswitch/actions.c
>> +++ b/net/openvswitch/actions.c
>> @@ -669,9 +669,11 @@ static int sample(struct datapath *dp, struct sk_buff 
>> *skb,
>>
>>         for (a = nla_data(attr), rem = nla_len(attr); rem > 0;
>>                  a = nla_next(a, &rem)) {
>> +               uint32_t probability;
>>                 switch (nla_type(a)) {
>>                 case OVS_SAMPLE_ATTR_PROBABILITY:
>> -                       if (prandom_u32() >= nla_get_u32(a))
>> +                       probability = nla_get_u32(a);
>> +                       if (!probability || probability > nla_get_u32(a))
>
> This condition does not looks right to calculate sampling probability.

When you send v2, can you also make the subject more narrow
("openvswitch" instead of "netdev") and add the tree that you are
targeting ("[PATCH net]" in this case)?
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to