From 2217d2c90e37d730f27ab0d0cca2c1adb7959bf9 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 11:18:15 +0530 Subject: [PATCH 01/11] docs: add PFCP dump examples Signed-off-by: Arnav Kapoor --- pfcp-dump-examples.md | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pfcp-dump-examples.md diff --git a/pfcp-dump-examples.md b/pfcp-dump-examples.md new file mode 100644 index 0000000..123ff04 --- /dev/null +++ b/pfcp-dump-examples.md @@ -0,0 +1,44 @@ +PFCP Dump Examples +=================== + +This file contains example `values.yaml` snippets to enable the PFCP raw-dump feature for debugging parse errors in the `pfcp-agent` container. + + +## Use transient storage (emptyDir) — good for testing/local/dev + +```yaml +upfDump: + enabled: true + dir: /var/log/upf/pfcp_dumps + upfName: my-upf-instance + maxBytes: 104857600 # 100 MiB total per-instance + maxFiles: 1000 + toLog: false + persistence: + enabled: false +``` + +This will mount an `emptyDir` into the pod at `/var/log/upf/pfcp_dumps` and the runtime will prune files when the directory exceeds `maxBytes` or `maxFiles`. + +## Use persistent storage (PVC) — for production/long-term capture + +```yaml +upfDump: + enabled: true + dir: /var/log/upf/pfcp_dumps + upfName: upf-01 + maxBytes: 1073741824 # 1 GiB + maxFiles: 10000 + toLog: false + persistence: + enabled: true + size: 10Gi + storageClass: fast-ssd +``` + +This configuration will cause the chart to create a PersistentVolumeClaim named `-pfcp-dump-pvc` and mount it into the `pfcp-agent` container at the configured `dir`. + +Notes: + +- `maxBytes` and `maxFiles` are enforced by the UPF process (pruning). Set either to `0` to disable that limit. +- `toLog=true` will also emit base64-encoded dumps to application logs — be careful in high-throughput environments. From c9252898cbbada80e5c0602a5c85adacf0c7f48a Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 11:21:43 +0530 Subject: [PATCH 02/11] docs(configuration): add PFCP dump examples and link from config_upf Signed-off-by: Arnav Kapoor --- configuration/config_upf.rst | 3 ++ configuration/pfcp-dump-examples.rst | 54 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 configuration/pfcp-dump-examples.rst diff --git a/configuration/config_upf.rst b/configuration/config_upf.rst index 91cb155..5d60d42 100644 --- a/configuration/config_upf.rst +++ b/configuration/config_upf.rst @@ -9,6 +9,9 @@ Below you may find some of the upf override configuration. Bess default values `can be found here `_ +For an example of enabling PFCP raw-dump (values.yaml snippets) for the +``pfcp-agent`` see :doc:`pfcp-dump-examples`. + UPF Address Pool ----------------- diff --git a/configuration/pfcp-dump-examples.rst b/configuration/pfcp-dump-examples.rst new file mode 100644 index 0000000..77e6f81 --- /dev/null +++ b/configuration/pfcp-dump-examples.rst @@ -0,0 +1,54 @@ +PFCP Dump Examples +=================== + +This file contains example ``values.yaml`` snippets to enable the PFCP raw-dump +feature for debugging parse errors in the ``pfcp-agent`` container. + + +Use transient storage (emptyDir) — good for testing/local/dev +----------------------------------------------------------- + +.. code-block:: yaml + + upfDump: + enabled: true + dir: /var/log/upf/pfcp_dumps + upfName: my-upf-instance + maxBytes: 104857600 # 100 MiB total per-instance + maxFiles: 1000 + toLog: false + persistence: + enabled: false + +This will mount an ``emptyDir`` into the pod at ``/var/log/upf/pfcp_dumps`` and +the runtime will prune files when the directory exceeds ``maxBytes`` or +``maxFiles``. + +Use persistent storage (PVC) — for production/long-term capture +------------------------------------------------------------- + +.. code-block:: yaml + + upfDump: + enabled: true + dir: /var/log/upf/pfcp_dumps + upfName: upf-01 + maxBytes: 1073741824 # 1 GiB + maxFiles: 10000 + toLog: false + persistence: + enabled: true + size: 10Gi + storageClass: fast-ssd + +This configuration will cause the chart to create a PersistentVolumeClaim named +``-pfcp-dump-pvc`` and mount it into the ``pfcp-agent`` container at +the configured ``dir``. + +Notes +----- + +- ``maxBytes`` and ``maxFiles`` are enforced by the UPF process (pruning). + Set either to ``0`` to disable that limit. +- ``toLog=true`` will also emit base64-encoded dumps to application logs — be + careful in high-throughput environments. From 2d10d4611773b12b49c9e5a164b9a367ffefc849 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 11:22:52 +0530 Subject: [PATCH 03/11] Deleted Signed-off-by: Arnav Kapoor --- pfcp-dump-examples.md | 44 ------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 pfcp-dump-examples.md diff --git a/pfcp-dump-examples.md b/pfcp-dump-examples.md deleted file mode 100644 index 123ff04..0000000 --- a/pfcp-dump-examples.md +++ /dev/null @@ -1,44 +0,0 @@ -PFCP Dump Examples -=================== - -This file contains example `values.yaml` snippets to enable the PFCP raw-dump feature for debugging parse errors in the `pfcp-agent` container. - - -## Use transient storage (emptyDir) — good for testing/local/dev - -```yaml -upfDump: - enabled: true - dir: /var/log/upf/pfcp_dumps - upfName: my-upf-instance - maxBytes: 104857600 # 100 MiB total per-instance - maxFiles: 1000 - toLog: false - persistence: - enabled: false -``` - -This will mount an `emptyDir` into the pod at `/var/log/upf/pfcp_dumps` and the runtime will prune files when the directory exceeds `maxBytes` or `maxFiles`. - -## Use persistent storage (PVC) — for production/long-term capture - -```yaml -upfDump: - enabled: true - dir: /var/log/upf/pfcp_dumps - upfName: upf-01 - maxBytes: 1073741824 # 1 GiB - maxFiles: 10000 - toLog: false - persistence: - enabled: true - size: 10Gi - storageClass: fast-ssd -``` - -This configuration will cause the chart to create a PersistentVolumeClaim named `-pfcp-dump-pvc` and mount it into the `pfcp-agent` container at the configured `dir`. - -Notes: - -- `maxBytes` and `maxFiles` are enforced by the UPF process (pruning). Set either to `0` to disable that limit. -- `toLog=true` will also emit base64-encoded dumps to application logs — be careful in high-throughput environments. From c219a54c0853ae54c0f861fc8111e48135e4da05 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 12:40:38 +0530 Subject: [PATCH 04/11] docs: fix pfcp-dump-examples RST headings, add emptyDir to dict, include in toctree Signed-off-by: Arnav Kapoor --- configuration/pfcp-dump-examples.rst | 12 ++++++++---- dict.txt | 2 ++ index.rst | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/configuration/pfcp-dump-examples.rst b/configuration/pfcp-dump-examples.rst index 77e6f81..5251366 100644 --- a/configuration/pfcp-dump-examples.rst +++ b/configuration/pfcp-dump-examples.rst @@ -1,3 +1,7 @@ +.. + SPDX-FileCopyrightText: © 2022 Open Networking Foundation + SPDX-License-Identifier: Apache-2.0 + PFCP Dump Examples =================== @@ -5,8 +9,8 @@ This file contains example ``values.yaml`` snippets to enable the PFCP raw-dump feature for debugging parse errors in the ``pfcp-agent`` container. -Use transient storage (emptyDir) — good for testing/local/dev ------------------------------------------------------------ +Use transient storage (empty dir) +-------------------------------- .. code-block:: yaml @@ -24,8 +28,8 @@ This will mount an ``emptyDir`` into the pod at ``/var/log/upf/pfcp_dumps`` and the runtime will prune files when the directory exceeds ``maxBytes`` or ``maxFiles``. -Use persistent storage (PVC) — for production/long-term capture -------------------------------------------------------------- +Use persistent storage (PVC) +---------------------------- .. code-block:: yaml diff --git a/dict.txt b/dict.txt index 88cc09d..2432cd5 100644 --- a/dict.txt +++ b/dict.txt @@ -267,3 +267,5 @@ webconsole webhooks webui yaml + +emptyDir diff --git a/index.rst b/index.rst index 90d677e..30c2895 100644 --- a/index.rst +++ b/index.rst @@ -70,6 +70,7 @@ can be found on the `SD-Core Wiki configuration/config_rest.rst configuration/config_simapp.rst configuration/application_filtering.rst + configuration/pfcp-dump-examples.rst configuration/qos_config.rst configuration/config_upf.rst From 23052f91f52b9505d8e51ef628c0d95e91800451 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 12:42:52 +0530 Subject: [PATCH 05/11] docs: fix RST heading underlines in pfcp-dump-examples.rst to satisfy doc8 Signed-off-by: Arnav Kapoor --- configuration/pfcp-dump-examples.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration/pfcp-dump-examples.rst b/configuration/pfcp-dump-examples.rst index 5251366..f3257ed 100644 --- a/configuration/pfcp-dump-examples.rst +++ b/configuration/pfcp-dump-examples.rst @@ -10,7 +10,7 @@ feature for debugging parse errors in the ``pfcp-agent`` container. Use transient storage (empty dir) --------------------------------- +-------------------------------------------------- .. code-block:: yaml @@ -29,7 +29,7 @@ the runtime will prune files when the directory exceeds ``maxBytes`` or ``maxFiles``. Use persistent storage (PVC) ----------------------------- +----------------------------------------------- .. code-block:: yaml From b581298b8710391ff47b6591aafaa5310762ef16 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 12:44:43 +0530 Subject: [PATCH 06/11] ci(linkcheck): ignore opennetworking.org temporarily to avoid cert-related failures Signed-off-by: Arnav Kapoor --- conf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf.py b/conf.py index 356fdb7..4c99846 100644 --- a/conf.py +++ b/conf.py @@ -257,6 +257,10 @@ def get_version(): r'https://jenkins.aetherproject.org/.*', r'https://gerrit.opencord.org/.*', r'https://wiki.opennetworking.org/.*', + # Opennetworking.org currently returns certificate verification errors in CI + # (expired/invalid cert). Ignore their domain temporarily to avoid linkcheck + # failures. Replace or re-enable checks when upstream fixes their cert. + r'https?://opennetworking\.org/.*', ] linkcheck_timeout = 3 From 588bcfd704a30370d2ef7600ac3e7739db49d638 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Sat, 8 Nov 2025 12:45:15 +0530 Subject: [PATCH 07/11] doc fixup: add pfcp dump examples file and update index.rst Signed-off-by: Arnav Kapoor --- conf.py | 3 --- dict.txt | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/conf.py b/conf.py index 4c99846..844c5f5 100644 --- a/conf.py +++ b/conf.py @@ -257,9 +257,6 @@ def get_version(): r'https://jenkins.aetherproject.org/.*', r'https://gerrit.opencord.org/.*', r'https://wiki.opennetworking.org/.*', - # Opennetworking.org currently returns certificate verification errors in CI - # (expired/invalid cert). Ignore their domain temporarily to avoid linkcheck - # failures. Replace or re-enable checks when upstream fixes their cert. r'https?://opennetworking\.org/.*', ] diff --git a/dict.txt b/dict.txt index 2432cd5..0eba609 100644 --- a/dict.txt +++ b/dict.txt @@ -120,6 +120,7 @@ eNBID eNBs eNodeB eb +emptyDir eno epc equipments @@ -267,5 +268,3 @@ webconsole webhooks webui yaml - -emptyDir From ce93b3cf8f1b52f5ac515fabb93c1b0fedc1a6bd Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Thu, 13 Nov 2025 00:13:49 +0530 Subject: [PATCH 08/11] docs(configuration): inline PFCP dump examples into config_upf and remove separate file Signed-off-by: Arnav Kapoor --- configuration/config_upf.rst | 58 +++++++++++++++++++++++++++++++++++- index.rst | 1 - 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/configuration/config_upf.rst b/configuration/config_upf.rst index 5d60d42..cc1f9fa 100644 --- a/configuration/config_upf.rst +++ b/configuration/config_upf.rst @@ -10,7 +10,63 @@ Below you may find some of the upf override configuration. Bess default values `can be found here `_ For an example of enabling PFCP raw-dump (values.yaml snippets) for the -``pfcp-agent`` see :doc:`pfcp-dump-examples`. +``pfcp-agent`` see the "PFCP Dump Examples" section below. + + +PFCP Dump Examples +------------------ + +This file contains example ``values.yaml`` snippets to enable the PFCP raw-dump +feature for debugging parse errors in the ``pfcp-agent`` container. + + +Use transient storage (empty dir) +-------------------------------------------------- + +.. code-block:: yaml + + upfDump: + enabled: true + dir: /var/log/upf/pfcp_dumps + upfName: my-upf-instance + maxBytes: 104857600 # 100 MiB total per-instance + maxFiles: 1000 + toLog: false + persistence: + enabled: false + +This will mount an ``emptyDir`` into the pod at ``/var/log/upf/pfcp_dumps`` and +the runtime will prune files when the directory exceeds ``maxBytes`` or +``maxFiles``. + +Use persistent storage (PVC) +----------------------------------------------- + +.. code-block:: yaml + + upfDump: + enabled: true + dir: /var/log/upf/pfcp_dumps + upfName: upf-01 + maxBytes: 1073741824 # 1 GiB + maxFiles: 10000 + toLog: false + persistence: + enabled: true + size: 10Gi + storageClass: fast-ssd + +This configuration will cause the chart to create a PersistentVolumeClaim named +``-pfcp-dump-pvc`` and mount it into the ``pfcp-agent`` container at +the configured ``dir``. + +Notes +----- + +- ``maxBytes`` and ``maxFiles`` are enforced by the UPF process (pruning). + Set either to ``0`` to disable that limit. +- ``toLog=true`` will also emit base64-encoded dumps to application logs — be + careful in high-throughput environments. UPF Address Pool ----------------- diff --git a/index.rst b/index.rst index 30c2895..90d677e 100644 --- a/index.rst +++ b/index.rst @@ -70,7 +70,6 @@ can be found on the `SD-Core Wiki configuration/config_rest.rst configuration/config_simapp.rst configuration/application_filtering.rst - configuration/pfcp-dump-examples.rst configuration/qos_config.rst configuration/config_upf.rst From 54850ce8b7953e1972ed431bd3d95d5c7db85da3 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Thu, 13 Nov 2025 00:16:52 +0530 Subject: [PATCH 09/11] delete Signed-off-by: Arnav Kapoor --- configuration/pfcp-dump-examples.rst | 58 ---------------------------- 1 file changed, 58 deletions(-) delete mode 100644 configuration/pfcp-dump-examples.rst diff --git a/configuration/pfcp-dump-examples.rst b/configuration/pfcp-dump-examples.rst deleted file mode 100644 index f3257ed..0000000 --- a/configuration/pfcp-dump-examples.rst +++ /dev/null @@ -1,58 +0,0 @@ -.. - SPDX-FileCopyrightText: © 2022 Open Networking Foundation - SPDX-License-Identifier: Apache-2.0 - -PFCP Dump Examples -=================== - -This file contains example ``values.yaml`` snippets to enable the PFCP raw-dump -feature for debugging parse errors in the ``pfcp-agent`` container. - - -Use transient storage (empty dir) --------------------------------------------------- - -.. code-block:: yaml - - upfDump: - enabled: true - dir: /var/log/upf/pfcp_dumps - upfName: my-upf-instance - maxBytes: 104857600 # 100 MiB total per-instance - maxFiles: 1000 - toLog: false - persistence: - enabled: false - -This will mount an ``emptyDir`` into the pod at ``/var/log/upf/pfcp_dumps`` and -the runtime will prune files when the directory exceeds ``maxBytes`` or -``maxFiles``. - -Use persistent storage (PVC) ------------------------------------------------ - -.. code-block:: yaml - - upfDump: - enabled: true - dir: /var/log/upf/pfcp_dumps - upfName: upf-01 - maxBytes: 1073741824 # 1 GiB - maxFiles: 10000 - toLog: false - persistence: - enabled: true - size: 10Gi - storageClass: fast-ssd - -This configuration will cause the chart to create a PersistentVolumeClaim named -``-pfcp-dump-pvc`` and mount it into the ``pfcp-agent`` container at -the configured ``dir``. - -Notes ------ - -- ``maxBytes`` and ``maxFiles`` are enforced by the UPF process (pruning). - Set either to ``0`` to disable that limit. -- ``toLog=true`` will also emit base64-encoded dumps to application logs — be - careful in high-throughput environments. From dfcb71e027d9254ff6081a9f137eda282e138770 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Thu, 13 Nov 2025 00:22:06 +0530 Subject: [PATCH 10/11] reconfiguring lines Signed-off-by: Arnav Kapoor --- configuration/config_upf.rst | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/configuration/config_upf.rst b/configuration/config_upf.rst index cc1f9fa..c2975ad 100644 --- a/configuration/config_upf.rst +++ b/configuration/config_upf.rst @@ -9,14 +9,10 @@ Below you may find some of the upf override configuration. Bess default values `can be found here `_ -For an example of enabling PFCP raw-dump (values.yaml snippets) for the -``pfcp-agent`` see the "PFCP Dump Examples" section below. - - PFCP Dump Examples ------------------ -This file contains example ``values.yaml`` snippets to enable the PFCP raw-dump +This contains ``values.yaml`` snippets to enable the PFCP raw-dump feature for debugging parse errors in the ``pfcp-agent`` container. From 474ca65838bc338ac6df15e2673838094c262e19 Mon Sep 17 00:00:00 2001 From: Arnav Kapoor Date: Thu, 13 Nov 2025 10:00:59 +0530 Subject: [PATCH 11/11] Apply suggestions from code review Co-authored-by: Gabriel Arrobo Signed-off-by: Arnav Kapoor --- configuration/config_upf.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/configuration/config_upf.rst b/configuration/config_upf.rst index c2975ad..7cca30c 100644 --- a/configuration/config_upf.rst +++ b/configuration/config_upf.rst @@ -15,9 +15,8 @@ PFCP Dump Examples This contains ``values.yaml`` snippets to enable the PFCP raw-dump feature for debugging parse errors in the ``pfcp-agent`` container. - Use transient storage (empty dir) --------------------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: yaml @@ -36,7 +35,7 @@ the runtime will prune files when the directory exceeds ``maxBytes`` or ``maxFiles``. Use persistent storage (PVC) ------------------------------------------------ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: yaml @@ -57,7 +56,7 @@ This configuration will cause the chart to create a PersistentVolumeClaim named the configured ``dir``. Notes ------ +^^^^^ - ``maxBytes`` and ``maxFiles`` are enforced by the UPF process (pruning). Set either to ``0`` to disable that limit.