Harald Welte has submitted this change and it was merged.

Change subject: BSSGP_Emulation: Fix automatic BVC flow control ACK in SGSN role
......................................................................


BSSGP_Emulation: Fix automatic BVC flow control ACK in SGSN role

This code had been intended to be used, but commented out, and
never really been completed or tested.

Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
---
M library/BSSGP_Emulation.ttcn
M library/Osmocom_Gb_Types.ttcn
2 files changed, 61 insertions(+), 7 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn
index 06e4733..c7766dc 100644
--- a/library/BSSGP_Emulation.ttcn
+++ b/library/BSSGP_Emulation.ttcn
@@ -496,12 +496,13 @@
        }
 
        /* simply acknowledge all Flow Control Messages */
-/*
-       [g_cfg.sgsn_role] BSCP.receive(f_BnsUdInd(t_BVC_FC_BVC), g_cfg.bvci) {
-               BSCP.send(f_BnsUdReq(t_BVC_FC_BVC_ACK), g_cfg.bvci);
+       [g_cfg.sgsn_role] BSCP.receive(f_BnsUdInd(tr_BVC_FC_BVC, g_cfg.bvci)) 
-> value udi {
+               var OCT1 tag := 
udi.bssgp.pDU_BSSGP_FLOW_CONTROL_BVC.tag.unstructured_Value;
+               BSCP.send(f_BnsUdReq(t_BVC_FC_BVC_ACK(tag), g_cfg.bvci));
        }
-       [g_cfg.sgsn_role] BSCP.receive(f_BnsUdInd(t_BVC_FC_MS), g_cfg.bvci) {
-               BSCP.send(f_BnsUdReq(t_BVC_FC_MS_ACK), g_cfg.bvci);
+/*
+       [g_cfg.sgsn_role] BSCP.receive(f_BnsUdInd(t_BVC_FC_MS, g_cfg.bvci)) {
+               BSCP.send(f_BnsUdReq(t_BVC_FC_MS_ACK, g_cfg.bvci));
        }
 */
 
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index a3121b5..f943c9c 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -446,7 +446,7 @@
                                iEI := '1E'O,
                                ext := '1'B,
                                lengthIndicator := {
-                                       length1 := 2
+                                       length1 := 1
                                },
                                unstructured_Value := tag
                        },
@@ -462,7 +462,7 @@
                                iEI := '03'O,
                                ext := '1'B,
                                lengthIndicator := {
-                                       length1 := 1
+                                       length1 := 2
                                },
                                r_Value := f_oct_or_wc(bucket_leak_rate, 2)
                        },
@@ -487,6 +487,59 @@
                        flow_Control_Granularity := omit
                }
        }
+       template PDU_BSSGP tr_BVC_FC_BVC(template uint16_t bmax := ?,
+                                        template uint16_t bucket_leak_rate := 
?,
+                                        template uint16_t bmax_default_ms := ?,
+                                        template uint16_t r_default_ms := ?,
+                                        template OCT1 tag := ?) := {
+               pDU_BSSGP_FLOW_CONTROL_BVC := {
+                       bssgpPduType := '26'O,
+                       tag := {
+                               iEI := '1E'O,
+                               ext := '1'B,
+                               lengthIndicator := {
+                                       length1 := 1
+                               },
+                               unstructured_Value := tag
+                       },
+                       bVC_Bucket_Size := {
+                               iEI := '05'O,
+                               ext := '1'B,
+                               lengthIndicator := {
+                                       length1 := 2
+                               },
+                               bmax := f_oct_or_wc(bmax, 2)
+                       },
+                       bucket_Leak_Rate := {
+                               iEI := '03'O,
+                               ext := '1'B,
+                               lengthIndicator := {
+                                       length1 := 2
+                               },
+                               r_Value := f_oct_or_wc(bucket_leak_rate, 2)
+                       },
+                       bmax_default_MS := {
+                               iEI := '01'O,
+                               ext := '1'B,
+                               lengthIndicator := {
+                                       length1 := 2
+                               },
+                               bmax := f_oct_or_wc(bmax_default_ms, 2)
+                       },
+                       r_default_MS := {
+                               iEI := '1C'O,
+                               ext := '1'B,
+                               lengthIndicator := {
+                                       length1 := 2
+                               },
+                               r_default_MS_value := f_oct_or_wc(r_default_ms, 
2)
+                       },
+                       bucket_Full_Ratio := *,
+                       bVC_Measurement := *,
+                       flow_Control_Granularity := *
+               }
+       }
+
        template PDU_BSSGP t_BVC_FC_BVC_ACK(template OCT1 tag) := {
                pDU_BSSGP_FLOW_CONTROL_BVC_ACK := {
                        bssgpPduType := '27'O,

-- 
To view, visit https://gerrit.osmocom.org/7073
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <lafo...@gnumonks.org>
Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org>
Gerrit-Reviewer: Jenkins Builder

Reply via email to