<p>daniel has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gbproxy/+/22877">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">WIP: Set BSSGP PDU MTU from NS SDU MTU<br><br>Related: OS#4889<br>Change-Id: Ic1080abde942ec5a2ae7cdee0ffe716a2fbddb1e<br>---<br>M include/osmocom/sgsn/gb_proxy.h<br>M src/gb_proxy.c<br>M src/gb_proxy_peer.c<br>M src/gb_proxy_vty.c<br>4 files changed, 11 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/77/22877/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h</span><br><span>index a36f305..9f07503 100644</span><br><span>--- a/include/osmocom/sgsn/gb_proxy.h</span><br><span>+++ b/include/osmocom/sgsn/gb_proxy.h</span><br><span>@@ -21,6 +21,9 @@</span><br><span> #define GBPROXY_INIT_VU_GEN_TX 256</span><br><span> #define GBPROXY_MAX_NR_SGSN  16</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Set the FR MTU as default (IP can fragment) - FR Header - NS-UNITDATA Header */</span><br><span style="color: hsl(120, 100%, 40%);">+#define DEFAULT_NSE_MTU (1600 - 2 - 4)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* BVCI uses 16 bits */</span><br><span> #define BVC_LOG_CTX_FLAG (1<<17)</span><br><span> </span><br><span>@@ -160,6 +163,8 @@</span><br><span> </span><br><span>      /* NSEI of the NSE */</span><br><span>        uint16_t nsei;</span><br><span style="color: hsl(120, 100%, 40%);">+        /* MTU of the NSE */</span><br><span style="color: hsl(120, 100%, 40%);">+  uint16_t mtu;</span><br><span> </span><br><span>    /* Are we facing towards a SGSN (true) or BSS (false) */</span><br><span>     bool sgsn_facing;</span><br><span>diff --git a/src/gb_proxy.c b/src/gb_proxy.c</span><br><span>index a226b93..c4062fd 100644</span><br><span>--- a/src/gb_proxy.c</span><br><span>+++ b/src/gb_proxy.c</span><br><span>@@ -700,6 +700,7 @@</span><br><span>                         sgsn_bvc->fi = bssgp_bvc_fsm_alloc_ptp_bss(sgsn_bvc, cfg->nsi, sgsn_nse->nsei,</span><br><span>                                                                 bvci, ra_id, cell_id);</span><br><span>                    OSMO_ASSERT(sgsn_bvc->fi);</span><br><span style="color: hsl(120, 100%, 40%);">+                 bssgp_bvc_fsm_set_mtu(sgsn_bvc->fi, sgsn_nse->mtu);</span><br><span>                    bssgp_bvc_fsm_set_ops(sgsn_bvc->fi, &sgsn_ptp_bvc_fsm_ops, sgsn_bvc);</span><br><span> </span><br><span>                     gbproxy_cell_add_sgsn_bvc(bvc->cell, sgsn_bvc);</span><br><span>@@ -844,6 +845,7 @@</span><br><span>                             gbproxy_bvc_free(from_bvc);</span><br><span>                          return -ENOMEM;</span><br><span>                      }</span><br><span style="color: hsl(120, 100%, 40%);">+                     bssgp_bvc_fsm_set_mtu(from_bvc->fi, nse->mtu);</span><br><span>                         bssgp_bvc_fsm_set_ops(from_bvc->fi, &bss_sig_bvc_fsm_ops, from_bvc);</span><br><span>          }</span><br><span>    } else {</span><br><span>@@ -860,6 +862,7 @@</span><br><span>                               gbproxy_bvc_free(from_bvc);</span><br><span>                          return -ENOMEM;</span><br><span>                      }</span><br><span style="color: hsl(120, 100%, 40%);">+                     bssgp_bvc_fsm_set_mtu(from_bvc->fi, nse->mtu);</span><br><span>                         bssgp_bvc_fsm_set_ops(from_bvc->fi, &bss_ptp_bvc_fsm_ops, from_bvc);</span><br><span>          }</span><br><span> #if 0</span><br><span>@@ -1522,6 +1525,7 @@</span><br><span> {</span><br><span>      /* TODO: bss nsei available/unavailable  bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0);</span><br><span>          * TODO: sgsn nsei available/unavailable</span><br><span style="color: hsl(120, 100%, 40%);">+       * TODO: Update MTU</span><br><span>   */</span><br><span> </span><br><span>      struct gbproxy_bvc *bvc;</span><br><span>diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c</span><br><span>index 27d73b8..6aed38c 100644</span><br><span>--- a/src/gb_proxy_peer.c</span><br><span>+++ b/src/gb_proxy_peer.c</span><br><span>@@ -447,6 +447,7 @@</span><br><span>              return NULL;</span><br><span> </span><br><span>     nse->nsei = nsei;</span><br><span style="color: hsl(120, 100%, 40%);">+  nse->mtu = DEFAULT_NSE_MTU;</span><br><span>       nse->cfg = cfg;</span><br><span>   nse->sgsn_facing = sgsn_facing;</span><br><span> </span><br><span>diff --git a/src/gb_proxy_vty.c b/src/gb_proxy_vty.c</span><br><span>index d62fe5f..11a1215 100644</span><br><span>--- a/src/gb_proxy_vty.c</span><br><span>+++ b/src/gb_proxy_vty.c</span><br><span>@@ -241,6 +241,7 @@</span><br><span>            bvc->fi = bssgp_bvc_fsm_alloc_sig_bss(bvc, nse->cfg->nsi, nsei, features);</span><br><span>          if (!bvc->fi)</span><br><span>                     goto free_bvc;</span><br><span style="color: hsl(120, 100%, 40%);">+                bssgp_bvc_fsm_set_mtu(bvc->fi, nse->mtu);</span><br><span>              bssgp_bvc_fsm_set_ops(bvc->fi, &sgsn_sig_bvc_fsm_ops, bvc);</span><br><span>           osmo_fsm_inst_dispatch(bvc->fi, BSSGP_BVCFSM_E_REQ_RESET, &cause);</span><br><span>    }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gbproxy/+/22877">change 22877</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gbproxy/+/22877"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gbproxy </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ic1080abde942ec5a2ae7cdee0ffe716a2fbddb1e </div>
<div style="display:none"> Gerrit-Change-Number: 22877 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>