diff --git a/docs/Makefile b/docs/Makefile
index a2df413..255abff 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,7 +1,39 @@
-# Minimal makefile for Sphinx documentation
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# 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.
+# -----------------------------------------------------------------------
 
-# use bash safe mode, fail quickly
-SHELL = bash -e -o pipefail
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
+TOP-docs ?=$(strip \
+  $(dir \
+    $(abspath $(lastword $(MAKEFILE_LIST)))\
+   )\
+)
+TOP-docs := $(subst /docs/,$(null),$(TOP-docs))
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+include $(TOP-docs)/config.mk
+include $(TOP-docs)/makefiles/include.mk
+
+# Minimal makefile for Sphinx documentation
 
 # You can set these variables from the command line.
 SPHINXOPTS    =
@@ -11,29 +43,28 @@
 
 .PHONY: help Makefile lint
 
-# Put it first so that "make" without argument is like "make help".
-help: doc_venv
-	source $</bin/activate ; set -u ;\
-	$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+clean ::
+	$(RM) -r build "$(venv-name)"
 
-doc_venv:
-	virtualenv -p python3 $@ ;\
-	source $@/bin/activate ;\
-	pip install -r requirements.txt
+## -----------------------------------------------------------------------
+## Intent: Display target help
+## -----------------------------------------------------------------------
+help :: $(venv-activate-script)
+	$(activate) \
+	  && $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
 
-lint: doc8
-
-doc8: doc_venv
-	source $</bin/activate ; set -u ;\
-	doc8 --max-line-length 119 \
-	     $$(find . -name \*.rst ! -path "*doc_venv*")
-
-clean:
-	rm -rf doc_venv build
-
+# -----------------------------------------------------------------------
 # Catch-all target: route all unknown targets to Sphinx using the new
 # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: doc_venv Makefile
-	source $</bin/activate ; set -u ;\
-	$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+# -----------------------------------------------------------------------
+docs-targets += html
 
+$(docs-targets) : $(venv-activate-script) Makefile
+	$(call banner-enter,Target $@)
+	$(activate) \
+	  && $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+	$(call banner-leave,Target $@)
+
+# [EOF]
diff --git a/docs/requirements.txt b/docs/requirements.txt
index fd70c42..11c9bf4 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,3 +1,5 @@
+# -*- makefile -*-
+
 Sphinx~=2.4.4
 actdiag~=2.0.0
 blockdiag~=1.5.4
@@ -18,3 +20,10 @@
 # funcparserlib=~0.3.5
 # ----------------------------------------------------------------
 funcparserlib~=1.0.0a0
+
+# ----------------------------------------------------------------
+# ImportError: cannot import name 'environmentfilter' from 'jinja2
+# ----------------------------------------------------------------
+Jinja2<3.1
+
+# [EOF]
diff --git a/docs/swagger/bbsim/bbsim.swagger.json b/docs/swagger/bbsim/bbsim.swagger.json
index 30a1023..dd5f9c3 100644
--- a/docs/swagger/bbsim/bbsim.swagger.json
+++ b/docs/swagger/bbsim/bbsim.swagger.json
@@ -100,48 +100,6 @@
         ]
       }
     },
-    "/v1/olt/onus/{OnuSerialNumber}/{UniID}/igmp/{SubActionVal}/{GroupAddress}/{VLAN}": {
-      "post": {
-        "summary": "Change IGMP state",
-        "operationId": "ChangeIgmpState",
-        "responses": {
-          "200": {
-            "description": "A successful response.",
-            "schema": {
-              "$ref": "#/definitions/bbsimResponse"
-            }
-          }
-        },
-        "parameters": [
-          {
-            "name": "OnuReq.SerialNumber",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
-          {
-            "name": "SubActionVal",
-            "in": "path",
-            "required": true,
-            "type": "string",
-            "enum": [
-              "JOIN",
-              "LEAVE",
-              "JOINV3"
-            ]
-          },
-          {
-            "name": "GroupAddress",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          }
-        ],
-        "tags": [
-          "BBSim"
-        ]
-      }
-    },
     "/v1/olt/onus/{OnuSerialNumber}/dhcp": {
       "post": {
         "summary": "Restart DHCP for ONU",
@@ -192,6 +150,62 @@
         ]
       }
     },
+    "/v1/olt/onus/{OnuSerialNumber}/{UniID}/igmp/{SubActionVal}/{GroupAddress}/{VLAN}": {
+      "post": {
+        "summary": "Change IGMP state",
+        "operationId": "ChangeIgmpState",
+        "responses": {
+          "200": {
+            "description": "A successful response.",
+            "schema": {
+              "$ref": "#/definitions/bbsimResponse"
+            }
+          }
+        },
+        "parameters": [
+          {
+            "name": "OnuSerialNumber",
+            "in": "path",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "UniID",
+            "in": "path",
+            "required": true,
+            "type": "integer",
+            "format": "int32"
+          },
+          {
+            "name": "SubActionVal",
+            "in": "path",
+            "required": true,
+            "type": "string",
+            "enum": [
+              "JOIN",
+              "LEAVE",
+              "JOINV3"
+            ]
+          },
+          {
+            "name": "GroupAddress",
+            "in": "path",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "VLAN",
+            "in": "path",
+            "required": true,
+            "type": "integer",
+            "format": "int32"
+          }
+        ],
+        "tags": [
+          "BBSim"
+        ]
+      }
+    },
     "/v1/olt/onus/{SerialNumber}": {
       "get": {
         "summary": "Get status of an ONU by serial number",
@@ -598,14 +612,6 @@
         }
       }
     },
-    "bbsimONURequest": {
-      "type": "object",
-      "properties": {
-        "SerialNumber": {
-          "type": "string"
-        }
-      }
-    },
     "bbsimONUTrafficSchedulers": {
       "type": "object",
       "properties": {
