docs: def _add_new_route(dcidr, router_ip, vpc_info, con, route_table_id):
      """
      Add a new route to the route table.
  
      """
      try:
          instance, eni = find_instance_and_eni_by_ip(vpc_info, router_ip)
          # Only set the route if the RT is associated with any of the subnets
          # used for the cluster.
          rt_subnets           = \
                      set(vpc_info['rt_subnet_lookup'].get(route_table_id, []))
          cluster_node_subnets = \
                      set(vpc_info['cluster_node_subnets'])
          if not rt_subnets or not rt_subnets.intersection(cluster_node_subnets):
              logging.debug("--- skipping adding route in RT '%s' "
                            "%s -> %s (%s, %s) since RT's subnets (%s) are not "
                            "part of the cluster (%s)." %
                            (route_table_id, dcidr, router_ip, instance.id,
                             eni.id,
                             ", ".join(rt_subnets) if rt_subnets else "none",
                             ", ".join(cluster_node_subnets)))
              return
  
          logging.info("--- adding route in RT '%s' "
                       "%s -> %s (%s, %s)" %
                       (route_table_id, dcidr, router_ip, instance.id, eni.id))
          con.create_route(route_table_id         = route_table_id,
                           destination_cidr_block = dcidr,
                           instance_id            = instance.id,
                           interface_id           = eni.id)
          CURRENT_STATE.routes[dcidr] = \
                                      (router_ip, str(instance.id), str(eni.id))
          _rt_state_update(route_table_id, dcidr, router_ip, instance.id, eni.id,
                           msg="Added route")
  
      except Exception as e:
          logging.error("*** failed to add route in RT '%s' "
                        "%s -> %s (%s)" %
                        (route_table_id, dcidr, router_ip, e.message))
          _rt_state_update(route_table_id, dcidr,
                           msg="[ERROR add route: %s]" % e.message)