diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-10-07 18:45:54 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-10-07 18:45:54 +0200 |
commit | 3a4c67b4bf0067c4949a60bc750d01e0576c5e08 (patch) | |
tree | 9d92dc39d341fc0be78a7d389175a66ddf78712e /sgsnemu/sgsnemu.c | |
parent | 41af5691ef08fb70e2c65aba03c8b9e6c20983a6 (diff) |
optionally do not send recovery with sgsnemu
According to 3GPP TS 29.060 recovery is optional, add command line option --norecovery to remove this field in sgsnemu
Signed-off-by: Yann BONNAMY <yann_bonnamy@yahoo.fr>
Signed-off-by: Harald Welte <laforge@gnumonks.org>
Diffstat (limited to 'sgsnemu/sgsnemu.c')
-rw-r--r-- | sgsnemu/sgsnemu.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 7d164b3..48a33ea 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -115,6 +115,7 @@ struct { struct ul255_t imeisv; int imeisv_given; struct ul16_t msisdn; + int norecovery_given; } options; @@ -272,6 +273,7 @@ int process_options(int argc, char **argv) { printf("pingsize: %d\n", args_info.pingsize_arg); printf("pingcount: %d\n", args_info.pingcount_arg); printf("pingquiet: %d\n", args_info.pingquiet_flag); + printf("norecovery: %d\n", args_info.norecovery_flag); } /* Try out our new parser */ @@ -310,6 +312,7 @@ int process_options(int argc, char **argv) { printf("pingsize: %d\n", args_info.pingsize_arg); printf("pingcount: %d\n", args_info.pingcount_arg); printf("pingquiet: %d\n", args_info.pingquiet_flag); + printf("norecovery: %d\n", args_info.norecovery_flag); } } @@ -861,6 +864,9 @@ int process_options(int argc, char **argv) { options.pingcount = args_info.pingcount_arg; options.pingquiet = args_info.pingquiet_flag; + /* norecovery */ + options.norecovery_given = args_info.norecovery_flag; + return 0; } @@ -1465,6 +1471,8 @@ int main(int argc, char **argv) memcpy(pdp->imeisv.v, options.imeisv.v, options.imeisv.l); pdp->imeisv_given = options.imeisv_given; + pdp->norecovery_given = options.norecovery_given; + if (options.apn.l > sizeof(pdp->apn_use.v)) { sys_err(LOG_ERR, __FILE__, __LINE__, 0, "APN length too big"); exit(1); |