I figured out a way to get all the routes for a set of links. I ran the identity tool between the end point and the start point of each which will serve as a many to many table between the links (after a dissolve).  I wrote a Python script that recursively looks through the table from the start link to the end link and writes out a link combination for each. Came up with about 2200 routes for the project I am working on.
 
Here is the recursive function:
 
    def follow_connections_recursive(
        self, this_upstream_link, start_nodes, this_route_string, destination_link):
        # loop through input points and find start point
        fields = ["To_Link"]
        with arcpy.da.SearchCursor(
            start_nodes, fields, "From_Link = '"+this_upstream_link+ "'") as cursor:
            for this_start_point in cursor:
                this_link = this_start_point[0]
                #arcpy.AddMessage(this_link)
                temp_route_string = this_route_string
                this_route_string = this_route_string + '-'+ this_link
 
                if (this_link == destination_link):
                    arcpy.AddMessage("Route : " + this_route_string)
                else:
                    self.follow_connections_recursive(this_link, start_nodes, this_route_string, destination_link)
                    this_route_string = temp_route_string
            return