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