VIRT-PHY: Initial commit of virt-phy to work with osmo-bts virt-phy.
commita4aaa14878f51bb61bd435a17ea95abe0e4a4e63
authorSebastian Stumpf <sebastian.stumpf87@googlemail.com>
Mon, 9 Jan 2017 16:05:31 +0000 (9 17:05 +0100)
committerHarald Welte <laforge@gnumonks.org>
Wed, 12 Jul 2017 21:26:26 +0000 (12 23:26 +0200)
treef66bdb276726c1f8beae51e4926490e1de6a359f
parent064ffe6563cdf7105d97e3d45c2d14520cea8352
VIRT-PHY: Initial commit of virt-phy to work with osmo-bts virt-phy.

This patch implements a virtual physical layer replacing the air
interface. The purpose is to get rid of the hardware requirements
and be able to start testing and implementing layer 2 communication
functionality on one machine. Multicast sockets are used to enable
bidirectional communication between the BTS and the MS process.
The GSMTAP protocol designed for wireshark capturing is used to
encapsulate the payload on the virtual physical layer.
The virtual physical layer on the osmocom-bb side implements the
L1CTL interface to the layer23 apps like mobile.

* Working mcast socket communication and extraction of its
  functionality.
* Basic handlers for file descriptor callbacks from incoming L1CTL
  messages and extraction of that functionality to a l1ctl socket class.
* Multiplexing to different routines depending on incoming L1CTL
  message type.
* Uses virt_um and osmocom_mcast_sock implementation from osmo-bts
  virt-phy.
* Ecapsulation and parsing methods to and from GSMTAP messages.
* Basic handlers for file descriptor callbacks from incoming mcast
  messages on the virtual um.
* Multiplexing to different channel routines based on GSMTAP header
  channel type.
* Example configuration for l23 app mobile using virtual test sim.

Change-Id: I203c8ec58326e52a09603a37232fce7ae3641415
26 files changed:
.gitignore [new file with mode: 0644]
src/Makefile
src/host/virt_phy/.gitignore [new file with mode: 0644]
src/host/virt_phy/Makefile.am [new file with mode: 0644]
src/host/virt_phy/README [new file with mode: 0644]
src/host/virt_phy/configure.ac [new file with mode: 0644]
src/host/virt_phy/example_configs/osmocom-bb-mobile.cfg [new file with mode: 0644]
src/host/virt_phy/include/layer1/mframe_sched.h [new file with mode: 0644]
src/host/virt_phy/include/layer1/sync.h [new file with mode: 0644]
src/host/virt_phy/include/layer1/tdma_sched.h [new file with mode: 0644]
src/host/virt_phy/src/Makefile.am [new file with mode: 0644]
src/host/virt_phy/src/gsmtapl1_if.c [new file with mode: 0644]
src/host/virt_phy/src/gsmtapl1_if.h [new file with mode: 0644]
src/host/virt_phy/src/l1ctl_sap.c [new file with mode: 0644]
src/host/virt_phy/src/l1ctl_sap.h [new file with mode: 0644]
src/host/virt_phy/src/l1ctl_sock.c [new file with mode: 0644]
src/host/virt_phy/src/l1ctl_sock.h [new file with mode: 0644]
src/host/virt_phy/src/logging.c [new file with mode: 0644]
src/host/virt_phy/src/logging.h [new file with mode: 0644]
src/host/virt_phy/src/osmo_mcast_sock.c [new file with mode: 0644]
src/host/virt_phy/src/osmo_mcast_sock.h [new file with mode: 0644]
src/host/virt_phy/src/virt_l1_model.c [new file with mode: 0644]
src/host/virt_phy/src/virt_l1_model.h [new file with mode: 0644]
src/host/virt_phy/src/virtphy.c [new file with mode: 0644]
src/host/virt_phy/src/virtual_um.c [new file with mode: 0644]
src/host/virt_phy/src/virtual_um.h [new file with mode: 0644]