Entry point openair2/SIMULATION/USER_TOOLS/LAYER2_SIM/mac_sim.c 

1. endless loop calling each frame/TTI

 a)  macphy_scheduler (invokes MAC/RRC/PDCP/RLC protocols and generates TX/RX commands for PHY/Emul) : 
      [ see openair2/LAYER2/MAC/layer2_scheduler.c for how these are all scheduled]
 
 b)  emul_rx_tx() (emulates PHY and stimulates PDU transport mechanisms (ethernet or memory transfer)
     contains abstraction layer, channel simulation, etc.
     [ openair2/LAYER2/SIMULATION/PHY_EMULATION/CONTROL/phy_emulation.c ]
       b1) rx local chbch processing (i.e. from CH on the same physical machine)
       b2) rx local sach ul/dl processing 
       b3) rx ethernet data (both chbch and sach ul/dl)
       b4) measurement-related stuff
     ]