[Android Apps and Games] :
Discovery with two interfaces

Hi,

I could not figure out the exact behaviour, still. However I found the source by setting the log level to FINEST. I had a second interface (tun0) up and configured with an ip address (running openvpn). Some of the responses were sent via this inteface although the request was reveived on eth0.

This line could be the problem:

[cling-4 ] FINE - 01:00:22.09 - MulticastReceiverImpl : UDP datagram received from: 192.168.123.xxx:38064 on local interface: eth0 and address: 192.168.249.yyy

The packet was received via eth0 (192.168.123.0/24) but it somehow connects it to the adress 192.168.249.0/24 of tun0. The response seems to be sent to both networks, but somehow it doesn't work properly.

[cling-18 ] FINE - 01:00:22.19 - DatagramIOImpl : Sending message from address: /192.168.249.yyy:0

33257 [cling-18 ] FINER - 01:00:22.20 - DatagramProcessorImpl : Writing message data for: (OutgoingSearchResponseServiceType) 200 OK

33258 [cling-18 ] FINER - 01:00:22.20 - DatagramProcessorImpl : ---------------------------------------------------------------------------------

33259 [cling-18 ] FINER - 01:00:22.20 - DatagramProcessorImpl : HTTP/1.1 200 OK^M

33260 Cache-control: max-age=1800^M

33261 Usn: uuid:6d2fb8f6-6189-65b0-ffff-ffffec92f27f::urn:av-openhome-org:service:Product:1^M

33262 Location: http :// 192.168.249.yyy:59653/dev/6d2fb8f6-6189-65b0-ffff-ffffec92f27f/desc.xml^M

33263 Server: Linux/3.10.7-gentoo UPnP/1.0 4thLine-Cling/1.1^M

33264 Ext: ^M

33265 St: urn:av-openhome-org:service:Product:1^M

33266

33267 [cling-18 ] FINER - 01:00:22.20 - DatagramProcessorImpl : ---------------------------------------------------------------------------------

33268 [cling-18 ] FINE - 01:00:22.20 - DatagramProcessorImpl : Writing new datagram packet with 329 bytes for: (OutgoingSearchResponseServiceType) 200 OK

33269 [cling-18 ] FINE - 01:00:22.20 - DatagramIOImpl : Sending UDP datagram packet to: /192.168.123.zzz:38064

33270 [cling-18 ] FINE - 01:00:22.20 - DatagramIOImpl : Sending message from address: /192.168.249.yyy:0

33271 [GetTransportInfo] FINEST - 01:00:22.19 - UpnpHeader : Trying to parse 'HOST' with class: HostHeader

33272 [cling-18 ] FINE - 01:00:22.20 - DatagramIOImpl : Sending message from address: /192.168.123.xxx:0

33273 [cling-18 ] FINER - 01:00:22.21 - DatagramProcessorImpl : Writing message data for: (OutgoingSearchResponseServiceType) 200 OK

33274 [cling-18 ] FINER - 01:00:22.21 - DatagramProcessorImpl : ---------------------------------------------------------------------------------

33275 [cling-18 ] FINER - 01:00:22.21 - DatagramProcessorImpl : HTTP/1.1 200 OK^M

33276 Cache-control: max-age=1800^M

33277 Usn: uuid:6d2fb8f6-6189-65b0-ffff-ffffec92f27f::urn:av-openhome-org:service:Product:1^M

33278 Location: http :// 192.168.249.yyy:59653/dev/6d2fb8f6-6189-65b0-ffff-ffffec92f27f/desc.xml^M

33279 Server: Linux/3.10.7-gentoo UPnP/1.0 4thLine-Cling/1.1^M

33280 Ext: ^M

33281 St: urn:av-openhome-org:service:Product:1^M

33282

33283 [cling-18 ] FINER - 01:00:22.22 - DatagramProcessorImpl : ---------------------------------------------------------------------------------

33284 [cling-18 ] FINE - 01:00:22.22 - DatagramProcessorImpl : Writing new datagram packet with 329 bytes for: (OutgoingSearchResponseServiceType) 200 OK

33285 [cling-18 ] FINE - 01:00:22.22 - DatagramIOImpl : Sending UDP datagram packet to: /192.168.123.zzz:38064

33286 [cling-18 ] FINE - 01:00:22.22 - DatagramIOImpl : Sending message from address: /192.168.123.xxx:0

If I disable tun0, everything works fine. But this shouldn't be the solution. A better workaround would be to bind bubbleupnpserver to a fixed interface, but I couldn't find a way to do this. But somehow it should also work with two interfaces, I guess.

Best regards,

Stephan