# In the event of mismatched config versions, don't route
# the request to the shield data center
if (req.http.vcl-version == "mismatch" && req.restarts > 0) {
  set req.backend = F_origin_0;

# If on a shield server...
} else if (fastly.ff.visits_this_service > 0 && req.http.vcl-version) {

  # Check that the configuration version executed on the edge
  # server is the same one we have here on the shield
  if (req.http.vcl-version != req.vcl.version || req.url ~ "simulate-mismatch") {

    # If not, throw an error which will be delivered to the
    # edge server to handle
    error 600;
  }

# otherwise we're on an edge server
} else {

  # Set a header to tell the shield server which config
  # version we had when we processed the request
  set req.http.vcl-version = req.vcl.version;
}