[MERGED] openbsc[master]: sgsn_vty: Don't assume pdp->lib is always valid

2017-08-14 Thread Harald Welte
Harald Welte has submitted this change and it was merged.

Change subject: sgsn_vty: Don't assume pdp->lib is always valid
..


sgsn_vty: Don't assume pdp->lib is always valid

We can only print libgtp pdp information if a library context is
attached to this pdp context.  This is not always the case,
particuarly during some teardown scenarios.

Change-Id: Ia3184877f9709db65f5f93a98403f2ef5b04a8ca
---
M openbsc/src/gprs/sgsn_vty.c
1 file changed, 16 insertions(+), 14 deletions(-)

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



diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index e09a029..38f173c 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -458,20 +458,22 @@
const char *imsi = pdp->mm ? pdp->mm->imsi : "(detaching)";
vty_out(vty, "%sPDP Context IMSI: %s, SAPI: %u, NSAPI: %u, TI: %u%s",
pfx, imsi, pdp->sapi, pdp->nsapi, pdp->ti, VTY_NEWLINE);
-   vty_out(vty, "%s  APN: %s%s", pfx,
-   gprs_apn2str(pdp->lib->apn_use.v, pdp->lib->apn_use.l),
-   VTY_NEWLINE);
-   vty_out(vty, "%s  PDP Address: %s%s", pfx,
-   gprs_pdpaddr2str(pdp->lib->eua.v, pdp->lib->eua.l),
-   VTY_NEWLINE);
-   vty_out(vty, "%s  GTP Local Control(%s / TEIC: 0x%08x) ", pfx,
-   gtp_ntoa(>lib->gsnlc), pdp->lib->teic_own);
-   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
-   gtp_ntoa(>lib->gsnlu), pdp->lib->teid_own, VTY_NEWLINE);
-   vty_out(vty, "%s  GTP Remote Control(%s / TEIC: 0x%08x) ", pfx,
-   gtp_ntoa(>lib->gsnrc), pdp->lib->teic_gn);
-   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
-   gtp_ntoa(>lib->gsnru), pdp->lib->teid_gn, VTY_NEWLINE);
+   if (pdp->lib) {
+   vty_out(vty, "%s  APN: %s%s", pfx,
+   gprs_apn2str(pdp->lib->apn_use.v, pdp->lib->apn_use.l),
+   VTY_NEWLINE);
+   vty_out(vty, "%s  PDP Address: %s%s", pfx,
+   gprs_pdpaddr2str(pdp->lib->eua.v, pdp->lib->eua.l),
+   VTY_NEWLINE);
+   vty_out(vty, "%s  GTP Local Control(%s / TEIC: 0x%08x) ", pfx,
+   gtp_ntoa(>lib->gsnlc), pdp->lib->teic_own);
+   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
+   gtp_ntoa(>lib->gsnlu), pdp->lib->teid_own, 
VTY_NEWLINE);
+   vty_out(vty, "%s  GTP Remote Control(%s / TEIC: 0x%08x) ", pfx,
+   gtp_ntoa(>lib->gsnrc), pdp->lib->teic_gn);
+   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
+   gtp_ntoa(>lib->gsnru), pdp->lib->teid_gn, 
VTY_NEWLINE);
+   }
 
vty_out_rate_ctr_group(vty, " ", pdp->ctrg);
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia3184877f9709db65f5f93a98403f2ef5b04a8ca
Gerrit-PatchSet: 4
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder


openbsc[master]: sgsn_vty: Don't assume pdp->lib is always valid

2017-08-12 Thread Harald Welte

Patch Set 1: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3184877f9709db65f5f93a98403f2ef5b04a8ca
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-HasComments: No


[PATCH] openbsc[master]: sgsn_vty: Don't assume pdp->lib is always valid

2017-08-12 Thread Harald Welte

Review at  https://gerrit.osmocom.org/3505

sgsn_vty: Don't assume pdp->lib is always valid

We can only print libgtp pdp information if a library context is
attached to this pdp context.  This is not always the case,
particuarly during some teardown scenarios.

Change-Id: Ia3184877f9709db65f5f93a98403f2ef5b04a8ca
---
M openbsc/src/gprs/sgsn_vty.c
1 file changed, 16 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/05/3505/1

diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index b5d2eae..d4447e1 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -445,20 +445,22 @@
const char *imsi = pdp->mm ? pdp->mm->imsi : "(detaching)";
vty_out(vty, "%sPDP Context IMSI: %s, SAPI: %u, NSAPI: %u, TI: %u%s",
pfx, imsi, pdp->sapi, pdp->nsapi, pdp->ti, VTY_NEWLINE);
-   vty_out(vty, "%s  APN: %s%s", pfx,
-   gprs_apn2str(pdp->lib->apn_use.v, pdp->lib->apn_use.l),
-   VTY_NEWLINE);
-   vty_out(vty, "%s  PDP Address: %s%s", pfx,
-   gprs_pdpaddr2str(pdp->lib->eua.v, pdp->lib->eua.l),
-   VTY_NEWLINE);
-   vty_out(vty, "%s  GTP Local Control(%s / TEIC: 0x%08x) ", pfx,
-   gtp_ntoa(>lib->gsnlc), pdp->lib->teic_own);
-   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
-   gtp_ntoa(>lib->gsnlu), pdp->lib->teid_own, VTY_NEWLINE);
-   vty_out(vty, "%s  GTP Remote Control(%s / TEIC: 0x%08x) ", pfx,
-   gtp_ntoa(>lib->gsnrc), pdp->lib->teic_gn);
-   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
-   gtp_ntoa(>lib->gsnru), pdp->lib->teid_gn, VTY_NEWLINE);
+   if (pdp->lib) {
+   vty_out(vty, "%s  APN: %s%s", pfx,
+   gprs_apn2str(pdp->lib->apn_use.v, pdp->lib->apn_use.l),
+   VTY_NEWLINE);
+   vty_out(vty, "%s  PDP Address: %s%s", pfx,
+   gprs_pdpaddr2str(pdp->lib->eua.v, pdp->lib->eua.l),
+   VTY_NEWLINE);
+   vty_out(vty, "%s  GTP Local Control(%s / TEIC: 0x%08x) ", pfx,
+   gtp_ntoa(>lib->gsnlc), pdp->lib->teic_own);
+   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
+   gtp_ntoa(>lib->gsnlu), pdp->lib->teid_own, 
VTY_NEWLINE);
+   vty_out(vty, "%s  GTP Remote Control(%s / TEIC: 0x%08x) ", pfx,
+   gtp_ntoa(>lib->gsnrc), pdp->lib->teic_gn);
+   vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
+   gtp_ntoa(>lib->gsnru), pdp->lib->teid_gn, 
VTY_NEWLINE);
+   }
 
vty_out_rate_ctr_group(vty, " ", pdp->ctrg);
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia3184877f9709db65f5f93a98403f2ef5b04a8ca
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Harald Welte