aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/proxy/proxy.txt
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/proxy/proxy.txt')
-rw-r--r--openbsc/src/proxy/proxy.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/openbsc/src/proxy/proxy.txt b/openbsc/src/proxy/proxy.txt
index d91dc9a89..e80a65b7a 100644
--- a/openbsc/src/proxy/proxy.txt
+++ b/openbsc/src/proxy/proxy.txt
@@ -30,3 +30,28 @@ OpenBSC ip.access Abis/IP proxy design
* keep-alive is handled independently, i.e. connections to BTS / BSC are always
kept open
+
+
+== code architecture ==
+
+=== incoming TCP connection ===
+* connect TCP to BSC
+* create 2 UDP sockets for packet injection
+
+=== incoming TCP data from BTS ===
+* determine if OML or RSL fd
+* copy data to tx_queue of corresponding BSC fd
+
+=== incoming TCP data from BSC ===
+* determine if OML or RSL fd
+* copy data to tx_queue of corresponding BTS fd
+
+=== incoming UDP data ===
+* determine OML or RSL and direction based on port number
+* copy data to apropriate tx_queue
+
+=== termination of TCP connection ===
+* no matter if BSC or BTS disconnect, keep other TCP session open
+* make sure upon re-connection, the correct pairs of connections
+ are matched up
+