Hello Eric,
you can run a routing protocol over GRE tunnels or you can use GRE keepalives if supported on the GRE routers.
Only one GRE tunnel will be operational in any given time in your network setup. The use of GRE keepalives and/or a routing protocol allows for end-to-end detection.
Firewall pairs have to allow GRE traffic of both GRE tunnels in their configuration
(I supposed site 1 R1 to site 2 R1 and site1 R2 to site 2 R2 p2p GRE tunnels are configured)
Hope to help
Giuseppe