The long and short of it is we have a system with a single ethernet port and we need to provide both an IPV4 connection (that can be completely incontrol of the user and varies per system) and we want an IPV6 connection on the same adapter that can be predicted for each system. The Link-Local address based on EUI-64 MAC address is great and it should provide the connectivity we need just fine.
Network Manager completely manages our interfaces (i.e., we do not have an
/etc/network/interfaces file on the system at all), so typically we just modify the connection settings in the connection file (
/etc/NetworkManager/system-connections/<con_name>), but IPv6 is not behaving as I would expect. I get the EUI-64 address when I have method set to ignore, but if I try using method=auto or method=manual, I will get an address in my ifconfig output, but I cannot ping the unit from any outside machine. Even if I connect directly between 2 PCs with the Ethernet cable, I only ever get "Destination Host Unreachable". With method=ignore, it seems that I have no control over how my IPv6 address is set up, it is set up based on the ISP (so in my current ISP, which is not IPv6 ready, I happen to end up with the link-local address I want, but in a different network I may end up with a global scope and an IP address I cannot predict).
How can I set this up on my system? What do I need to configure a manual address for my IPV6 connection via the NM connection files? Why is it generating an IP at all if I set IPv6 to method=ignore?
I am using the following: Yocto Custom OS running systemd (I have a kernel config file in /usr/lib/sysctl.d but this has no config settings for IPV6), I am running Network Manager 1.0.6, Linux Kernel 4.1.8