[Samsung Galaxy Nexus] Dirty_Jerz:
OK here it goes:

First off, I'm on toro. BUT, I built from source tonight (8:45pm est) and flashed. So this should be relevant to your question.

While on mobile data, settings -->AP-->Status shows an IP address. v4 & v6

in shell:

root@toro:/ # ip route
100.91.9.24/30 dev rmnet1 proto kernel scope link src 100.91.9.24
root@toro:/ # ping google.com
ping: unknown host google.com
2|root@toro:/ # ping 8.8.8.8
connect: Network is unreachable
2|root@toro:/ #

so there is no network connectivity. Looking in the radio logs, All apns/DCs are set up properly. Periodically there is a data stall alarm and statistics are tx=0 rx=0 so there is absolutely no comm.

now, in the normal (main?) logcat there are a few errors: (snipped & grepped for E/ for brevity)

E/Netd ( 136): Failed to write /sys/class/net/rmnet0/mtu: Invalid argument
E/ConnectivityService( 460): exception in setMtu()java.lang.IllegalStateException: command '215 interface setmtu rmnet0 1500' failed with '400 215 Failed to get MTU (Invalid argument)'
E/clatd (11339): plat_prefix/dns(ipv4only.arpa) status = 7/No address associated with hostname
E/Netd ( 136): Failed to write /sys/class/net/rmnet1/mtu: Invalid argument
E/ConnectivityService( 460): exception in setMtu()java.lang.IllegalStateException: command '223 interface setmtu rmnet1 1500' failed with '400 223 Failed to get MTU (Invalid argument)'
E/Netd ( 136): netlink response contains error (Network is unreachable)
E/ConnectivityService( 460): Exception in addRoute for gateway: java.lang.IllegalStateException: command '224 network route add 108 rmnet1 0.0.0.0/0 100.91.9.1' failed with '400 224 addRoute() failed (Network is unreachable)'

So I decided to get a little more verbose output from the commands netd is trying to execute:

root@toro:/ # netd interface setmtu rmnet0 1500

returns nothing, same as w/ rmnet1 but back over in the logd:

E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/ifb0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/ifb1/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/ip6tnl0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/cdma_rmnet0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/cdma_rmnet1/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/cdma_rmnet2/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/cdma_rmnet3/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/cdma_rmnet4/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/lte_rmnet0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/lte_rmnet1/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/lte_rmnet2/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/lte_rmnet3/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/p2p0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/wlan0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/rmnet3/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/rmnet0/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/rmnet1/accept_ra_rt_table: No such file or directory
E/Netd (12856): Failed to open /proc/sys/net/ipv6/conf/rmnet2/accept_ra_rt_table: No such file or directory
E/SocketListener(12856): Obtaining file descriptor socket 'dnsproxyd' failed: No such file or directory
E/Netd (12856): Unable to start DnsProxyListener (No such file or directory)

Ahha!

Looking around for anything in the kernel/common 3.0 branch was fruitless, so I expanded the search. Below is the commit I came up with. The diff log details setting up a sysfs 'accept_ra_rt_table'. So I'm gonna cherry-pick and hope there are not too many conflicts. we'll see.

net: ipv6: autoconf routes into per-device tables

Commit

Here is the problem: