Releasing all charts for FTTB
Adding examples for fttb DT workflows
Passing nni_dhcp_trap_vid for BBSIM via CLI

Change-Id: I7d5a759c24c4a19d0c42ed7c1a196a2cf1ccd825
diff --git a/README.md b/README.md
index 7b4a89e..5b1794f 100644
--- a/README.md
+++ b/README.md
@@ -264,6 +264,14 @@
 helm upgrade --install --create-namespace   -n voltha voltha onf/voltha-stack   --set global.stack_name=voltha   --set voltha_infra_name=voltha-infra   --set voltha_infra_namespace=infra
 ```
 
+**DT-FTTB**
+
+```shell
+helm upgrade --install -n infra voltha-infra onf/voltha-infra -f examples/dt-fttb-values.yaml
+helm upgrade --install -n voltha bbsim0 onf/bbsim --set olt_id=10 -f examples/dt-fttb-values.yaml
+helm upgrade --install --create-namespace   -n voltha voltha onf/voltha-stack   --set global.stack_name=voltha   --set voltha_infra_name=voltha-infra   --set voltha_infra_namespace=infra
+```
+
 **TT**
 
 ```shell
@@ -272,6 +280,14 @@
 helm upgrade --install --create-namespace   -n voltha voltha onf/voltha-stack   --set global.stack_name=voltha   --set voltha_infra_name=voltha-infra   --set voltha_infra_namespace=infra
 ```
 
+**TT-MacLearner**
+
+```shell
+helm upgrade --install -n infra voltha-infra onf/voltha-infra -f examples/tt-maclearner-values.yaml
+helm upgrade --install -n voltha bbsim0 onf/bbsim --set olt_id=10 -f examples/tt-maclearner-values.yaml
+helm upgrade --install --create-namespace   -n voltha voltha onf/voltha-stack   --set global.stack_name=voltha   --set voltha_infra_name=voltha-infra   --set voltha_infra_namespace=infra
+```
+
 ### Using an ingress controller
 
 A process to expose the VOLTHA API external to the Kubernetes cluster was described
diff --git a/VERSION b/VERSION
index 0f9d6b1..fd2a018 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.1.0-dev
+3.1.0
diff --git a/bbsim/Chart.yaml b/bbsim/Chart.yaml
index 7975141..0bcdc19 100644
--- a/bbsim/Chart.yaml
+++ b/bbsim/Chart.yaml
@@ -16,5 +16,5 @@
 description: Broadband Simulator
 icon: https://guide.opencord.org/logos/cord.svg
 apiVersion: v1
-version: 4.8.2
+version: 4.8.3
 appVersion: 1.12.3
diff --git a/bbsim/templates/deployment.yaml b/bbsim/templates/deployment.yaml
index e4503ae..a2cb7c9 100644
--- a/bbsim/templates/deployment.yaml
+++ b/bbsim/templates/deployment.yaml
@@ -81,6 +81,7 @@
             "-onu", "{{ .Values.onu }}",
             "-uni", "{{ .Values.uni }}",
             "-pots", "{{ .Values.pots }}",
+            "-nni_dhcp_trap_vid", "{{ .Values.nni_dhcp_trap_vid }}",
             "-bp_format", "{{ .Values.bp_format }}",
             "-oltRebootDelay", "{{ .Values.oltRebootDelay }}",
             "-logLevel", "{{ $log_level }}",
diff --git a/bbsim/values.yaml b/bbsim/values.yaml
index e570529..dd160ee 100644
--- a/bbsim/values.yaml
+++ b/bbsim/values.yaml
@@ -32,6 +32,7 @@
 pots: 0
 injectOmciUnknownMe: false
 injectOmciUnknownAttributes: false
+nni_dhcp_trap_vid: 0
 
 # time that BBSim should wait to emulate an hardware reboot
 oltRebootDelay: 60
diff --git a/examples/dt-fttb-values.yaml b/examples/dt-fttb-values.yaml
new file mode 100644
index 0000000..b754197
--- /dev/null
+++ b/examples/dt-fttb-values.yaml
@@ -0,0 +1,86 @@
+---
+
+# Copyright 2022-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# override ONOS config
+onos-classic:
+  apps:
+    - org.onosproject.lldpprovider
+    - org.onosproject.openflow-base
+    - org.onosproject.gui2
+    - org.onosproject.drivers
+    - org.onosproject.mcast
+    - org.onosproject.segmentrouting
+    - org.opencord.kafka
+    - org.opencord.sadis
+    - org.opencord.maclearner
+    - org.opencord.igmpproxy
+    - org.opencord.mcast
+    - org.opencord.olt
+    - org.opencord.aaa
+  config:
+    componentConfig:
+      "org.opencord.olt.impl.OltFlowService": >
+        {
+          "enableDhcpOnNni": "true",
+          "defaultTechProfileId": "64",
+          "enableIgmpOnNni": "false",
+          "enableEapol": "false",
+          "enableDhcpV6": "false",
+          "enableDhcpV4": "true"
+        }
+      "org.opencord.maclearner.app.impl.MacLearnerManager": >
+        {
+          "enableDhcpForward": "true"
+        }
+
+# override BBSim config
+# The service names used in this file are mandatory
+# for FTTB to work correctly.
+# DPU_MGMT_TRAFFIC is used in bbsim to detect when the sTag
+# must be used for DHCP packets instead of the cTag, and the
+# Olt app has custom behavior that is triggered by each of
+# these names.
+servicesConfig:
+  workflow: dt-fttb
+  services:
+    - name: FTTB_SUBSCRIBER_TRAFFIC
+      c_tag: 101
+      c_tag_allocation: unique
+      s_tag: 3101
+      s_tag_allocation: unique
+      tp_id: 64
+    - name: DPU_ANCP_TRAFFIC
+      c_tag: 4
+      c_tag_allocation: shared
+      s_tag: 40
+      s_tag_allocation: shared
+      us_pon_s_tag_priority: 7
+      tp_id: 64
+    - name: DPU_MGMT_TRAFFIC
+      c_tag: 6
+      c_tag_allocation: shared
+      s_tag: 60
+      s_tag_allocation: shared
+      us_pon_c_tag_priority: 3
+      us_pon_s_tag_priority: 7
+      tp_id: 64
+      enable_mac_learning: true
+      needs_dhcp: true
+
+
+# override Bandwidth Profile format in Sadis BBSim
+bp_format: ietf
+nni_dhcp_trap_vid: 60
\ No newline at end of file
diff --git a/voltha-adapter-openolt/Chart.yaml b/voltha-adapter-openolt/Chart.yaml
index 80164f4..d008565 100644
--- a/voltha-adapter-openolt/Chart.yaml
+++ b/voltha-adapter-openolt/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-openolt"
-version: "2.11.0-dev"
+version: "2.11.0"
 description: "A Helm chart for Voltha OpenOLT Adapter"
 keywords:
   - "onf"
@@ -33,4 +33,4 @@
 
 # appVersion refers to multiple components with potentially different
 # container image versions.
-appVersion: "4.1.5"
+appVersion: "4.2.2"
diff --git a/voltha-adapter-openonu/Chart.yaml b/voltha-adapter-openonu/Chart.yaml
index ee151b7..6b102a4 100644
--- a/voltha-adapter-openonu/Chart.yaml
+++ b/voltha-adapter-openonu/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha-adapter-openonu"
-version: "2.10.0-dev1"
+version: "2.10.0"
 description: "A Helm chart for Voltha OpenONU Adapter"
 keywords:
   - "onf"
@@ -33,4 +33,4 @@
 
 # appVersion refers to multiple components with potentially different
 # container image versions.
-appVersion: "2.1.2"
+appVersion: "2.2.2"
diff --git a/voltha-stack/Chart.yaml b/voltha-stack/Chart.yaml
index 3f1db7c..191d042 100644
--- a/voltha-stack/Chart.yaml
+++ b/voltha-stack/Chart.yaml
@@ -28,18 +28,18 @@
 name: voltha-stack
 
 appVersion: "2.10-dev"
-version: 2.10.0
+version: 2.10.1
 
 dependencies:
   - name: voltha
     repository: file://../voltha
-    version: 2.11.0-dev
+    version: 2.11.0
     condition: voltha.enabled
   - name: voltha-adapter-openonu
     repository: file://../voltha-adapter-openonu
-    version: 2.10.0-dev1
+    version: 2.10.0
     condition: voltha-adapter-openonu.enabled
   - name: voltha-adapter-openolt
     repository: file://../voltha-adapter-openolt
-    version: 2.11.0-dev
+    version: 2.11.0
     condition: voltha-adapter-openolt.enabled
diff --git a/voltha/Chart.yaml b/voltha/Chart.yaml
index dd6aa49..6bcf9f1 100644
--- a/voltha/Chart.yaml
+++ b/voltha/Chart.yaml
@@ -14,7 +14,7 @@
 ---
 apiVersion: "v1"
 name: "voltha"
-version: "2.11.0-dev"
+version: "2.11.0"
 description: "A Helm chart for Voltha based on K8S resources in Voltha project"
 keywords:
   - "onf"
@@ -33,4 +33,4 @@
 
 # app version applies to multiple components with potentially different
 # container image versions
-appVersion: "2.9"
+appVersion: "2.10"
diff --git a/voltha/values.yaml b/voltha/values.yaml
index 08d546c..82f2e51 100644
--- a/voltha/values.yaml
+++ b/voltha/values.yaml
@@ -108,13 +108,13 @@
   ofagent:
     registry: '{{ .Values.global.image_registry }}'
     repository: '{{ .Values.global.image_org }}voltha-ofagent-go'
-    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}2.0.1{{- end }}{{- else }}2.0.1{{- end }}'
+    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}2.1.1{{- end }}{{- else }}2.1.1{{- end }}'
     pullPolicy: '{{ .Values.global.image_pullPolicy }}'
 
   rw_core:
     registry: '{{ .Values.global.image_registry }}'
     repository: '{{ .Values.global.image_org }}voltha-rw-core'
-    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}3.0.2{{- end }}{{- else }}3.0.2{{- end }}'
+    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}3.1.0{{- end }}{{- else }}3.1.0{{- end }}'
     pullPolicy: '{{ .Values.global.image_pullPolicy }}'
 
 ingress: