On 01/16/2019 11:06 AM, Thomas Monjalon wrote:
> 16/01/2019 11:56, Kevin Traynor:
>> On 01/16/2019 10:21 AM, Thomas Monjalon wrote:
>>> 16/01/2019 11:03, Ophir Munk:
>>>> Hi Kevin and thank you for your comments.
>>>> Please see inline...
>>>>
>>>> From: Kevin Traynor <[email protected]>
>>>>> On 01/15/2019 09:47 AM, Ophir Munk wrote:
>>>>>> Dpdk port representors were introduced in dpdk versions 18.xx.
>>>>>> Prior to port representors there was a one-to-one relationship between
>>>>>> an rte device (e.g. PCI bus) and an eth device (referenced as dpdk
>>>>>> port id in OVS). With port representors the relationship becomes
>>>>>> one-to-many rte device to eth devices.
>>>>>> For example in [3] there are two devices (representors) using the same
>>>>>> PCI physical address 0000:08:00.0: "0000:08:00.0,representor=[3]" and
>>>>>> "0000:08:00.0,representor=[5]".
>>>>>> This commit handles the new one-to-many relationship. For example,
>>>>>> when one of the device port representors in [3] is closed - the PCI
>>>>>> bus cannot be detached until the other device port representor is
>>>>>> closed as well. OVS remains backward compatible by supporting dpdk
>>>>>> legacy PCI ports which do not include port representors.
>>>>>> Dpdk port representors related commits are listed in [1]. Dpdk port
>>>>>> representors documentation appears in [2]. A sample configuration
>>>>>> which uses two representors ports (the output of "ovs-vsctl show"
>>>>>> command) is shown in [3].
>>>>>>
>>>>>
>>>>> Hi Ophir, I had a scan through and there isn't any documentation/examples
>>>>> for this outside the commit message. I think a user would need something
>>>>> basic, or at least reference to know that this exists and how to use it.
>>>
>>> The user needs to know the DPDK syntax to reference DPDK ports.
>>> This documentation should be provided by DPDK.
>>> We don't have a doc summarizing all at the moment (I will work on it).
>>> I suggest you collect URLs for pieces of docs and list them in OVS doc
>>> about dpdk-devargs.
>>>
>>
>> Yes, an OVS user will look at OVS docs (hopefully) but probably not
>> commit messages or C code. Also, the reference has some nice testpmd
>> examples. A simple OVS example would be nice, perhaps a section in
>> ovs/Documentation/topics/dpdk/phy.rst with an example and links?
> 
> I was thinking about these places:
>       http://docs.openvswitch.org/en/latest/howto/dpdk/#ports-and-bridges
>       http://docs.openvswitch.org/en/latest/topics/dpdk/phy/#hotplugging
> 

Yeah, that last link is the file I sent. It could be there or a section
under it. I don't mind too much where it is once it's in OVS docs.

>>>>>> [2]
>>>>>> doc/guides/prog_guide/switch_representation.rst
>>>>>>
>>>>
>>>> I now realize that the reference given in [2] requires downloading DPDK.
>>>> In v6 I will update it with a new reference:
>>>>
>>>> https://doc.dpdk.org/guides-18.08/prog_guide/switch_representation.html
>>>
>>> No need to specify a version:
>>> https://doc.dpdk.org/guides/prog_guide/switch_representation.html
>>>
>>
>> Maybe better to specify 18.11 in case something is added/removed in
>> later DPDK.
>>
>>>> which includes abundant of documentation/examples. 
>>>> Can you please have a look and let me know if it is sufficient, or maybe 
>>>> you have other ideas where more documentation should be added.
>>>
>>> There is also some documentation for representor syntax:
>>> https://doc.dpdk.org/guides/prog_guide/poll_mode_drv.html#ethernet-device-standard-device-arguments
>>>
>>> But honestly, I doubt you need to talk about representors in this patch.
>>> The change is to support multi-ports device generally.
>>
>> ok, then just need a way to tell OVS user that the new functionality is
>> existing.
> 
> Which functionality? closing a port without closing others?
> It looks like a bug fix to me :)
> 

A bug? NEVER :-)  I just mean the code is enabling some new
functionality for a user, so they should know that it's available now.

>>> The representor ports are just a use case of multi-ports.
>>> Other use cases:
>>>     https://doc.dpdk.org/guides/nics/mlx4.html#implementation-details
>>>     https://doc.dpdk.org/guides/nics/cxgbe.html#limitations
>>> For these use cases, we can use the mac= argument in devargs.
> 
> 
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to