> On Feb 1, 2017, at 9:40 AM, Pascal Mazon <pascal.ma...@6wind.com> wrote:
> 
> On 02/01/2017 04:25 PM, Wiles, Keith wrote:
>> 
>>> On Feb 1, 2017, at 2:11 AM, Pascal Mazon <pascal.ma...@6wind.com> wrote:
>>> 
>>> On 02/01/2017 12:29 AM, Wiles, Keith wrote:
>>>> 
>>>>> On Jan 31, 2017, at 10:39 AM, Pascal Mazon <pascal.ma...@6wind.com> wrote:
>>>>> 
>>>>> On 01/31/2017 05:06 PM, Wiles, Keith wrote:>
>>>>>> Looking at the changes to set the link up/down and the adding the two 
>>>>>> functions. I noticed in the stop/start routines I was set the link in 
>>>>>> DPDK and not adjusting the interface link. Should the stop/start routine 
>>>>>> also do the same thing?
>>>>>> 
>>>>> 
>>>>> Well, my patch is probably wrong.
>>>>> The best option would probably be to set dev->data->dev_link.link_status
>>>>> appropriately inside tap_link_set() only.
>>>>> 
>>>>> I'm not sure it's compulsory to actually set the link UP in 
>>>>> tap_dev_start()
>>>>> (respectively DOWN in tap_dev_stop()).
>>>>> If it is, however, it would be best done using tap_link_set() in those
>>>>> functions.
>>>> 
>>>> I was setting the link up/down in both places in the old code. The gotta 
>>>> is link up/down came later (I guess) and applications only call 
>>>> start/stop. In the other drivers like ring the like they tend to set link 
>>>> in start/stop and in link up/down, which is what I patterned my driver on.
>>>> 
>>>> I looked around and the only applications calling link up/down was testpmd 
>>>> and ip_pipeline, but all of the apps call start/stop. Even the docs to not 
>>>> suggest that link up/down be used it appears start/stop must set the Link 
>>>> state and the developer can call link up/down APIs if needed for others 
>>>> reasons.
>>>> 
>>>> I assume the link up/down only effects the link state and the start/stop 
>>>> is creating/destroying resources.
>>>> 
>>>> My only solution I guess is to add the link up/down code to the start/stop 
>>>> API.
>>> 
>>> I'm not sure I understand your conclusion.
>>> If the apps usually call start/stop only, then definitely those functions 
>>> should set the link state appropriately.
>>> To that effect, I think it best to just call tap_link_set() in 
>>> tap_dev_start() (and similar for stopping).
>>> Apps with just start/stop functions would get the expected behavior, and 
>>> the tap PMD would also support setting the link up/down independently, for 
>>> testpmd and ip_pipeline for example.
>>> 
>>> Does that sound fine?
>> 
>> Yes, this was what I was trying to say and calling tap_link_set() in 
>> tap_dev_start() is the solution.
> 
> Great, that looks good to me!

Ferruh, Please apply Pascal’s 6 patches and I will based my changes on top of 
those changes. Does that sound reasonable?

> 
> Regards,
> Pascal

Regards,
Keith

Reply via email to