How does OVN router obtain mac address and ip address

Hi everyone.

I have recently been trying out Incus with OVN on a small cluster connected to a local LAN.
The Internet access from the local LAN is NATed by other gateways.

I can connect to the cluster and create instances.
The instances can communicate with each other via an OVN network without any problem.
I also set the UPLINK physical interface to an unmanaged Linux bridge.
However, I am a bit lost on how the OVN router gets its external IP and mac address to access the local LAN and Internet further down the road.
It would be better if someone kindly explained these to me.

I understand the external IP address can be obtained from volatile.network.ipv4.address, but how is it set?
Does the OVN network randomly draw one of the IPs from the setting in the UPLINK physical interface?
The LAN I am working with already has DHCP, so I would like to obtain the IP address from DHCP. Is it possible?

Also, according to my understanding, to successfully transfer the L2 traffic, the router’s external port, connected to the local LAN, should have a mac address.
How is this mac address chosen and how can I obtain this mac address?

One particular problem with the local LAN I am using is that it requires every client to have a pre-determined mac address.
I need to fill out some forms with the fixed mac address to apply Internet access.
Is it possible to get a permanent or semi-permanent mac address for an OVN network router?

Any comments or explanations are helpful.
My network-fu is not catching up with the design of OVN and OVS.
I am very lost here.

Not randomly, but yes. You have the ipv4.ovn.ranges config on the UPLINK, then Incus picks addresses sequentially from that for use by the OVN routers.

It;'s a randomized MAC address that’s set by Incus. I believe it may be visible in incus network info NAME

The MAC shouldn’t change unless Incus is re-creating all the OVN objects for some reason.
You should also be able to pin it through bridge.hwaddr