Posting more details: On Ubuntu: $ ip route show default via 192.168.0.1 dev wlp5s0 proto dhcp src 192.168.0.79 metric 600 10.0.0.0/24 dev ppp0 scope link 10.0.0.2 dev ppp0 proto kernel scope link src 10.0.0.1 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 192.168.0.0/24 dev wlp5s0 proto kernel scope link src 192.168.0.79 metr $ ip addr show 59: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3 link/ppp inet 10.0.0.1 peer 10.0.0.2/32 scope global ppp0 valid_lft forever preferred_lft forever ~$ sudo tcpdump -i ppp0 tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on ppp0, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes 11:29:02.068203 IP Devesh > 10.0.0.2: ICMP echo request, id 56351, seq 5744, length 64 11:29:02.394650 IP 10.0.0.2 > Devesh: ICMP echo request, id 32, seq 5882, length 64 11:29:02.394673 IP Devesh > 10.0.0.2: ICMP echo reply, id 32, seq 5882, length 64 11:29:02.490505 IP 10.0.0.2 > Devesh: ICMP echo request, id 28, seq 428, length 64 11:29:02.490533 IP Devesh > 10.0.0.2: ICMP echo reply, id 28, seq 428, length 64 11:29:02.570513 IP 10.0.0.2 > Devesh: ICMP echo request, id 29, seq 239, length 64 11:29:02.570533 IP Devesh > 10.0.0.2: ICMP echo reply, id 29, seq 239, length 64 11:29:03.092195 IP Devesh > 10.0.0.2: ICMP echo request, id 56351, seq 5745, length 64 11:29:03.386211 IP 10.0.0.2 > Devesh: ICMP echo request, id 32, seq 5883, length 64 11:29:03.386238 IP Devesh > 10.0.0.2: ICMP echo reply, id 32, seq 5883, length 64 11:29:03.482223 IP 10.0.0.2 > Devesh: ICMP echo request, id 28, seq 429, length 64 11:29:03.482246 IP Devesh > 10.0.0.2: ICMP echo reply, id 28, seq 429, length 64 11:29:03.578234 IP 10.0.0.2 > Devesh: ICMP echo request, id 29, seq 240, length 64 11:29:03.578258 IP Devesh > 10.0.0.2: ICMP echo reply, id 29, seq 240, length 64 11:29:04.116196 IP Devesh > 10.0.0.2: ICMP echo request, id 56351, seq 5746, length 64 11:29:04.393801 IP 10.0.0.2 > Devesh: ICMP echo request, id 32, seq 5884, length 64 11:29:04.393826 IP Devesh > 10.0.0.2: ICMP echo reply, id 32, seq 5884, length 64 On Android Target Device: # ip route default dev ppp0 scope link 10.0.0.0/24 dev ppp0 scope link 10.0.0.1 dev ppp0 proto kernel scope link src 10.0.0.2 # ip addr show 72: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3 link/ppp inet 10.0.0.2 peer 10.0.0.1/32 scope global ppp0 valid_lft forever preferred_lft forever # ifconfig ppp0 Link encap:Point-to-Point Protocol inet addr:10.0.0.2 P-t-P:10.0.0.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:204583 errors:0 dropped:0 overruns:0 frame:0 TX packets:137381 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:17453623 TX bytes:11539856 # tcpdump -i ppp0 tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on ppp0, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes 11:27:47.371173 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 32, seq 5969, length 64 11:27:47.865949 IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 56351, seq 5830, length 64 11:27:47.979345 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 29, seq 327, length 64 11:27:47.979903 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 32, seq 5970, length 64 11:27:47.980717 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 28, seq 516, length 64 11:27:48.182932 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 29, seq 327, length 64 11:27:48.275624 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 32, seq 5970, length 64 11:27:48.363885 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 28, seq 516, length 64 11:27:48.891693 IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 56351, seq 5831, length 64 11:27:48.979785 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 29, seq 328, length 64 11:27:48.981057 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 32, seq 5971, length 64 11:27:48.981469 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 28, seq 517, length 64 11:27:49.190116 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 29, seq 328, length 64 11:27:49.281473 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 32, seq 5971, length 64 11:27:49.368639 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 28, seq 517, length 64 11:27:49.913433 IP 10.0.0.1 > 10.0.0.2: ICMP echo request, id 56351, seq 5832, length 64 11:27:49.980826 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 32, seq 5972, length 64 11:27:49.981377 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 29, seq 329, length 64 11:27:49.982190 IP 10.0.0.2 > 10.0.0.1: ICMP echo request, id 28, seq 518, length 64 11:27:50.193380 IP 10.0.0.1 > 10.0.0.2: ICMP echo reply, id 32, seq 5972, length 64 On Fri, Sep 13, 2024 at 11:00 AM Michael Richardson <mcr@xxxxxxxxxxxx> wrote: > > > Devesh Chipade <devesh@xxxxxxxxxxxxx> wrote: > > I am still not able to ping into ubuntu/linux or into my aosp target > > device without explicitly mentioning -I ppp0 interface. ping -I ppp0 > > 10.0.0.1 / ping -I ppp0 10.0.0.2 works but ping 10.0.0.1 / ping > > 10.0.0.2 does not work, > > Android does stuff with the networking stack so that it can live in multiple > provider domains. So the default route (if it exists) often lives in a > alternate routing table. > > > I have verified the ip route, ip tables, ip addr show as well as > > ifconfig (both on linux and aosp target). Seems to be all good in it. > > Any suggestions? > > you didn't post details, but.. > > if you tcpdump on your Ubuntu side, you'll probably see that AOSP side has > picked some other IP address as the source. If you really want to fix that, > then add a route back to the ppp0 device on the ubuntu side, but probably you > just need to make sure that the Android side always uses the right source IP. > > > > > -- > Michael Richardson <mcr+IETF@xxxxxxxxxxxx>, Sandelman Software Works > -= IPv6 IoT consulting =- *I*LIKE*TRAINS* > > >