ggsn: Use gtp_delete_context_req2() everywhere

Replace calls to gtp_delete_context_req() with
gtp_delete_context_req2().

Related: OS#2741
Change-Id: Iecc8c5ac45207e7e20129559c4ac7f3c67dfb36a
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index a2220f0..225dc59 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -1474,6 +1474,8 @@
 {
 	printf("Received delete PDP context response. Cause value: %d\n",
 	       cause);
+	if (pdp)
+		pdp_freepdp(pdp);
 	return 0;
 }
 
@@ -1508,8 +1510,6 @@
 	case GTP_CREATE_PDP_REQ:
 		return create_pdp_conf(pdp, cbp, cause);
 	case GTP_DELETE_PDP_REQ:
-		if (cause != 128)
-			return 0;	/* Request not accepted. We don't care */
 		return delete_pdp_conf(pdp, cause);
 	default:
 		return 0;
@@ -1756,8 +1756,7 @@
 			for (n = 0; n < options.contexts; n++) {
 				/* Delete context */
 				printf("Disconnecting PDP context #%d\n", n);
-				gtp_delete_context_req(gsn, iparr[n].pdp, NULL,
-						       1);
+				gtp_delete_context_req2(gsn, iparr[n].pdp, NULL, 1);
 				if ((options.pinghost.s_addr != 0)
 				    && ntransmitted)
 					ping_finish();