Unlike SNAT traffic, traffic through a floating IP with DVR is handled on the individual compute nodes rather than a centralized node. When a floating IP is attached to a virtual machine instance, the L3 agent on the compute node creates a new fip namespace that corresponds to the external network the floating IP belongs to if one doesn't already exist:
Any router namespace on a compute node connected to the same external network shares a single fip namespace and is connected to the namespace using a veth pair. The veth pairs are treated as point-to-point links between the fip namespace and individual qrouter namespaces, and are addressed as /31 networks using a common 169.254/16 link-local address space. Because the network connections between the namespaces exist only within the nodes themselves and are used as point-to-point links, a Neutron project network allocation is not required.
In the qrouter namespace, one end of the veth pair has the prefix rfp, meaning router-to-FIP:
Inside the fip namespace, the other end of the veth pair has the prefix fpr, meaning FIP-to-router:
In addition to the fpr interface, a new interface with the prefix fg can be found inside the FIP namespace. The rfp, fpr, and fg interfaces will be discussed in the following sections.