Project

General

Profile

Bug #4165

osmo-ggsn: implement echo request against osmo-sgsn

Added by pespin 29 days ago. Updated 17 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
openggsn
Target version:
-
Start date:
08/21/2019
Due date:
% Done:

100%

Spec Reference:

Description

osmo-ggsn is missing a timer (+ vty cmd) to configure sending GTP EchoRequet against each osmo-sgsn.

The idea is to have pdp contexts grouped by peer (S)GSN (in a linked list), and when a restart ctr greater than the last one we had recorded is received, then drop all contexts of that (S)GSN.

This should help avoiding pdp contexts being kept forever if an sgsn dies or restarts.

Related specs:
3GPP TS 29.060 sec 7.2.2 "Echo Response" https://www.etsi.org/deliver/etsi_ts/129000_129099/129060/12.06.00_60/ts_129060v120600p.pdf
3GPP TS 23.007 sec 18 "GTP-C based restart procedures" https://www.etsi.org/deliver/etsi_ts/123000_123099/123007/12.06.00_60/ts_123007v120600p.pdf

See similar work done in osmo-sgsn.git fa1201004f85b6e44d746d6044d5a43d04634fa4.


Related issues

Related to OsmoGGSN (former OpenGGSN) - Bug #4154: Duplicated PDP context entries Feedback08/16/2019

Related to OsmoGGSN (former OpenGGSN) - Bug #4178: libgtp: Fix use os gtp_retranstimeout() APIs in osmo-ggsn and osmo-sgsnIn Progress08/28/2019

History

#1 Updated by pespin 29 days ago

  • Status changed from New to In Progress

Initial work done in osmo-ggsn.git branch pespin/echo.

#2 Updated by pespin 29 days ago

  • Related to Bug #4154: Duplicated PDP context entries added

#3 Updated by pespin 28 days ago

Related patches:
remote: https://gerrit.osmocom.org/c/osmo-ggsn/+/15266 libgtp: Introduce cb_recovery3
remote: https://gerrit.osmocom.org/c/osmo-ggsn/+/15267 ggsn: Implement echo req/resp and recover

Working fine with manual testing (against osmo-sgsn). I still need to add some TTCN3 cases before merging it, so setting it as WIP.

TTCN3 test cases already exist in ttcn3-sgsn suite, so it's mostly about replicating similar tests in ttcn3-ggsn.

BTW, while looking at osmo-sgsn related patches, some stuff which should be fixed/improved there:
  • Allow echo-interval 0 to disable echo request/response (and add APIs to start/stop timers if 0->!0 or !0->0) (done with "no echo-interval")
  • Drop GTP pdp contexts if echo request times out (and add a count reference similar to what I did in osmo-ggsn to make sure we don't delete context too quickly?) <-- This one still needs to be implemented.

#4 Updated by pespin 22 days ago

  • Status changed from In Progress to Feedback
  • % Done changed from 0 to 90

related osmo-sgsn patches explained in last comment are available here:
https://gerrit.osmocom.org/c/osmo-sgsn/+/15308 sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15306 sgsn: Introduce test TC_attach_echo_timeout

Once all related patches are merged, we can close this ticket.

#5 Updated by pespin 22 days ago

  • Related to Bug #4178: libgtp: Fix use os gtp_retranstimeout() APIs in osmo-ggsn and osmo-sgsn added

#6 Updated by pespin 17 days ago

  • Status changed from Feedback to Resolved
  • % Done changed from 90 to 100

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)