Traditional metro Ethernet networks used Ethernet switching and bridging with VLAN IDs to identify services. VLAN stacking allowed customer VLAN tags to be preserved across the network. Forwarding was based on dynamic MAC learning, which posed scaling challenges. Resiliency relied on Spanning Tree Protocol to avoid loops, but this made high availability difficult and provided limited traffic engineering capabilities.