A method for Ethernet routing within a three stage folded Clos with improved efficiency for computational complexity, network administration, multicast addressing and load redistribution in case of failure in the network, wherein the network comprises a plurality of nodes each representing a network element, the nodes including root nodes and edge nodes, each edge node comprising a set of user-facing input and output ports and each root node comprising a set of ports for interconnecting the edge nodes, the method comprising the steps of: computing and installing by each node in the network forwarding state for spanning trees rooted on the root nodes, wherein data forwarding in the spanning trees utilizes any source addresses for multicast paths when there is no failure in the network; identifying a given one of the edge nodes as having a failed connection to a given one of the root nodes; constructing by each node in the network or a system management function a shortest path first, SPF, tree rooted on the given edge node as a prototype for connectivity to that given edge node, the SPF tree being constructed for each of a set of Backbone Virtual Local Area Network identifiers, B-VIDs, for the spanning trees rooted on the given root node and use the failed connection, wherein the SPF tree serves as a prototype for unicast and multicast connectivity to that given edge node for that B-VID; populating a filtering database for pairwise connectivity between the given edge node and the other edge nodes for edge node pairs that are identified to have services in common associated with the set of B-VIDs; installing unicast state in the filtering database; installing multicast state in the filtering database using a hybrid of multicast addressing, which is selected depending on whether traffic is directed to the given edge node or from the given edge node; and forwarding unicast and multicast data in the network according to the filtering database. computing and installing by each node in the network forwarding state for spanning trees rooted on the root nodes, wherein data forwarding in the spanning trees utilizes any source addresses for multicast paths when there is no failure in the network; identifying a given one of the edge nodes as having a failed connection to a given one of the root nodes; constructing by each node in the network or a system management function a shortest path first, SPF, tree rooted on the given edge node as a prototype for connectivity to that given edge node, the SPF tree being constructed for each of a set of Backbone Virtual Local Area Network identifiers, B-VIDs, for the spanning trees rooted on the given root node and use the failed connection, wherein the SPF tree serves as a prototype for unicast and multicast connectivity to that given edge node for that B-VID; populating a filtering database for pairwise connectivity between the given edge node and the other edge nodes for edge node pairs that are identified to have services in common associated with the set of B-VIDs; installing unicast state in the filtering database; installing multicast state in the filtering database using a hybrid of multicast addressing, which is selected depending on whether traffic is directed to the given edge node or from the given edge node; and forwarding unicast and multicast data in the network according to the filtering database.