On 25.10.23 19:10, Ilya Maximets wrote:
> On 10/24/23 11:21, Kevin Traynor wrote:
>> Using correct email for Simon this time
>>
>> On 24/10/2023 10:19, Kevin Traynor wrote:
>>> On 23/10/2023 10:11, Jakob Meng wrote:
>>>> On 20.10.23 12:02, Kevin Traynor wrote:
>>>>> On 13/10/2023 10:07, jm...@redhat.com wrote:
>>>>>> From: Jakob Meng <c...@jakobmeng.de>
>>>>>>
>>>>>> For better usability, the function pairs get_config() and
>>>>>> set_config() for netdevs should be symmetric: Options which are
>>>>>> accepted by set_config() should be returned by get_config() and the
>>>>>> latter should output valid options for set_config() only.
>>>>>>
>>>>>> This patch series moves key-value pairs which are no valid options
>>>>>> from get_config() to the get_status() callback. The documentation in
>>>>>> vswitchd/vswitch.xml for status columns as well as tests have been
>>>>>> updated accordingly.
>>>>>>
>>>>>> Compared to v4, the patch has been split into a series. Change requests
>>>>>> from Kevin Traynor have been incorporated, e.g. n_{r,t}xq will be
>>>>>> reported in dpkvhostclient status and tx-steering in the dpdk status
>>>>>> will be "unsupported" if the hw does not support steering traffic to
>>>>>> additional rxq.
>>>>>> The netdev dpdk classes no longer share a common get_config callback,
>>>>>> instead both the dpdk_class and the dpdk_vhost_client_class defines
>>>>>> their own callbacks. 
> Looks like you've lost the callback for the the vhost-user server ports.
> (I noticed that in the code, but I didn't do a full review, so replying here.)

With "vhost-user server ports" you meant dpdk_vhost_class?

The get_config callback for dpdk_vhost_class has been dropped because it does 
not have a set_config callback.

>
>>>>>> For dpdk_vhost_client_class both config options
>>>>>> vhost-server-path and tx-retries-max are returned which were missed in
>>>>>> the previous patch version.
>>>>>>
>>>>>> Jakob Meng (3):
>>>>>>      netdev-dpdk: Sync and clean {get,set}_config() callbacks.
>>>>>>      netdev-dummy: Sync and clean {get,set}_config() callbacks.
>>>>>>      netdev-afxdp: Sync and clean {get,set}_config() callbacks.
>>>>>>
>>>>>>     Documentation/intro/install/afxdp.rst |  12 +--
>>>>>>     Documentation/topics/dpdk/phy.rst     |   4 +-
>>>>>>     lib/netdev-afxdp.c                    |  21 +++++-
>>>>>>     lib/netdev-afxdp.h                    |   1 +
>>>>>>     lib/netdev-dpdk.c                     | 104 
>>>>>> ++++++++++++++++++--------
>>>>>>     lib/netdev-dummy.c                    |  19 ++++-
>>>>>>     lib/netdev-linux-private.h            |   1 +
>>>>>>     lib/netdev-linux.c                    |   4 +-
>>>>>>     tests/pmd.at                          |  26 +++----
>>>>>>     tests/system-dpdk.at                  |  64 ++++++++++------
>>>>>>     vswitchd/vswitch.xml                  |  25 ++++++-
>>>>>>     11 files changed, 193 insertions(+), 88 deletions(-)
>>>>>>
>>>>> Hi Jakob,
>>>>>
>>>>> The output looks good to me. Just a few minor code related comments on 
>>>>> the code.
>>>>>
>>>>> @previous reviewers/committers, if anyone else is intending to review 
>>>>> before Jakob respins for possibly the final version, please shout now!
>>>>>
>>>>> As it is user visible change, it's probably worth to put a note in the 
>>>>> NEWS so users can quickly spot if they notice a change.
>>>>>
>>>>> Best to mention the commands/output that changed ('ovs-appctl dpctl/show' 
>>>>> and 'ovs-vsctl get Interface <interface_name> status') and say briefly 
>>>>> that you've aligned set_confg/get_config and updated status etc.
>>>>>
>>>>> Suggest to not to bother mentioning specific netdevs and just do in one 
>>>>> update, maybe in first patch?
>>>>>
>>>>> thanks,
>>>>> Kevin.
>>>> Good idea. How about appending this to NEWS?
>>>>
>>>> Post-v3.2.0
>>>> --------------------
>>>>      - OVSDB:
>>>>        * ...
>>>>      - ovs-appctl:
>>>>        * 'ovs-appctl dpctl/show' has been changed to print valid config 
>>>> options
> It is an appctl section, no need to repeat.
>
>>>>          only: {configured,requested}_{rx,tx}_queues and 'rx_csum_offload' 
>>>> have
>>>>          been dropped. Now, 'n_rxq' will be used for requested rx queues. 
>>>> Tx
>>>>          queues cannot be changed by the user, hence 'requested_tx_queues' 
>>>> has
>>>>          been dropped. 'lsc_interrupt_mode' has been renamed to option name
>>>>          'dpdk-lsc-interrupt'.
>>>>          Use 'ovs-vsctl get interface *** status' to query for values 
>>>> which have
>>>>          previously been returned by 'ovs-appctl dpctl/show'. For example, 
>>>> use
>>>>          'ovs-vsctl get interface *** status:n_txq' to get what was 
>>>> previously
>>>>          returned by 'configured_tx_queues'.
>>>>       * 'ovs-appctl dpctl/show' will now print all available config 
>>>> options like
>>>>         'dpdk-devargs', '{rx,tx}-flow-ctrl-{autoneg}', 'vhost-server-path' 
>>>> and
>>>>         'tx-retries-max' if they are set.
> This doesn't seem to be entirely true.  The flow control stuff
> is always reported even if not set by the user.  Should we maybe
> avoid reporting default values for these somehow?

It is not handled consistently. If we decide so, we would also want to change 
reporting of n_{r,t}xq_desc and all the others. Does anyone has strong opinions 
here? Maybe your "maybe" was a strong opinion? 😄

>
>>>>
>>>> Wdyt?
>>>>
>>> I was thinking something shorter without mentioning individual configs
>>> would be sufficient, but I can see the benefit of listing the individual
>>> changed configs that could be found with a grep too. Though it would be
>>> easier to search for config names without the {}.
> I'd suggest a shorter description focusing on the nature of the change
> instead of particular options changed.  These are not configuration
> interfaces, but informational.
>
> Maybe something along these lines:
>
>    - ovs-appctl:
>      * Output of 'dpctl/show' command no longer shows interface configuration
>        status, only values of the actual configuration options, a.k.a.
>        'requested' configuration.  The interface configuration status,
>        a.k.a. 'configured' values, can be found in the 'status' column of
>        the Interface table, i.e. with 'ovs-vsctl get interface <..> status'.
>        Reported names adjusted accordingly.
>
> What do you think?

Simple and concise 👍 I will use that. However, we could add an example, it 
could make it easier to grasp the meaning.

Should I put the NEWS change in one of the patches or in a separate patch 4/4?

>
>>> Another option would be to add something short in NEWS and to mention
>>> individual configs in *.rst to say what changed in this version. e.g.
>>> https://github.com/openvswitch/ovs/blob/master/Documentation/topics/dpdk/phy.rst?plain=1#L38
>>>
>>> Other opinions ? How much details do we want in NEWS ?
> We're not changing how the OVS is configured, only a format of the status
> reporting.  So, maybe it's not necessary to explain every single detail.
>

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to