[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAMB9WxKjoSir56h9709xxhLjFvbkRvDgQMX3XgB4e_T2Uxo2+g@mail.gmail.com>
Date: Sat, 4 Aug 2018 21:52:16 -0400
From: Harsha Chenji <cjkernel@...il.com>
To: netdev@...r.kernel.org
Subject: rmnet_data multicast support
Hi all,
We are using the rmnet_data interface on a Google Pixel phone
connected to our LTE network.
The aim is to send/receive multicast traffic (224.0.0.1) over this
point-to-point, NOARP link between the phone and (effectively) the LTE
EPC which acts as the IP router for the phone. Since there is no
Ethernet/MAC addresses in LTE user traffic, this is a Layer 3
multicast so things should work. Note that we are not using eMBMS
which is part of the LTE spec, this is just IP layer point-to-point
multicast (the LTE base station will not send this packet to all
connected phones unless it's over eMBMS).
The OS/kernel is lineageos 15.1, here is the source:
https://github.com/LineageOS/android_kernel_google_marlin .
However, despite enabling IFF_BROADCAST, IFF_MULTICAST and IFF_NOARP
flags at the time of netdev creation in the rmnet driver, we still
cannot receive any multicast traffic. I can see the packets being
transmitted by the EPC to the phone over wireshark. But when I run
tcpdump on the phone (even after ifconfig promisc mode), nothing shows
up!
Could I know how to debug/troubleshoot this situation? Is the MSM
chipset somehow dropping multicast traffic internally before it
reaches the kernel? rmnet_data_debug is compiled into the kernel,
maybe it can help debug - how do I enable it at runtime? Should I add
rmnet_data.dump_rx_pkt to the kernel bootargs?
Thanks for your time and help,
Harsha
sailfish:/ # cat /proc/net/igmp
Idx Device : Count Querier Group Users Timer Reporter
1 lo : 1 V3
010000E0 1 0:00000000 0
3 dummy0 : 1 V3
010000E0 1 0:00000000 0
5 rmnet_ipa0: 1 V3
010000E0 1 0:00000000 0
6 rmnet_data0: 1 V3
010000E0 1 0:00000000 0
23 wlan0 : 1 V3
010000E0 1 0:00000000 0
24 p2p0 : 1 V3
010000E0 1 0:00000000 0
$ adb shell ip maddress
1: lo
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
2: bond0
link 33:33:00:00:00:01
inet6 ff02::1
inet6 ff01::1
3: dummy0
link 33:33:00:00:00:01
link 01:00:5e:00:00:01
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
4: sit0
inet6 ff02::1
inet6 ff01::1
5: rmnet_ipa0:
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
6: rmnet_data0:
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
7: rmnet_data1
inet6 ff02::1
inet6 ff01::1
8: rmnet_data2
inet6 ff02::1
inet6 ff01::1
9: rmnet_data3
inet6 ff02::1
inet6 ff01::1
10: rmnet_data4
inet6 ff02::1
inet6 ff01::1
11: rmnet_data5
inet6 ff02::1
inet6 ff01::1
12: rmnet_data6
inet6 ff02::1
inet6 ff01::1
13: rmnet_data7
inet6 ff02::1
inet6 ff01::1
14: r_rmnet_data0
inet6 ff02::1
inet6 ff01::1
15: r_rmnet_data1
inet6 ff02::1
inet6 ff01::1
16: r_rmnet_data2
inet6 ff02::1
inet6 ff01::1
17: r_rmnet_data3
inet6 ff02::1
inet6 ff01::1
18: r_rmnet_data4
inet6 ff02::1
inet6 ff01::1
19: r_rmnet_data5
inet6 ff02::1
inet6 ff01::1
20: r_rmnet_data6
inet6 ff02::1
inet6 ff01::1
21: r_rmnet_data7
inet6 ff02::1
inet6 ff01::1
22: r_rmnet_data8
inet6 ff02::1
inet6 ff01::1
23: wlan0
link 01:00:5e:00:00:01
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
24: p2p0
link 33:33:00:00:00:01
link 01:00:5e:00:00:01
inet 224.0.0.1
inet6 ff02::1
inet6 ff01::1
Powered by blists - more mailing lists