pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ggsn/+/17255?usp=email )
Change subject: sgsnemu: Initial support IPv4v6 PDP context type
......................................................................
sgsnemu: Initial support IPv4v6 PDP context type
Related: OS#4433
Change-Id: If6eb2f1a5d0fb71da80e289112a67dd2faa30b4b
---
M sgsnemu/cmdline.c
M sgsnemu/cmdline.ggo
M sgsnemu/sgsnemu.c
3 files changed, 9 insertions(+), 3 deletions(-)
Approvals:
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
osmith: Looks good to me, approved
diff --git a/sgsnemu/cmdline.c b/sgsnemu/cmdline.c
index e287116..9039339 100644
--- a/sgsnemu/cmdline.c
+++ b/sgsnemu/cmdline.c
@@ -80,7 +80,7 @@
" --pingcount=INT Number of ping req to send
(default=`0')",
" --pingquiet Do not print ping packet info
(default=off)",
" --no-tx-gpdu-seq Don't transmit G-PDU sequence nums\n
(default=off)",
- " -t, --pdp-type=(v4|v6) PDP Type (default=`v4')",
+ " -t, --pdp-type=(v4|v6|v4v6) PDP Type (default=`v4')",
0
};
diff --git a/sgsnemu/cmdline.ggo b/sgsnemu/cmdline.ggo
index 54db05b..d8d5c35 100644
--- a/sgsnemu/cmdline.ggo
+++ b/sgsnemu/cmdline.ggo
@@ -68,4 +68,4 @@
modeoption "pingquiet" - "Do not print ping packet info" flag
dependon="pinghost" off mode="pinghost"
option "no-tx-gpdu-seq" - "Don't transmit G-PDU sequence nums"
flag off
-option "pdp-type" t "PDP Type" string
default="v4" no typestr="(v4|v6)"
+option "pdp-type" t "PDP Type" string
default="v4" no typestr="(v4|v6|v4v6)"
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index afa7339..ee74def 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -925,6 +925,8 @@
options.pdp_type = PDP_EUA_TYPE_v6;
else if (!strcmp(args_info.pdp_type_arg, "v4"))
options.pdp_type = PDP_EUA_TYPE_v4;
+ else if (!strcmp(args_info.pdp_type_arg, "v4v6"))
+ options.pdp_type = PDP_EUA_TYPE_v4v6;
else {
SYS_ERR(DSGSN, LOGL_ERROR, 0, "Unsupported/unknown PDP Type '%s'\n",
args_info.pdp_type_arg);
@@ -944,6 +946,9 @@
case PDP_EUA_TYPE_v6:
hints.ai_family = AF_INET6;
break;
+ case PDP_EUA_TYPE_v4v6:
+ hints.ai_family = AF_UNSPEC;
+ break;
default:
SYS_ERR(DSGSN, LOGL_ERROR, 0, "lookup(AF_UNSPEC) %d", options.pdp_type);
hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
@@ -1664,7 +1669,8 @@
}
}
- if (options.createif && options.pdp_type == PDP_EUA_TYPE_v6) {
+ if (options.createif && (options.pdp_type == PDP_EUA_TYPE_v6 ||
+ options.pdp_type == PDP_EUA_TYPE_v4v6)) {
struct in6_addr *saddr6;
struct msgb *msg;
if (in46a_is_v6(&addr[0])) {
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ggsn/+/17255?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ggsn
Gerrit-Branch: master
Gerrit-Change-Id: If6eb2f1a5d0fb71da80e289112a67dd2faa30b4b
Gerrit-Change-Number: 17255
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>