When ipv6 is enabled my ipv4 address does not appear in getnetworkinfo localaddresses After enabling ipv6 (Google WiFi/Ubuntu 16.04) I noticed that my node's upload bandwidth dropped a lot.  Investigating showed:


ifconfig lists one ipv4 address and three ipv6 addresses.
bitcoin-cli getnetworkinfo lists zero ipv4 addresses and two ipv6 addresses and one tor address.
in getnetworkinfo the only address with a score greater than 1 is my tor address.
debug.log shows the discovery of both ipv6 addresses and the tor address.
debig.log also shows the lines Bound to [::]:8333 and Bound to 0.0.0.0:8333


Everything seems in order from the logs and ifconfig but I can;t figure out why bitcoin-cli does not list my ipv4 address.  I am assuming that is why I'm not serving many historical blocks (my node used to serve 50 Gb a day and now hovers around 1Gb which I assume is the tor interface.)

Any advice is welcome!
The localaddresses field (which I assume is what you are looking at) is not always accurate. Your computer does not actually know its external IP address so it has to ask its peers for the IP address, which may not always happen or may not always be correct. Keep in mind that if no one has connected to you on IPv4 you won't know your IPv4 address.

Instead what you should look at is the networks field and check whether ipv4 is available. Also use getpeerinfo to see what the IP addresses of your peers are.

You can also run netstat -nlp in your terminal to check whether bitcoind has actually bound to port 8333 with IPv4.

Lastly, make sure that your ISP is actually giving you an IPv4 address. They may only be giving you an IPv6 address since you can use IPv6. Without an IPv4 address, you won't be able to actually receive connections from IPv4 peers. Additionally, a new IPv6 address will not be known to many peers or the DNS seeders, so it is unlikely that you are getting new peers that want to download the blockchain from you.