GARP and RA packet specifications for HA policy with fast IP move

The following sections specify the GARP and RA packet specifications required by Google Cloud when the haPolicy.fastIPMove backend service parameter is set to GARP_RA.

GARP packet format for IPv4 traffic

The following fields are required when you use a GARP packet to trigger a new leader.

Sender MAC address MAC address of the sender VM instance (the new leader).
Sender IPv4 address The /32 IPv4 address that is moving to the new leader.
Target MAC address Broadcast MAC address: FF-FF-FF-FF-FF-FF
Target IPv4 address Same as the sender IPv4 address.
ARP operation ARPOP_REPLY: 2

RA packet format for IPv6 traffic

RA supports advertising multiple IPv6 prefix ranges in a single RA packet by attaching multiple ICMPv6 prefix information options.

When haPolicy.fastIPMove is set to GARP_RA, every IPv6 prefix range in a single RA packet should be an exact match to a forwarding rule IP address, and all of those forwarding rules must point to the same regional backend service.

If the set of IPv6 prefix ranges are served by different regional backend services, the RA packet is treated as invalid and doesn't trigger a fast IP move.

The following fields are required when you use an RA packet to trigger a new leader.

Sender MAC address MAC address of the sender VM instance (the new leader).
Sender IPv6 address Link-local IPv6 address of the sender VM instance. This is not the IPv6 address that is moving to the new leader.
Target MAC address All node multicast MAC address: 33-33-00-00-00-01
Target IPv6 address IPv6 all node multicast address: FF02::1
IPv6 hop limit 255
ICMPv6 type ND_ROUTER_ADVERT: 134
ICMPv6 options type ND_OPT_PREFIX_INFORMATION: 3
Prefix information option prefix The IPv6 prefix that is moving to the new leader. Bits after the prefix must be zero.
Prefix information option prefix length The length of IPv6 prefix that is moving to the new leader.