A Cross-Layer Architecture for Efficient Multi-Hop Communication in Multi-Channel Multi-Radio Wireless Mesh Networks