FlexCRAN: A flexible functional split framework over ethernet fronthaul in Cloud-RAN