would it be possible some of technologies get "online" state simultaneously?

2015-01-15 Thread Nakamura, Yusuke (ADITJ/SWG)
Hello all

 

I’m trying to use ConnMan to take care of network arbitration for my automotive 
embedded system.

I had a question regarding session. 

Now the question is whether some of technologies get “online” simultaneously.

 

I’d like to configure available bearers per application (per user) by using 
session_policy_local_plugin.

For instance while “etherner_user” is connecting to the internet via Ethernet, 
“wifi_user” is connecting to the internet via WiFi.

I’m expecting a usecase like this.

 

I think wifi_user’s session does not get online even if wifi internet 
connection gets available.

I suppose that is because “ethernet” is preferred technology.

“wifi_user” can’t receive notification through session. 
session_policy_local_plugin configure ip route when get “online”. 

Therefore I think in above case “wifi_user” can’t connect to the internet.

 

Is my understanding correct?

If so, how can I realize above usecase?

 

 

Here are settings and logs for connmanctl.

 

# less /var/lib/connman/session_policy_local/ethernet_user.policy

[policy_ethernet_user]

uid = ethernet_user

AllowedBearers = ethernet

RoamingPolicy = forbidden

 

# less /var/lib/connman/session_policy_local/wifi_user.policy

[policy_wifi_user]

uid = wifi_user

AllowedBearers = wifi

RoamingPolicy = forbidden

 

ethernet_user$ connmanctl

connmanctl> services

*AO Wiredethernet_0800272156c9_cable

*A  Wiredethernet_080027243b60_cable

connmanctl> session on

Session /sessions/_1_92/net/connman/connmanctl3008 created

Session  Update   = {

State = online

Name = Wired

IPv4 = [ Method=dhcp, Address=10.71.112.171, Netmask=255.255.255.0, 
Gateway=10.71.112.254 ]

IPv6 = [  ]

Interface = eth0

Bearer = ethernet

ConnectionType = internet

AllowedBearers = [ ethernet ]

}

Session /sessions/_1_92/net/connman/connmanctl3008 connected

connmanctl> 

 

 

 

wifi_user$ connmanctl

connmanctl> services

*AO Wiredethernet_0800272156c9_cable

*A  Wiredethernet_080027243b60_cable

*A  WiFi wifi_003a9daaf132_57694669_managed_psk

connmanctl> session on

Session /sessions/_1_94/net/connman/connmanctl3073 created

Session  Update   = {

State = disconnected

Name = 

IPv4 = [  ]

IPv6 = [  ]

Interface = 

Bearer = 

ConnectionType = internet

AllowedBearers = [ wifi ]

}

connmanctl> session connect

connmanctl> services

*AO Wiredethernet_0800272156c9_cable

*AR WiFi wifi_003a9daaf132_57694669_managed_psk

*A  Wiredethernet_080027243b60_cable

connmanctl>

 

It would be extremely helpful if I could receive some advice about this matter

 

Best Regards,

 

Yusuke Nakamura 中村 勇介

Advanced Driver Information Technology

Software Group (SWG)

Engineer

Tel: 0566-61-5117(ext:551-43641)

Fax:0566-25-4774

Email:ynakam...@jp.adit-jv.com  

 

 

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: would it be possible some of technologies get "online" state simultaneously?

2015-01-16 Thread Patrik Flykt

Hi,

On Fri, 2015-01-16 at 15:08 +0900, Nakamura, Yusuke (ADITJ/SWG) wrote:

> I’m trying to use ConnMan to take care of network arbitration for my
> automotive embedded system.

Cool!

> Now the question is whether some of technologies get “online”
> simultaneously.

Only one of the services can be 'online' at any one time. This applies
both for Session and Service APIs.

> I’d like to configure available bearers per application (per user) by
> using session_policy_local_plugin.
> 
> For instance while “etherner_user” is connecting to the internet via
> Ethernet, “wifi_user” is connecting to the internet via WiFi.

That is doable. With the Session API and its usage of session specific
routing tables, all session routing tables have the default route set.
The default routing table is the only one that has exactly one default
route set, this in order not to change the normal behavior if sessions
are created.

> I think wifi_user’s session does not get online even if wifi internet
> connection gets available.
> 
> I suppose that is because “ethernet” is preferred technology.

Actually, if ethernet is online, it means the connectivity check
succeeded. Ethernet could also have stayed as 'ready', should the
connectivity check have failed.

> “wifi_user” can’t receive notification through session.
> session_policy_local_plugin configure ip route when get “online”. 
> 
> Therefore I think in above case “wifi_user” can’t connect to the
> internet.

State 'ready' is enough to be connected to the internet. The difference
here is that 'online' provides a bit more information, it indicates that
the additional connectivity check to {ipv4,ipv6}.connman.net succeeded.

The 'online' state indicates that proxies are either not needed or
configured correctly for pacrunner,
http://git.kernel.org/cgit/network/connman/pacrunner.git/ Pacrunner
support is found in Fedora's libproxy package so that all applications
using libproxy will get the correct proxies and can connect successfully
to Internet.

But back to your original question, internet is reachable for the WiFi
user also in state 'ready'.

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

RE: would it be possible some of technologies get "online" state simultaneously?

2015-01-19 Thread Nakamura, Yusuke (ADITJ/SWG)
Hi Patrik

Thank you very much for your reply.

>That is doable. With the Session API and its usage of session specific routing 
>tables, all session routing tables have the default route set.
>The default routing table is the only one that has exactly one default route 
>set, this in order not to change the normal behavior if sessions are created.

Sorry Patrik. I didn't understand what this means. Do you mind explaining this 
in more detail?

> The 'online' state indicates that proxies are either not needed or
> configured correctly for pacrunner,
> http://git.kernel.org/cgit/network/connman/pacrunner.git/ Pacrunner
> support is found in Fedora's libproxy package so that all applications using
> libproxy will get the correct proxies and can connect successfully to
> Internet.
> 
> But back to your original question, internet is reachable for the WiFi user
> also in state 'ready'.

The problem here is wifi_user can't know the 'ready' status when the status 
gets 'ready'.
I suppose Connman notifies only online/offline status. Therefore wifi_user 
can't receive 'ready' notification from Connman. 
Session_policy_local plugin doesn't set a route(ip route) when the status is 
'ready'.
So in this case wifi_user can use ethernet.

I'd like ethernet_user to use only ethernet and wifi_user to use only wifi.

Could you tell me  my misunderstanding if any.

Best Regards.
Yusuke Nakamura 中村 勇介
Advanced Driver Information Technology
Software Group (SWG)
Engineer
Tel: 0566-61-5117(ext:551-43641)
Fax:0566-25-4774
Email:ynakam...@jp.adit-jv.com



> -Original Message-
> From: Kojima, Tsuyoshi (HISOL; ADITJ/SWG)
> Sent: Monday, January 19, 2015 2:54 PM
> To: Nakamura, Yusuke (ADITJ/SWG)
> Subject: RE: would it be possible some of technologies get "online" state
> simultaneously?
> 
> 日本語で返事書いてみました。
> 
> -Original Message-
> From: connman [mailto:connman-boun...@connman.net] On Behalf Of Patrik
> Flykt
> Sent: Friday, January 16, 2015 5:18 PM
> To: connman@connman.net
> Cc: Ishikawa, Tetsuri (ADITJ/SWG)
> Subject: Re: would it be possible some of technologies get "online" state
> simultaneously?
> 
> 
>   Hi,
> 
> On Fri, 2015-01-16 at 15:08 +0900, Nakamura, Yusuke (ADITJ/SWG) wrote:
> 
> > I’m trying to use ConnMan to take care of network arbitration for my
> > automotive embedded system.
> 
> Cool!
> 
> > Now the question is whether some of technologies get “online”
> > simultaneously.
> 
> Only one of the services can be 'online' at any one time. This applies both
> for Session and Service APIs.
> 
> > I’d like to configure available bearers per application (per user) by
> > using session_policy_local_plugin.
> >
> > For instance while “etherner_user” is connecting to the internet via
> > Ethernet, “wifi_user” is connecting to the internet via WiFi.
> 
> That is doable. With the Session API and its usage of session specific
> routing tables, all session routing tables have the default route set.
> The default routing table is the only one that has exactly one default route
> set, this in order not to change the normal behavior if sessions are created.
> 
> > ちょっと何言ってるかわからないです。
> 
> > I think wifi_user’s session does not get online even if wifi internet
> > connection gets available.
> >
> > I suppose that is because “ethernet” is preferred technology.
> 
> Actually, if ethernet is online, it means the connectivity check succeeded.
> Ethernet could also have stayed as 'ready', should the connectivity check
> have failed.
> 
> > “wifi_user” can’t receive notification through session.
> > session_policy_local_plugin configure ip route when get “online”.
> >
> > Therefore I think in above case “wifi_user” can’t connect to the
> > internet.
> 
> State 'ready' is enough to be connected to the internet. The difference
> here is that 'online' provides a bit more information, it indicates that
> the additional connectivity check to {ipv4,ipv6}.connman.net succeeded.
> 
> The 'online' state indicates that proxies are either not needed or
> configured correctly for pacrunner,
> http://git.kernel.org/cgit/network/connman/pacrunner.git/ Pacrunner
> support is found in Fedora's libproxy package so that all applications using
> libproxy will get the correct proxies and can connect successfully to
> Internet.
> 
> But back to your original question, internet is reachable for the WiFi user
> also in state 'ready'.
> 
> > それはわかっています。問題は、stateがreadyでstayしたとき、wifi_user
> がreadyステータスを知ることができないという事です。
> また、session_policy_local pluginはreadyステータスではルートの設定(ip
> route)をしないので、wifi_userはethernetを使用できてしまいます。
> Ethernet_userにはethernetのみを、wifi_userにはwifiのみを使用させたい
> のです。
> 
> Cheers,
> 
>   Patrik
> 
> ___
> connman mailing list
> connman@connman.net
> https://lists.connman.net/mailman/listinfo/connman
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Re: would it be possible some of technologies get "online" state simultaneously?

2015-01-19 Thread Patrik Flykt
On Mon, 2015-01-19 at 17:20 +0900, Nakamura, Yusuke (ADITJ/SWG) wrote:
> Sorry Patrik. I didn't understand what this means. Do you mind
> explaining this in more detail? 

If you need different routing for different users, use the ConnMan
Session API, doc/session-api.txt, doc/session-overview.txt and
doc/session-policy-format.txt. The applications using Session API are
the only ones that benefit from the rules written for
session_policy_local or other Session policies.

For your problem where you need wifi status and are already configuring
the session plugin, wifi status is available via the Session API.

The default routing table is still identical to the situation where no
sessions are in use and used by everybody else that is not associated
with any sessions.

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman