how do switches make forwarding decisions