
An entry that matches the standby group virtual ip address to the virtual mac address and interface is installed in the arp table. This output shows also that both the primary and virtual mac addresses are attached to the vlan123 interface.

From which structure does the arp table gather this information? The interface controller as it was described in the RFC ? Another structure? We first check the output of sh inter controller and sh controller commands
The sh inter controller and sh controller, commands shows only the physical interfaces information: idb, hw and software addr filters, etc. it is hard to see any hint on where are stored and used the virtual mac address information.

By checking the internal hsrp information, the output hints on an “HSRP MAC Address Table”
In the “HSRP MAC Address Table” the virtual mac address, it tied to the SVI interface. Is this table, a part of the usual MAC Address Table? I suppose that the active router uses this table in the same way as the usual mac address table when looking up L2 destinations and forwarding but exclusively for the HSRP operation (to not poison the regular MAC address).
A step-by-step analysis together with the information from the RFC
Based on the RFC comments and show command let us describe a packet forwarding from the source host to the destination host, step-by-step:
- PC-1’s gateway is the @ip of the virtual router
- PC-1 sends a packet to PC-2 reachable via its gateway
- To complete L2 encapsulation information it sends an ARP for the @ip of the vr requesting its mac (or use the gratuitous ARP the router becoming the active router)
- ARP broadcast request reaches the active router : Rtr-1
- The active router check its ARP table and find the @mac of the vr (the ip aliasing populated the ARP table and enabled the router to respond to ARP requests)
- The active router Rtr-1 sends an ARP reply back to the PC-1
- PC-1 L2 encapsulate the packet and sends it to the active router Rtr-1
- Because Rtr-1, the active router, sends hellos using its virtual mac address as source, all switches on the path optimize the forwarding of PC-1 packet towards Rtr-1
- The packet reaches the active router
- The active router for the standby group checks the forwarding table that we suppose include the HSRP MAC Address table.
- In the HSRP MAC Address Table the allhsrp mac is tight to SVI 123 which is a local destination
- Because the router is the active router in the corresponding standby group, the packet has reached its final L2 destination and is L3 processed next.
- The active router finds an OSPF route to the destination and forwards the packet using its output interface L2 information (not the vlan213 virtual mac address) to the next hop.
Yet more details

The HSRP elected active router sends hello packets using its virtual mac to the ALL Routers multicast group:

The full hello packet sent by the active router shows the source mac address is the All-HSRP-routers mac address:

A comparison between HSRP internal status in both routers active and passive.
Both routers have the same HSRP MAC Address Table and group information. But only the passive router maintains a state for the active router (ACTIVE_TIMERS)

Upon handling the virtual router role, the active router sends a gratuitous arp with its virtual ip address

The hello packet that is sent by the backup has as source address its primary mac address.
The fact that the active router uses the virtual mac address as source address in its hello packet let’s suppose that this mac address is tight to the structure of the svi or that another process crafts the packet (not using the interface information) and just forwarded through the svi.
Let’s suppose that the virtual mac address information is tight to the svi interface structure, it means that this mac address is reserved and added to the controller’s address list if the router is active. If the router is not active, then passive, this address is not added to the controller interface.