Hi Changchun, On 05/22/2014 04:44 PM, Ouyang, Changchun wrote: > 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.
If I understand well, this "feature" is not needed by itself, but only as a work-around to address issues when repeatedly invoking the functions ixgbe_dev_stop and ixgbe_dev_start. Do such issues appear when performing the same operations with the Linux kernel driver? Anyway, I suppose that such functions have to be automatically invoked by the same code of the network application that invokes the functions ixgbe_dev_stop and ixgbe_dev_start (said differently, there is no need for a manual assistance !) In that case, would not it be possible - and highly preferable - to directly invoke the functions ixgbe_disable_tx_laser and, then, ixgbe_enable_tx_laser from the appropriate step during the execution of the function ixgbe_dev_start(), waiting for some appropriate delays between the two operations, if so needed? Regards, Ivan > > 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. >> ... > 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). -- Ivan Boule 6WIND Development Engineer