Hi Guillaume,

>>> -    if (ppp_net_set_mtu(ppp->net, ppp->mtu) == FALSE)
>>> -        DBG(ppp, "Unable to set MTU");
>>> +    /*
>>> +     * If we have opened the tun interface locally,
>>> +     * we have to set a MTU value.
>>> +     */
>> So I don't agree with this.  The MTU is negotiated during LCP phase, so
>> unless I'm missing something, this value should still be set to the
>> negotiated one.
>>
> 
> Right , I thought that as I was setting a MTU value for ConnMan tun
> interface I didn't need to set the MTU value into oFono.
> Obviously I was wrong :)
> 

I assume the MTU is set to the default 1500 in Connman?

>>> +        net->if_name = strdup("Server ppp");
>> This looks wrong.  You do actually want to return a proper network
>> interface here, not make something up.
> 
> In fact, only ConnMan needs to know each name of its interfaces,
> so do we need to fill this field in when ConnMan creates the interface?
> 

Remember that we're writing a library, so things must be consistent.
Besides, isn't this is a matter of running a TUNGETIFF ioctl?

>>> +        /* create a channel for reading and writing to this
>>> interface */
>>> +        channel = g_io_channel_unix_new(fd);
>>> +    }
>> There's a small problem of symmetry here.  If IPCP is established
>> correctly, then the fd will eventually be closed by ppp_net.  However,
>> if we never properly establish IPCP, then fd will not be closed.  What
>> is actually expected by ConnMan?
>>
> 
> In the case we don't properly establish the IPCP, ppp_disconnect CB of
> emulator will be called.
> Then, we will call the release_private_network DBus method. This method
> will close the fd if it is opened.
> 

Again, we're writing a library.  We cannot assume some behavior external
to the library is going to save us.  So I really suggest we make closing
of the fd symmetric.

Regards,
-Denis
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to