M-CORD lite version for K-ONE project Note that
- containers and SPGW-C/U software have been implemented by Intel
- shell scripts are implemented by Woojoong Kim @ POSTECH and ONF
- OS: Ubuntu 16.04 (Fin to test) and 18.04 (under test)
- CPU: Intel CPU (More than Haswell CPU microarchitecture), at least 20 cores
- Memory: 16GB
- Disk: > 1GB
- (Optional) Make a disk storage when using CloudLab
PM$ ./cloudlab-disk-setup.sh
- Install Docker and other requisites
PM$ ./set_env.sh
- Pull/run SPGW-C and SGPW-U images and make bridge networks
PM$ ./get_ngic_images.sh
- Pull traffic generator image
PM$ ./get_traffic_images.sh
- brspgw: 192.168.104.0/24
- brs11: 192.168.103.0/24
- brs1u: 192.168.105.0/24
- brsgi: 192.168.106.0/24
- DP container
PM$ docker exec -it dp bash
- CP container
PM$ docker exec -it cp bash
- Traffic generator container
PM$ docker exec -it traffic bash
- Access each container
- Input
ifconfig
command
21: dp_comm_ip = <IP address of DP container connected in `brspgw` bridge>
...
23: cp_comm_ip = <IP address of CP container connected in `brspgw` bridge>
1: S11_SGW_IP=<IP address of CP container connected in `brs11` bridge>
2: S11_MME_IP=<IP address of traffic container connected in `brs11` bridge>
3: S1U_SGW_IP=<IP address of DP container connected in `brs1u` bridge>
1: S1U_IP=<IP address of DP container connected in `brs1u` bridge>
...
5: SGI_IP=<IP address of DP container connected in `brsgi` bridge>
...
8: SGI_GW_IP=<IP address of traffic container connected in `brsgi` bridge>
First, access to traffic container. Then, input the following command:
root# ./rewrite_pcaps.py enb.s1u.ngic spgw.s11.ngic spgw.s1u.ngic spgw.sgi.ngic
where
enb.s1u.ngic: IP address of traffic container connected in `brs1u` bridge
spgw.s11.ngic: IP address of CP container connected in `brs11` bridge
spgw.s1u.ngic: IP address of DP container connected in `brs1u` bridge
spgw.sgi.ngic: IP address of DP container connected in `brsgi` bridge
Note that this step spends 1-2 minutes.
To run ONF M-CORD lite version for K-ONE project, there is the sequence which is DP -> CP -> traffic generator
root# . /opt/ngic/config/dp_config.cfg && ifconfig -a && ./ngic_dataplane $EAL_ARGS -- $APP_ARGS
root# . /opt/ngic/config/cp_config.cfg && ifconfig -a && ./ngic_controlplane $EAL_ARGS -- $APP_ARGS
root# tcpreplay --pps=200 -i $S11_IFACE tosend-s11.pcap # to generate S11 traffic
root# tcpreplay --pps=2000 -i $S1U_IFACE tosend-s1u.pcap # to generate S1U traffic
root# tcpreplay --pps=2000 -i $SGI_IFACE tosend-sgi.pcap # to generate SGI traffic
- Release 1 - single PM version
- Release 2 - single PM version / multiple EPC sevices (under maintenance by Woojoong Kim @ POSTECH and ONF)
- Release 3 - multi-PM version / multiple EPC services; each EPC runs in the same PM (TBD)
- Release 4 - multi-PM version by using Docker Swarm (Not fixed yet)