Enhanced C-RAN architecture supporting SDN and NFV functionalities for D2D communications