Separating routing and forwarding: A clean-slate network layer design | Synapse