...
The Swisscom virtual BNG and Edge SDN M&C for the ONAP BBS use-case is a demo system. It is a functional prototype and it is not meant for production use. The whole system is running in a single OpenStack VM and therefore only able to support a small number of subscribers. The forwarding dataplane is implemented fully inside the VMs Linux networking stack and therefore not designed to support high data rates. The system is able to interact with ONAP according the BBS use-case definition.
Below a diagram of the whole end-to-end architecture, the Edge SDN M&C + vBNG VM is highlighted:
Gliffy | ||||
---|---|---|---|---|
|
Installation by Heat Template
...
Key | Default Value | Description | Notes |
---|---|---|---|
OpenStack Settings | |||
key | vbng | Name of the SSH keypair for logging in into instances | constraint: nova.keypair |
image | "CentOS 7 x86_64 GenericCloud 1901" | Name of the glance image (only CentOS7 supported) | constraint: glance.image |
flavor | a1.tiny | Flavor to use for instances, can be a small one (1vCPU/4GB RAM/10GB disk) | constraint: nova.flavor |
extnet | external | Name of external network | |
int_cidr | 192.168.1.0/24 | Internal Network IPv4 Addressing in CIDR notation | |
dns1 | 8.8.8.8 | Upstream DNS server 1 (Also used for customers) | |
dns2 | 8.8.4.4 | Upstream DNS server 2 | |
vBNG Git Repository Settings | |||
git_repo | ssh://git@git.swisscom.com:7999/ztxgspon/vbng.git | Virtual BNG Git Repository URL (ssh://) | |
git_sshkey | NOT SHOWN HERE | SSH Private Key for Git Repository (Read-Only Access) | |
git_hostkey | NOT SHOWN HERE | SSH Host Key for Git Host (git.swisscom.com) | |
vBNG Settings | |||
cust_cidr | 10.66.0.0/16 | Customer IPv4 Network in CIDR notation | |
cust_gw | 10.66.0.1 | Customer IPv4 Network Gateway | |
cust_dns | 8.8.8.8 | Customer DNS Server | |
cust_start | 10.66.1.1 | Customer IPv4 Range Start Address | |
cust_end | 10.66.1.254 | Customer IPv4 Range End Address | |
dhcp_cidr | 172.24.24.0/24 | DHCP Server / Relay Network in CIDR notation | |
dhcp_ip | 172.24.24.1 | DHCP Server IPv4 Address | |
relay_ip | 172.24.24.2 | DHCP Relay IPv4 Address | |
in_tun_port | 4789 | UDP Port for incoming VxLAN Tunnels (Security Group) | |
onap_dcae_ves_collector_url | http://172.30.0.9398:30235/eventListener/v7 | ONAP DCAE VES Collector URL |
OLT Onboarding Configuration
Heat runs the following scripts inside the vbng directory on stack creation automatically, the parameters passed to heat are kept in $HOME/vbng.conf for persistence:
vbng/00-installdeps.sh
Update the system, install dependent packages, setup docker.
vbng/01-setupdatapath.sh
Set up the datapath part, including shaping, routing and NAT.
vbng/02-setupcontainers.sh
Update docker images and start all containers.
You may re-run those scripts as many times as you wish, work will only be done once. Also keep in mind you must re-run these 3 scripts on VM instance reboot as well. OLT onboarding configuration is not done by heat, since OLT parameters are normally not known on heat stack creation time. Therefore another script can be used once the vbng instance is provisioned:
vbng/03-setupolt.sh
The script takes accepts exactly 6 parameters to specify tunnel characteristics. Already configured OLTs are kept in $HOME/oltmap.txt. E.g.:
Code Block [centos@vbng ~]$ vbng/03-setupolt.sh Usage: vbng/03-setupolt.sh <vxlan_data_ip> <vxlan_data_port> <vxlan_data_vni> <vxlan_dhcp_ip> <vxlan_dhcp_port> <vxlan_dhcp_vni> [centos@vbng ~]$ vbng/03-setupolt.sh 172.30.0.145 4789 88888 172.30.0.145 4789 100 Setting up VxLAN tunnel interface olt0 (172.30.0.145:4789 VNI=88888) Setting up VxLAN tunnel interface dhcp0 (172.30.0.145:4789 VNI=100) Adding port dhcp0 to bride dhcp... [centos@vbng ~]$ cat oltmap.txt 0 datavxlan_172.30.0.145_4789_88888_dhcpvxlan_172.30.0.145_4789_100 [centos@vbng ~]$
ONT/Subscriber Configuration
...
Subscriber management is normally done by a host process subscribing to the message queue and configuring subscribers automatically. In case manual interaction is required those two scripts will help you out:
- vbng/04-setupcustomer.sh
- Enable a particular customer
- Usage: vbng/04-setupcustomer.sh [olt_id] [s-vlan] [c-vlan] [customer_ip] [traffic_profile_id]
- vbng/05-removecustomer.sh
- Remove a particular customer
- Usage: vbng/05-removecustomer.sh [customer_ip]
ONAP Configuration
The installation and initial configuration of Edge SDN M&C + vBNG is done by an Heat stack template, see above. The parameters which must be modified in ONAP are the following:
...