[ovs-dev] [PATCH v13 1/1] Avoid dp_hash recirculation for balance-tcp bond selection mode
Ilya Maximets
i.maximets at ovn.org
Mon Jun 22 11:53:08 UTC 2020
On 6/18/20 2:58 PM, Vishal Deep Ajmera wrote:
>>
>> Hi. Thanks for the new version it works fine. In order to speed things
>> up I prepared an incremental patch with one bug fix and some changes
>> that I think are necessary to keep the code clean. Don't be afraid of
>> the patch size, there are very few functional changes, most of other
>> changes are style fixes or readability improvements.
>>
>> This patch + my incremental was reviewed by Eelco and tested by Adrian.
>> I'll add proper tags while applying to master.
>>
>> So, what I'm proposing for you is to take a look at the incremental patch
>> and if it's OK for you, I could squash it into your v13 and apply to master.
>>
>> What do you think?
>>
>> Best regards, Ilya Maximets.
>>
>> Incremental patch itself:
>> ------------------------------
>> Summary:
>> * Dropped 'dp->bond_mutex' while removing stale ports. We're not
>> touching bonds there at all.
>> * Added new argument 'update' to dp_netdev_add_bond_tx_to_pmd() to
>> avoid unnecessary re-allocation of the same slaves during
>> reconfiguration. We might also want to avoid adding tx bonds to
>> PMDs that doesn't poll anything inside dpif_netdev_bond_add(), but
>> this might be done later.
>> * Added actual error codes to dpif_netdev_bond_*() functions.
>> They are not used right now, but it's better to have them anyway.
>> * Refined API around dpif_bond_stats_get(). Now it always clears
>> n_bytes array regardless of success. Memory clearing removed from
>> the caller.
>> * dpif_bond_*() functions should not check dpif and dpif_class
>> pointers. Rewritten to be more like other code. Error codes
>> must be positive and we're usually using EOPNOTSUPP instead of
>> ENOTSUP for unsupported operations.
>> * bond/show output changed to reflect actual values, not the
>> configured ones. Dropped printing of recirc_id if recirc_id is not
>> supported (actually if lb_output is not supported).
>> * Fixed wrong array size in bond_add_lb_output_buckets().
>> MASK mistakenly used as an array size.
>> * Reorganized compose_output_action__() to make it more readable
>> and not fetch hash algo if not needed. (incremental diff is big,
>> but it mostly restores previous code :) )
>> * Removed is_lb_output_action_supported from the ofproto-provider
>> API. This was not a pretty solution. Replaced with new
>> ovs_lb_output_action_supported() function called from the
>> ofproto/bond.c. For this purpose validation of lb-output-action
>> knob moved down to bond_reconfigure() out of bridge.c.
>> * 'lb-output-action' replaced with 'lb_output action' in docs and
>> comments and in the output of bond/show to make things more
>> readable and easier to understand.
>> * Tabs in output of bond/show command replaced with spaces.
>> OVS doesn't use tabs in the output anywhere.
>> * Random style fixes, improvements.
>>
> Hi Ilya,
>
> The changes look ok to me.
>
> Warm Regards,
> Vishal Ajmera
>
That was a long journey, but I finally applied this patch to master.
Thanks, everyone!
Best regards, Ilya Maximets.
More information about the dev
mailing list