From 89a915fb3a01f0db1f8e38902669eb922286cf24 Mon Sep 17 00:00:00 2001 From: Woojoong Kim Date: Wed, 13 Oct 2021 00:03:48 -0700 Subject: [PATCH] Integrate RSM usecase (#115) * Integrate RSM * integrate e2ap101 and rsm usecase * Add e2ap101 branch * Bug fix on branch and ran deployment --- Makefile | 30 ++-- MakefileVar.mk | 166 ++++++++++++----------- mk/infra.mk | 10 ++ mk/ran.mk | 29 ++-- mk/utils.mk | 22 +-- sdran-in-a-box-values-master-stable.yaml | 12 +- 6 files changed, 151 insertions(+), 118 deletions(-) diff --git a/Makefile b/Makefile index e91a1f1..1df4b89 100644 --- a/Makefile +++ b/Makefile @@ -26,22 +26,22 @@ $(BUILD): | $(WORKSPACE) mkdir -p $(BUILD) ifeq ($(OPT), ransim) -riab: option version preliminaries infra-k8s infra-atomix infra-onos-op ric +riab: option version preliminaries infra-k8s infra-fabric routing-quagga infra-atomix infra-onos-op ric @echo Done else ifeq ($(OPT), oai) -riab: option version preliminaries infra-k8s infra-fabric infra-atomix infra-onos-op omec ric oai +riab: option version preliminaries infra-k8s infra-fabric routing-quagga infra-atomix infra-onos-op omec routing-omec ric oai @echo Done else ifeq ($(OPT), ric) -riab: option version preliminaries infra-k8s infra-atomix infra-onos-op ric +riab: option version preliminaries infra-k8s infra-fabric routing-quagga infra-atomix infra-onos-op ric @echo Done else ifeq ($(OPT), fbah) -riab: option version preliminaries infra-k8s infra-atomix infra-onos-op ric enable-fbah-gui +riab: option version preliminaries infra-k8s infra-fabric routing-quagga infra-atomix infra-onos-op ric enable-fbah-gui @echo Done else ifeq ($(OPT), mlb) -riab: option version preliminaries infra-k8s infra-atomix infra-onos-op ric +riab: option version preliminaries infra-k8s infra-fabric routing-quagga infra-atomix infra-onos-op ric @echo Done else ifeq ($(OPT), mho) -riab: option version preliminaries infra-k8s infra-atomix infra-onos-op ric +riab: option version preliminaries infra-k8s infra-fabric routing-quagga infra-atomix infra-onos-op ric @echo Done else riab: option version @@ -122,14 +122,22 @@ else ifeq ($(VER), stable) $(eval VER=stable) $(eval HELM_VALUES=$(HELM_VALUES_STABLE)) @echo "Helm values.yaml file: $(HELM_VALUES_STABLE)" - @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-LATEST) @cd $(AETHERCHARTDIR); git checkout $(AETHERCHARTCID-LATEST) +ifeq ($(OPT), oai) + @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-E2AP101-LATEST) +else + @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-LATEST) +endif else ifeq ($(VER), latest) $(eval VER=latest) $(eval HELM_VALUES=$(HELM_VALUES_LATEST)) @echo "Helm values.yaml file: $(HELM_VALUES_LATEST)" - @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-LATEST) @cd $(AETHERCHARTDIR); git checkout $(AETHERCHARTCID-LATEST) +ifeq ($(OPT), oai) + @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-E2AP101-LATEST) +else + @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-LATEST) +endif else ifeq ($(VER), dev) $(eval VER=dev) $(eval HELM_VALUES=$(HELM_VALUES_DEV)) @@ -139,6 +147,10 @@ else $(eval VER=stable) $(eval HELM_VALUES=$(HELM_VALUES_STABLE)) @echo "Helm values.yaml file: $(HELM_VALUES_STABLE)" - @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-LATEST) @cd $(AETHERCHARTDIR); git checkout $(AETHERCHARTCID-LATEST) +ifeq ($(OPT), oai) + @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-E2AP101-LATEST) +else + @cd $(SDRANCHARTDIR); git checkout $(SDRANCHARTCID-LATEST) +endif endif diff --git a/MakefileVar.mk b/MakefileVar.mk index ca53e22..d35ebb3 100644 --- a/MakefileVar.mk +++ b/MakefileVar.mk @@ -2,108 +2,112 @@ # SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0 # Directory arguments -SHELL := /bin/bash -RIABDIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) -WORKSPACE ?= $(RIABDIR)/workspace -M ?= $(WORKSPACE)/milestones -BUILD ?= $(WORKSPACE)/build -VENV ?= $(BUILD)/venv/riab -SCRIPTDIR ?= $(RIABDIR)/scripts -CHARTDIR ?= $(WORKSPACE)/helm-charts -AETHERCHARTDIR ?= $(CHARTDIR)/aether-helm-charts -SDRANCHARTDIR ?= $(CHARTDIR)/sdran-helm-charts -RESOURCEDIR ?= $(RIABDIR)/resources +SHELL := /bin/bash +RIABDIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) +WORKSPACE ?= $(RIABDIR)/workspace +M ?= $(WORKSPACE)/milestones +BUILD ?= $(WORKSPACE)/build +VENV ?= $(BUILD)/venv/riab +SCRIPTDIR ?= $(RIABDIR)/scripts +CHARTDIR ?= $(WORKSPACE)/helm-charts +AETHERCHARTDIR ?= $(CHARTDIR)/aether-helm-charts +SDRANCHARTDIR ?= $(CHARTDIR)/sdran-helm-charts +RESOURCEDIR ?= $(RIABDIR)/resources # Commit IDs -AETHERCHARTCID-V1.0.0 ?= 6b3a267e428402d6bb8531bd921c1d202bb338b2 -AETHERCHARTCID-LATEST ?= 9f79ab87a96ae9ee2bb9a1540f4cd1574261611b -SDRANCHARTCID-LATEST ?= origin/master -SDRANCHARTCID-V1.0.0 ?= v1.0.0 #branch: v1.0.0 -SDRANCHARTCID-V1.1.0 ?= 6670e6da25129b665b024a7c6d0fd79cfda52f25 -SDRANCHARTCID-V1.1.1 ?= 479ff0b59d4ae9f09cd9f7be6ea9a189f207b810 -SDRANCHARTCID-V1.2.0 ?= a30fbd674f97212ea77d4db1401dab0544e20905 +AETHERCHARTCID-V1.0.0 ?= 6b3a267e428402d6bb8531bd921c1d202bb338b2 +AETHERCHARTCID-LATEST ?= 9f79ab87a96ae9ee2bb9a1540f4cd1574261611b +SDRANCHARTCID-LATEST ?= origin/master +SDRANCHARTCID-E2AP101-LATEST ?= origin/e2ap101 +SDRANCHARTCID-V1.0.0 ?= v1.0.0 #branch: v1.0.0 +SDRANCHARTCID-V1.1.0 ?= 6670e6da25129b665b024a7c6d0fd79cfda52f25 +SDRANCHARTCID-V1.1.1 ?= 479ff0b59d4ae9f09cd9f7be6ea9a189f207b810 +SDRANCHARTCID-V1.2.0 ?= a30fbd674f97212ea77d4db1401dab0544e20905 # Helm arguments -DEFAULT_HELM_ARGS := --set import.ran-simulator.enabled=true --set import.onos-pci.enabled=true -HELM_ARGS ?= $(DEFAULT_HELM_ARGS) -HELM_ARGS_RANSIM ?= --set import.ran-simulator.enabled=true --set import.onos-pci.enabled=true -HELM_ARGS_OAI ?= -HELM_ARGS_RIC ?= --set import.onos-pci.enabled=false -HELM_ARGS_FBAH ?= --set import.fb-ah-xapp.enabled=true --set import.fb-ah-gui.enabled=true --set import.ah-eson-test-server.enabled=true --set import.ran-simulator.enabled=true --set import.fb-kpimon-xapp.enabled=true -HELM_ARGS_MLB ?= --set import.ran-simulator.enabled=true --set import.onos-pci.enabled=true --set import.onos-mlb.enabled=true --set ran-simulator.pci.modelName=three-cell-n-node-model --set ran-simulator.pci.metricName=three-cell-n-node-metrics -HELM_ARGS_MHO ?= --set import.ran-simulator.enabled=true --set import.onos-mho.enabled=true --set ran-simulator.pci.modelName=two-cell-two-node-model +DEFAULT_HELM_ARGS := --set import.ran-simulator.enabled=true --set import.onos-pci.enabled=true +HELM_ARGS ?= $(DEFAULT_HELM_ARGS) +HELM_ARGS_RANSIM ?= --set import.ran-simulator.enabled=true --set import.onos-pci.enabled=true +HELM_ARGS_OAI ?= --set import.onos-rsm.enabled=true +HELM_ARGS_RIC ?= --set import.onos-pci.enabled=false +HELM_ARGS_FBAH ?= --set import.fb-ah-xapp.enabled=true --set import.fb-ah-gui.enabled=true --set import.ah-eson-test-server.enabled=true --set import.ran-simulator.enabled=true --set import.fb-kpimon-xapp.enabled=true +HELM_ARGS_MLB ?= --set import.ran-simulator.enabled=true --set import.onos-pci.enabled=true --set import.onos-mlb.enabled=true --set ran-simulator.pci.modelName=three-cell-n-node-model --set ran-simulator.pci.metricName=three-cell-n-node-metrics +HELM_ARGS_MHO ?= --set import.ran-simulator.enabled=true --set import.onos-mho.enabled=true --set ran-simulator.pci.modelName=two-cell-two-node-model # Helm values file -DEFAULT_HELM_VALUES := $(RIABDIR)/sdran-in-a-box-values-master-stable.yaml -HELM_VALUES ?= $(DEFAULT_HELM_VALUES) -HELM_VALUES_V1.0.0 ?= $(RIABDIR)/sdran-in-a-box-values-v1.0.0.yaml -HELM_VALUES_V1.1.0 ?= $(RIABDIR)/sdran-in-a-box-values-v1.1.0.yaml -HELM_VALUES_V1.1.1 ?= $(RIABDIR)/sdran-in-a-box-values-v1.1.1.yaml -HELM_VALUES_V1.2.0 ?= $(RIABDIR)/sdran-in-a-box-values-v1.2.0.yaml -HELM_VALUES_STABLE ?= $(RIABDIR)/sdran-in-a-box-values-master-stable.yaml -HELM_VALUES_LATEST ?= $(RIABDIR)/sdran-in-a-box-values.yaml -HELM_VALUES_DEV ?= $(RIABDIR)/sdran-in-a-box-values.yaml +DEFAULT_HELM_VALUES := $(RIABDIR)/sdran-in-a-box-values-master-stable.yaml +HELM_VALUES ?= $(DEFAULT_HELM_VALUES) +HELM_VALUES_V1.0.0 ?= $(RIABDIR)/sdran-in-a-box-values-v1.0.0.yaml +HELM_VALUES_V1.1.0 ?= $(RIABDIR)/sdran-in-a-box-values-v1.1.0.yaml +HELM_VALUES_V1.1.1 ?= $(RIABDIR)/sdran-in-a-box-values-v1.1.1.yaml +HELM_VALUES_V1.2.0 ?= $(RIABDIR)/sdran-in-a-box-values-v1.2.0.yaml +HELM_VALUES_STABLE ?= $(RIABDIR)/sdran-in-a-box-values-master-stable.yaml +HELM_VALUES_LATEST ?= $(RIABDIR)/sdran-in-a-box-values.yaml +HELM_VALUES_DEV ?= $(RIABDIR)/sdran-in-a-box-values.yaml # Options - ransim (by default), oai, ric, and fbah -DEFAULT_OPT := ransim -OPT ?= $(DEFAULT_OPT) +DEFAULT_OPT := ransim +OPT ?= $(DEFAULT_OPT) # Versions - v1.0.0, v1.1.0, v1.1.1, v1.2.0 stable, latest, and dev -DEFAULT_VER := stable -VER ?= $(DEFAULT_VER) +DEFAULT_VER := stable +VER ?= $(DEFAULT_VER) # Default RiaB namespace -DEFAULT_RIAB_NAMESPACE := riab -RIAB_NAMESPACE ?= $(DEFAULT_RIAB_NAMESPACE) +DEFAULT_RIAB_NAMESPACE := riab +RIAB_NAMESPACE ?= $(DEFAULT_RIAB_NAMESPACE) # URLs -CORD_GERRIT_URL ?= https://gerrit.opencord.org -ONOS_GITHUB_URL ?= https://github.com/onosproject -HELM_INCUBATOR_URL ?= https://charts.helm.sh/incubator -HELM_OPENCORD_URL ?= https://charts.opencord.org -HELM_SDRAN_URL ?= https://sdrancharts.onosproject.org +CORD_GERRIT_URL ?= https://gerrit.opencord.org +ONOS_GITHUB_URL ?= https://github.com/onosproject +HELM_INCUBATOR_URL ?= https://charts.helm.sh/incubator +HELM_OPENCORD_URL ?= https://charts.opencord.org +HELM_SDRAN_URL ?= https://sdrancharts.onosproject.org # Infrastructure component version -KUBESPRAY_VERSION ?= release-2.14 -DOCKER_VERSION ?= 19.03 -K8S_VERSION ?= v1.18.9 -HELM_VERSION ?= v3.2.4 +KUBESPRAY_VERSION ?= release-2.14 +DOCKER_VERSION ?= 19.03 +K8S_VERSION ?= v1.18.9 +HELM_VERSION ?= v3.2.4 # OMEC parameters -UE_IP_POOL ?= 172.250.0.0 -UE_IP_MASK ?= 16 -STATIC_UE_IP_POOL ?= 172.249.0.0 -STATIC_UE_IP_MASK ?= 16 +UE_IP_POOL ?= 172.250.0.0 +UE_IP_MASK ?= 16 +STATIC_UE_IP_POOL ?= 172.249.0.0 +STATIC_UE_IP_MASK ?= 16 # For system check -CPU_FAMILY := $(shell lscpu | grep 'CPU family:' | awk '{print $$3}') -CPU_MODEL := $(shell lscpu | grep 'Model:' | awk '{print $$2}') -OS_VENDOR := $(shell lsb_release -i -s) -OS_RELEASE := $(shell lsb_release -r -s) +CPU_FAMILY := $(shell lscpu | grep 'CPU family:' | awk '{print $$3}') +CPU_MODEL := $(shell lscpu | grep 'Model:' | awk '{print $$2}') +OS_VENDOR := $(shell lsb_release -i -s) +OS_RELEASE := $(shell lsb_release -r -s) # For RIC -F1_CU_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -F1_CU_IPADDR := $(shell ip -4 a show $(F1_CU_INTERFACE) | grep inet | awk '{print $$2}' | awk -F '/' '{print $$1}' | tail -n 1) -F1_DU_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -F1_DU_IPADDR := $(shell ip -4 a show $(F1_DU_INTERFACE) | grep inet | awk '{print $$2}' | awk -F '/' '{print $$1}' | head -n 1) -S1MME_CU_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -NFAPI_DU_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -NFAPI_DU_IPADDR := $(shell ip -4 a show $(NFAPI_DU_INTERFACE) | grep inet | awk '{print $$2}' | awk -F '/' '{print $$1}' | tail -n 1) -NFAPI_UE_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -NFAPI_UE_IPADDR := $(shell ip -4 a show $(NFAPI_UE_INTERFACE) | grep inet | awk '{print $$2}' | awk -F '/' '{print $$1}' | tail -n 1) +E2_F1_CU_INTERFACE := cu_e2f1_if +E2_F1_CU_IPADDR := 192.168.200.21/24 +E2_F1_DU_INTERFACE := du_e2f1_if +E2_F1_DU_IPADDR := 192.168.200.22/24 +S1MME_CU_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') +NFAPI_DU_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') +NFAPI_DU_IPADDR := $(shell ip -4 a show $(NFAPI_DU_INTERFACE) | grep inet | awk '{print $$2}' | awk -F '/' '{print $$1}' | tail -n 1) +NFAPI_UE_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') +NFAPI_UE_IPADDR := $(shell ip -4 a show $(NFAPI_UE_INTERFACE) | grep inet | awk '{print $$2}' | awk -F '/' '{print $$1}' | tail -n 1) +E2T_NODEPORT_INTERFACE := e2t_e2_if +E2T_NODEPORT_IPADDR := 192.168.200.11/24 +E2_F1_BRIDGE_NAME := br-e2f1-net # For routing configuarion -ENB_SUBNET := 192.168.251.0/24 -ENB_GATEWAY := 192.168.251.1/24 -ACCESS_SUBNET := 192.168.252.0/24 -UPF_ACCESS_NET_IP := 192.168.252.3/24 -ACCESS_GATEWAY := 192.168.252.1/24 -CORE_SUBNET := 192.168.250.0/24 -UPF_CORE_NET_IP := 192.168.250.3/24 -CORE_GATEWAY := 192.168.250.1/24 -OAI_ENB_NET_IP := 192.168.251.5/24 -OAI_MACHINE_IP := 192.168.254.1/24 # It's dummy IP address. It should be changed to appropriate routable IP address for OAI machine -OAI_ENB_NET_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -OMEC_ENB_NET_IP := 192.168.251.4/24 -OMEC_DEFAULT_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') -OMEC_MACHINE_IP := 192.168.254.2/24 # It's dummy IP address. It should be changed to appropriate routable IP address for OMEC machine +ENB_SUBNET := 192.168.251.0/24 +ENB_GATEWAY := 192.168.251.1/24 +ACCESS_SUBNET := 192.168.252.0/24 +UPF_ACCESS_NET_IP := 192.168.252.3/24 +ACCESS_GATEWAY := 192.168.252.1/24 +CORE_SUBNET := 192.168.250.0/24 +UPF_CORE_NET_IP := 192.168.250.3/24 +CORE_GATEWAY := 192.168.250.1/24 +OAI_ENB_NET_IP := 192.168.251.5/24 +OAI_MACHINE_IP := 192.168.254.1/24 # It's dummy IP address. It should be changed to appropriate routable IP address for OAI machine +OAI_ENB_NET_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') +OMEC_ENB_NET_IP := 192.168.251.4/24 +OMEC_DEFAULT_INTERFACE := $(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }') +OMEC_MACHINE_IP := 192.168.254.2/24 # It's dummy IP address. It should be changed to appropriate routable IP address for OMEC machine diff --git a/mk/infra.mk b/mk/infra.mk index 4f1bec7..9d6d90a 100644 --- a/mk/infra.mk +++ b/mk/infra.mk @@ -73,6 +73,16 @@ $(M)/fabric: | $(M)/setup /opt/cni/bin/simpleovs /opt/cni/bin/static sudo ovs-vsctl --may-exist add-port br-enb-net enb -- set Interface enb type=internal sudo ip addr add $(OMEC_ENB_NET_IP) dev enb || true sudo ip link set enb up + sudo ovs-vsctl --may-exist add-br $(E2_F1_BRIDGE_NAME) + sudo ovs-vsctl --may-exist add-port $(E2_F1_BRIDGE_NAME) $(E2_F1_CU_INTERFACE) -- set Interface $(E2_F1_CU_INTERFACE) type=internal + sudo ovs-vsctl --may-exist add-port $(E2_F1_BRIDGE_NAME) $(E2_F1_DU_INTERFACE) -- set Interface $(E2_F1_DU_INTERFACE) type=internal + sudo ovs-vsctl --may-exist add-port $(E2_F1_BRIDGE_NAME) $(E2T_NODEPORT_INTERFACE) -- set Interface $(E2T_NODEPORT_INTERFACE) type=internal + sudo ip addr add $(E2_F1_CU_IPADDR) dev $(E2_F1_CU_INTERFACE) || true + sudo ip addr add $(E2_F1_DU_IPADDR) dev $(E2_F1_DU_INTERFACE) || true + sudo ip addr add $(E2T_NODEPORT_IPADDR) dev $(E2T_NODEPORT_INTERFACE) || true + sudo ip link set $(E2_F1_CU_INTERFACE) up + sudo ip link set $(E2_F1_DU_INTERFACE) up + sudo ip link set $(E2T_NODEPORT_INTERFACE) up sudo ethtool --offload enb tx off sudo ip route replace $(ACCESS_SUBNET) via $(shell echo $(ENB_GATEWAY) | awk -F '/' '{print $$1}') dev enb cp $(RESOURCEDIR)/router-template.yaml $(RESOURCEDIR)/router.yaml diff --git a/mk/ran.mk b/mk/ran.mk index 6a75e39..9d16ee6 100644 --- a/mk/ran.mk +++ b/mk/ran.mk @@ -13,16 +13,15 @@ oai-hw: oai-enb-cu-hw oai-enb-du oai-enb-cu-hw: $(M)/oai-enb-cu-hw $(M)/oai-enb-cu: | version $(M)/helm-ready $(M)/ric - $(eval e2t_addr=$(shell kubectl get svc onos-e2t -n $(RIAB_NAMESPACE) --no-headers | awk '{print $$3'})) helm upgrade --install $(HELM_ARGS) \ --namespace $(RIAB_NAMESPACE) \ --values $(HELM_VALUES) \ --set config.oai-enb-cu.networks.s1mme.interface=$(S1MME_CU_INTERFACE) \ - --set config.onos-e2t.networks.e2.address=$(e2t_addr) \ - --set config.oai-enb-cu.networks.f1.interface=$(F1_CU_INTERFACE) \ - --set config.oai-enb-cu.networks.f1.address=$(F1_CU_IPADDR) \ - --set config.oai-enb-du.networks.f1.interface=$(F1_DU_INTERFACE) \ - --set config.oai-enb-du.networks.f1.address=$(F1_DU_IPADDR) \ + --set config.onos-e2t.networks.e2.address=$(E2T_NODEPORT_IPADDR) \ + --set config.oai-enb-cu.networks.f1.interface=$(E2_F1_CU_INTERFACE) \ + --set config.oai-enb-cu.networks.f1.address=$(E2_F1_CU_IPADDR) \ + --set config.oai-enb-du.networks.f1.interface=$(E2_F1_DU_INTERFACE) \ + --set config.oai-enb-du.networks.f1.address=$(E2_F1_DU_IPADDR) \ oai-enb-cu \ $(SDRANCHARTDIR)/oai-enb-cu && \ sleep 60 && \ @@ -35,10 +34,11 @@ $(M)/oai-enb-cu-hw: | version $(M)/helm-ready --namespace $(RIAB_NAMESPACE) \ --values $(HELM_VALUES) \ --set config.oai-enb-cu.networks.s1mme.interface=$(S1MME_CU_INTERFACE) \ - --set config.oai-enb-cu.networks.f1.interface=$(F1_CU_INTERFACE) \ - --set config.oai-enb-cu.networks.f1.address=$(F1_CU_IPADDR) \ - --set config.oai-enb-du.networks.f1.interface=$(F1_DU_INTERFACE) \ - --set config.oai-enb-du.networks.f1.address=$(F1_DU_IPADDR) \ + --set config.oai-enb-cu.networks.f1.interface=$(E2_F1_CU_INTERFACE) \ + --set config.onos-e2t.networks.e2.address=$(E2T_NODEPORT_IPADDR) \ + --set config.oai-enb-cu.networks.f1.address=$(E2_F1_CU_IPADDR) \ + --set config.oai-enb-du.networks.f1.interface=$(E2_F1_DU_INTERFACE) \ + --set config.oai-enb-du.networks.f1.address=$(E2_F1_DU_IPADDR) \ oai-enb-cu \ $(SDRANCHARTDIR)/oai-enb-cu && \ sleep 60 && \ @@ -50,10 +50,11 @@ $(M)/oai-enb-du: | version $(M)/helm-ready helm upgrade --install $(HELM_ARGS) \ --namespace $(RIAB_NAMESPACE) \ --values $(HELM_VALUES) \ - --set config.oai-enb-cu.networks.f1.interface=$(F1_CU_INTERFACE) \ - --set config.oai-enb-cu.networks.f1.address=$(F1_CU_IPADDR) \ - --set config.oai-enb-du.networks.f1.interface=$(F1_DU_INTERFACE) \ - --set config.oai-enb-du.networks.f1.address=$(F1_DU_IPADDR) \ + --set config.oai-enb-cu.networks.f1.interface=$(E2_F1_CU_INTERFACE) \ + --set config.oai-enb-cu.networks.f1.address=$(E2_F1_CU_IPADDR) \ + --set config.oai-enb-du.networks.f1.interface=$(E2_F1_DU_INTERFACE) \ + --set config.oai-enb-du.networks.f1.address=$(E2_F1_DU_IPADDR) \ + --set config.onos-e2t.networks.e2.address=$(E2T_NODEPORT_IPADDR) \ --set config.oai-enb-du.networks.nfapi.interface=$(NFAPI_DU_INTERFACE) \ --set config.oai-enb-du.networks.nfapi.address=$(NFAPI_DU_IPADDR) \ --set config.oai-ue.networks.nfapi.interface=$(NFAPI_UE_INTERFACE) \ diff --git a/mk/utils.mk b/mk/utils.mk index 0c98123..a9675b0 100644 --- a/mk/utils.mk +++ b/mk/utils.mk @@ -2,7 +2,7 @@ # SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0 # PHONY definitions -UTIL_PHONY := detach-ue fetch-all-charts enable-fbah-gui routing-hw-oai routing-hw-omec +UTIL_PHONY := detach-ue fetch-all-charts enable-fbah-gui routing-hw-oai routing-hw-omec routing-omec routing-external-ran routing-quagga detach-ue: | $(M)/oai-enb-cu $(M)/oai-enb-du $(M)/oai-ue echo -en "AT+CPIN=0000\r" | nc -u -w 1 localhost 10000 @@ -22,14 +22,23 @@ routing-hw-oai: sudo route add -net $(CORE_SUBNET) gw $(shell echo $(OMEC_MACHINE_IP) | awk -F '/' '{print $$1}') dev $(OAI_ENB_NET_INTERFACE) || true -routing-hw-omec: - $(eval ROUTER_IP=$(shell kubectl exec -it router -- ifconfig eth0 | grep inet | awk '{print $$2}' | awk -F ':' '{print $$2}')) - $(eval ROUTER_IF=$(shell route -n | grep $(ROUTER_IP) | awk '{print $$NF}')) - sudo ethtool -K $(ROUTER_IF) gro off rx off || true +routing-hw-omec: routing-omec routing-external-ran routing-quagga + +routing-omec: sudo ethtool -K $(OMEC_DEFAULT_INTERFACE) rx off tx on gro off gso on || true sudo ethtool -K enb rx off tx on gro off gso on || true + kubectl exec -it upf-0 -n $(RIAB_NAMESPACE) -- ip l set mtu 1550 dev access || true + kubectl exec -it upf-0 -n $(RIAB_NAMESPACE) -- ip l set mtu 1550 dev core || true + sudo route add -net $(UE_IP_POOL)/$(UE_IP_MASK) gw $(shell echo $(ENB_GATEWAY) | awk -F '/' '{print $$1}') dev enb || true + +routing-external-ran: sudo route add -host $(shell echo $(OAI_ENB_NET_IP) | awk -F '/' '{print $$1}') gw $(shell echo $(OAI_MACHINE_IP) | awk -F '/' '{print $$1}') dev $(OMEC_DEFAULT_INTERFACE) || true kubectl exec -it router -- route add -host $(shell echo $(OAI_ENB_NET_IP) | awk -F '/' '{print $$1}') gw $(shell echo $(OMEC_ENB_NET_IP) | awk -F '/' '{print $$1}') dev enb-rtr || true + +routing-quagga: + $(eval ROUTER_IP=$(shell kubectl exec -it router -- ifconfig eth0 | grep inet | awk '{print $$2}' | awk -F ':' '{print $$2}')) + $(eval ROUTER_IF=$(shell route -n | grep $(ROUTER_IP) | awk '{print $$NF}')) + sudo ethtool -K $(ROUTER_IF) gro off rx off || true kubectl exec -it router -- ifconfig core-rtr mtu 1550 || true kubectl exec -it router -- ifconfig access-rtr mtu 1550 || true kubectl exec -it router -- sudo apt update || true @@ -38,9 +47,6 @@ routing-hw-omec: kubectl exec -it router -- sudo ethtool -K enb-rtr tx off rx off gro off gso off || true kubectl exec -it router -- sudo ethtool -K access-rtr tx off rx off gro off gso off || true kubectl exec -it router -- sudo ethtool -K core-rtr tx off rx off gro off gso off || true - kubectl exec -it upf-0 -n $(RIAB_NAMESPACE) -- ip l set mtu 1550 dev access || true - kubectl exec -it upf-0 -n $(RIAB_NAMESPACE) -- ip l set mtu 1550 dev core || true - sudo route add -net $(UE_IP_POOL)/$(UE_IP_MASK) gw $(shell echo $(ENB_GATEWAY) | awk -F '/' '{print $$1}') dev enb || true enable-fbah-gui: kubectl wait --for=condition=available deployment/fb-ah-xapp -n riab --timeout=300s diff --git a/sdran-in-a-box-values-master-stable.yaml b/sdran-in-a-box-values-master-stable.yaml index 0434269..2ba9d48 100644 --- a/sdran-in-a-box-values-master-stable.yaml +++ b/sdran-in-a-box-values-master-stable.yaml @@ -294,12 +294,12 @@ config: # loggers: # root: # level: info -# onos-e2t: -# service: -# external: -# enabled: true -# e2: -# nodePort: 36421 +onos-e2t: + service: + external: + enabled: true + e2: + nodePort: 36421 # image: # pullPolicy: IfNotPresent # repository: onosproject/onos-e2t