[dpdk-dev] [PATCH 0/3] Support administrative link up and link down

Ouyang, Changchun changchun.ouyang at intel.com
Thu May 22 16:44:35 CEST 2014


Hi Ivan
For this one, it seems long story for that...
In short, 
Some customer have such kind of requirement, 
they want to repeatedly start(rte_dev_start) and stop(rte_dev_stop) the port for RX and TX, but they find
after several times start and stop, the RX and TX can't work well even the port starts,  and the packets error number increase.

To resolve this error number increase issue, and let port work fine even after repeatedly start and stop,
We need a new API to do it, after discussing, we have these 2 API, admin link up and admin link down.

Any difference if use " dev_link_start/stop" or " dev_link_up/down"? to me, admin_link_up/down is better than dev_link_start/stop,

If most people think we need change the name, it is ok to rename it.

I don't think we need it in non-physical PMDs. So no implementation in virtio PMD.

Thanks
Changchun


-----Original Message-----
From: Ivan Boule [mailto:ivan.boule at 6wind.com] 
Sent: Thursday, May 22, 2014 9:17 PM
To: Ouyang, Changchun; dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH 0/3] Support administrative link up and link down

On 05/22/2014 08:11 AM, Ouyang Changchun wrote:
> This patch series contain the following 3 items:
> 1. Add API to support administrative link up and down.
> 2. Implement the functionality of administrative link up and down in IXGBE PMD.
> 3. Add command in testpmd to test the functionality of administrative link up and down of PMD.
>
> Ouyang Changchun (3):
>    Add API for supporting administrative link up and down.
>    Implement the functionality of administrative link up and down in
>      IXGBE PMD.
>    Add command line to test the functionality of administrative link up
>      and down of PMD in testpmd.
>
>   app/test-pmd/cmdline.c              | 78 +++++++++++++++++++++++++++++++++++++
>   app/test-pmd/testpmd.c              | 14 +++++++
>   app/test-pmd/testpmd.h              |  2 +
>   lib/librte_ether/rte_ethdev.c       | 38 ++++++++++++++++++
>   lib/librte_ether/rte_ethdev.h       | 34 ++++++++++++++++
>   lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 58 +++++++++++++++++++++++++++
>   6 files changed, 224 insertions(+)
>

Hi Changchun,

The 2 functions "rte_eth_dev_admin_link_up" and "rte_eth_dev_admin_link_down"
don't have an equivalent in the Linux kernel, thus I am wondering what is their effective usage from a network application perspective.
Could you briefly explain in which use case these functions can be used for?

By the way, it's not completely evident to infer the exact semantics of these 2 functions from their name.
In particular, I do not see what the term "admin" brings to the understanding of their role. If it is to suggest that these functions are intended to force the link to a different state of its initial [self-detected] state, then the term "force" would be more appropriate.

Otherwise, if eventually these functions appear to be mandatory, I suggest to rename them "rte_eth_dev_link_start" and "rte_eth_dev_link_stop" respectively, and to apply the same naming conventions in the 2 other patches.

It might also be worth documenting in the comment section of the prototype of these 2 functions whether it makes sense or not to support a notion of link that can be dynamically started or stopped in non-physical PMDs (vmxnet3, virtio, etc).

Regards,
Ivan



--
Ivan Boule
6WIND Development Engineer


More information about the dev mailing list