You are not logged in.
on android devices usually you will get 4 or more ipv6 addresses (link local and 3 global addressable)
one of them is for listening incoming connection from the internet (usually generated from interface's mac)
and the last two generated randomly which also used randomly for making a connection to outside internet (i think for privacy reason?)
but my arch install with systemd-networkd only have two addresses, link local and single globally unique address with my isp prefix and my interface mac
Offline
on android devices usually you will get 4 or more ipv6 addresses (link local and 3 global addressable)
one of them is for listening incoming connection from the internet (usually generated from interface's mac)
and the last two generated randomly which also used randomly for making a connection to outside internet (i think for privacy reason?)
The default for (my) Android 11 is two interface ids. One generated via EUI64 (from the MAC address) and a temporary one. Those two combined with a public network prefix (2000::/3) should lead to 3 IPv6 addresses:
fe80::EUI64
public:EUI64
public:temporary
I'm not sure where your fourth address comes from - it may be a deprecated temporary address (they're usually valid for an hour or so).
but my arch install with systemd-networkd only have two addresses, link local and single globally unique address with my isp prefix and my interface mac
This is the default for systemd-networkd:
fe80::EUI64
public:EUI64
So - do you want a temporary address for outgoing connections? Or do you want a different interface ID via "privacy stable" for both directions?
Offline
You add "IPv6PrivacyExtensions=true" to the [Network] block for your interface .network file below /etc/systemd/network
Offline