eth0 is inherited from the macvlan profile, so it’s not possible to use:
lxc config device set <container> <nic> hwaddr <mac address>
.
The best way is in my opinion to delete the macvlan profile and add eth0 to the specific container. It’s not possible to add the MAC addresses to the macvlan profile in this case.
If we use a macvlan configuration without a volatile option, we get Error: The device doesn't exist
So if i’m right:
Remove macvlan profile from your container. You dont need it anymore:
lxc profile remove <ct> macvlan
Delete the profile:
lxc profile remove macvlan
Override NIC from default profile:
lxc config device add <CT> eth0 nic nictype=macvlan parent=<host-nic> hwaddr=<mac>
And then it should work fine.