Commit e9b5d84e authored by arora's avatar arora Committed by Robert Schmidt

Add docker compose files for deploying 7.2

- Add docker-compose.yml
- Write additional documentation
parent 29542595
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="../../../doc/images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI O-RAN 7.2 Front-haul Docker Compose</font></b>
</td>
</tr>
</table>
![Docker deploy 7.2](../../../doc/images/docker-deploy-oai-7-2.png)
This docker-compose is designed to use `OAI-gNB` with a 7.2 compatible Radio Unit. Before using this docker compose you have to configure
the host machine as per the [ORAN_FHI7.2_Tutorial](../../../doc/ORAN_FHI7.2_Tutorial.md). The container image used by the docker compose file is tested only on `Ubuntu 22.04` docker host.
## Build Image (Optional)
Refer to [OAI Docker/Podman Build and Usage Procedures](../../../docker/README.md)
## Configure Networking
### SR-IOV Virtual Functions (VFs)
In docker-compose environment there is no automated method
to configure the VFs on the fly. The user will have to manually configure
C/U plane VFs before starting the container `OAI-gNB`.
You can follow the step
[configure-network-interfaces-and-dpdk-vfs](../../../doc/ORAN_FHI7.2_Tutorial.md#configure-network-interfaces-and-dpdk-vfs).
### Interface towards AMF (N2)
For `N2` interface we are using `macvlan` driver of docker.
You can use the `bridge` driver, in situation
- When the core network is running on the same machine
- or different machine but you have configured
needed `ip route` and forwarding to access the core network from RAN host.
To configure docker `macvlan` network
you need to choose `ipam.config` and `driver_opts.parent` are per your environment
```
oai-net:
driver: macvlan
name: oai-net
ipam:
config:
- subnet: "172.21.16.0/22"
ip_range: "172.21.18.20/32"
gateway: "172.21.19.254"
driver_opts:
com.docker.network.bridge.name: "oai-net"
parent: enp193s0f0
```
To configure `bridge` network you need to choose `ipam.config.subnet` as per your environment.
```
oai-net:
driver: bridge
name: oai-net
ipam:
config:
- subnet: 192.168.72.128/26
driver_opts:
com.docker.network.bridge.name: "oai-net"
```
## Deploy OAI-gNB Container
The [configuration file](../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-benetel650.conf) used by docker compose is configured for Benetel 650 RU (RAN650-1v1.0.4-dda1bf5).
```bash
docker-compose up -d
```
To check the logs
```bash
docker logs oai-gnb -f
```
services:
oai-gnb:
image: oai-gnb-fhi72:latest
privileged: true
container_name: oai-gnb
environment:
TZ: Europe/Paris
USE_ADDITIONAL_OPTIONS: --sa --thread-pool 13,14,15,16,17,18
devices:
- /dev/vfio:/dev/vfio/
volumes:
- ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-benetel650.conf:/opt/oai-gnb/etc/gnb.conf
- /dev/hugepages:/dev/hugepages
cpuset: "0,1,2,8,9,10,13,14,15,16,17,18"
networks:
oai-net:
ipv4_address: 172.21.18.20
healthcheck:
test: /bin/bash -c "pgrep nr-softmodem"
interval: 10s
timeout: 5s
retries: 5
networks:
oai-net:
driver: macvlan
name: oai-net
ipam:
config:
- subnet: "172.21.16.0/22"
ip_range: "172.21.18.20/32"
gateway: "172.21.19.254"
driver_opts:
com.docker.network.bridge.name: "oai-net"
parent: enp193s0f0
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2024-05-27T11:27:32.381Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" version="24.4.8" etag="Tu2LWHXXymc2V8xZ0cDf" type="google">
<diagram name="Page-1" id="OGevCmJqFMRY4jlIOEzr">
<mxGraphModel dx="1434" dy="759" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;fillColor=#4473c5;strokeColor=#FFFFFF;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="536.82" y="81.77" width="406.06" height="540.1" as="geometry" />
</mxCell>
<mxCell id="3" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="299.61" width="150" height="90" as="geometry" />
</mxCell>
<mxCell id="4" value="OAI-gNB" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="225" y="309.61" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="5" value="OAI-gNB Host Machine" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="200" y="269.61" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;strokeColor=#FFFFFF;endArrow=oval;endFill=1;" edge="1" source="7" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="676.4549999999999" y="347.52" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;AMF&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="635.8999999999999" y="454.3100000000002" width="81.11" height="40" as="geometry" />
</mxCell>
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;jumpSize=10;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=oval;endFill=1;strokeColor=#FFFFFF;fillColor=#FFFFFF;fontFamily=Helvetica;fontSize=12;" edge="1" source="9" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="770.51" y="347.52" as="targetPoint" />
<Array as="points">
<mxPoint x="772.51" y="347.52" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="9" value="SMF" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="731.29" y="456.30999999999995" width="78.22" height="40" as="geometry" />
</mxCell>
<mxCell id="10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;jumpSize=10;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=oval;endFill=1;strokeColor=#FFFFFF;fillColor=#FFFFFF;fontFamily=Helvetica;fontSize=12;" edge="1" source="11" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="867.5100000000001" y="345" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="11" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;NRF&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="829.7299999999998" y="208.37000000000023" width="76.66" height="40" as="geometry" />
</mxCell>
<mxCell id="12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=1;strokeColor=#FFFFFF;fontFamily=Helvetica;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" source="13" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="578.51" y="345" as="targetPoint" />
<mxPoint x="505.7299999999998" y="406.68000000000006" as="sourcePoint" />
<Array as="points">
<mxPoint x="578.51" y="305.0000000000001" />
<mxPoint x="578.51" y="305.0000000000001" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="13" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Database&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Helvetica;fontSize=14;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="544.46" y="262.37" width="68.05" height="40" as="geometry" />
</mxCell>
<mxCell id="14" value="" style="endArrow=none;html=1;fillColor=#B266FF;strokeColor=#FFFFFF;startArrow=none;startFill=0;jumpSize=10;endFill=0;fontFamily=Helvetica;fontSize=12;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="540.8399999999999" y="345.68000000000006" as="sourcePoint" />
<mxPoint x="932.5100000000002" y="346" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="15" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;Namf&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="679.5" y="386.68000000000006" width="39.51" height="20" as="geometry" />
</mxCell>
<mxCell id="16" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;Nsmf&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="774.9799999999999" y="385.37000000000006" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="17" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;Nnrf&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="874.5599999999998" y="306.19000000000017" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#FFFFFF;endArrow=oval;endFill=1;fontFamily=Helvetica;fontSize=12;" edge="1" source="19" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="702.51" y="345" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="19" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;AUSF&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="668.8299999999999" y="251.68000000000018" width="68.34" height="40" as="geometry" />
</mxCell>
<mxCell id="20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=1;strokeColor=#FFFFFF;fontFamily=Helvetica;fontSize=12;" edge="1" source="21" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="789.51" y="345" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="21" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;UDM&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="755.76" y="251.68000000000018" width="66.75" height="40" as="geometry" />
</mxCell>
<mxCell id="22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=1;strokeColor=#FFFFFF;fontFamily=Helvetica;fontSize=12;" edge="1" source="23" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="622.51" y="345" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="23" value="UDR" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="587.4499999999998" y="208.37000000000023" width="70" height="40" as="geometry" />
</mxCell>
<mxCell id="24" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;Nausf&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="704.4599999999998" y="319.61000000000024" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="25" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;Nudm&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="793.6899999999998" y="311.6800000000002" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="26" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;Nudr&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="622.51" y="315.37000000000023" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="27" value="&lt;span style=&quot;font-style: normal ; letter-spacing: normal ; text-align: center ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; background-color: rgb(68 , 115 , 197) ; font-size: 12px&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px&quot;&gt;Service Base Network&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="944.06" y="336.6099999999999" width="68.45" height="20" as="geometry" />
</mxCell>
<mxCell id="28" value="" style="endArrow=none;html=1;strokeWidth=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FFFFFF;fontFamily=Helvetica;exitX=0.798;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" source="2" target="7" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="473.70000000000005" as="sourcePoint" />
<mxPoint x="656.4099999999999" y="436.68000000000006" as="targetPoint" />
<Array as="points">
<mxPoint x="591.51" y="474" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="29" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;N2: 172.21.6.200&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="527.7499999999999" y="446.3100000000004" width="113.68" height="20" as="geometry" />
</mxCell>
<mxCell id="30" value="&lt;font color=&quot;#ffffff&quot;&gt;&lt;span style=&quot;background-color: rgb(68, 115, 197);&quot;&gt;Openshift Cluster&lt;br&gt;&lt;/span&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="658.2" y="160" width="176.78" height="30" as="geometry" />
</mxCell>
<mxCell id="31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=1;strokeColor=#FFFFFF;" edge="1" source="32" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="902.5100000000001" y="347.52" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="32" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;UPF&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;fontFamily=Helvetica;fontSize=14;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="859.2900000000001" y="456.30999999999995" width="88.22" height="40" as="geometry" />
</mxCell>
<mxCell id="33" value="&lt;span style=&quot;font-style: normal; letter-spacing: normal; text-align: center; text-indent: 0px; text-transform: none; word-spacing: 0px; background-color: rgb(68, 115, 197); font-size: 12px;&quot;&gt;&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 12px;&quot;&gt;N3 172.21.6.201&lt;/font&gt;&lt;/span&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontFamily=Helvetica;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="704.4599999999999" y="530.0000000000003" width="113.68" height="20" as="geometry" />
</mxCell>
<mxCell id="34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.828;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#FFFFFF;endArrow=none;endFill=0;" edge="1" source="32" target="2" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="903" y="523" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" source="37" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="312.5" y="389.6100000000001" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" source="37" target="2" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="37" value="Midhaul/&lt;br&gt;Backhaul&lt;br&gt;Switch" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="340" y="450" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="38" value="Fronthaul&lt;br&gt;PTP Aware&lt;br&gt;Switch" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="118" y="446.31" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="40" target="38" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="218" y="486" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="40" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="200" y="360" width="29.61" height="29.61" as="geometry" />
</mxCell>
<mxCell id="41" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="200" y="378.61" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="42" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="220" y="378.61" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="43" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="300" y="360" width="29.61" height="29.61" as="geometry" />
</mxCell>
<mxCell id="44" value="O-RU" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="320.45" width="60" height="39.55" as="geometry" />
</mxCell>
<mxCell id="45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.013;entryY=0.421;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="44" target="38" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="70" y="480" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="46" value="VF-C" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="221" y="392.61" width="35" height="20.39" as="geometry" />
</mxCell>
<mxCell id="47" value="VF-U" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="178" y="392.61" width="35" height="20.39" as="geometry" />
</mxCell>
<mxCell id="48" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="200" y="120.00000000000001" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="49" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="200" y="150" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="50" value="Virtual Function U Plane" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="237" y="110" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="51" value="Virtual Function C Plane" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="237" y="140" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="52" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="201" y="180" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="53" value="Physical Interface" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="237" y="175" width="140" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment