diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2014-09-25 13:21:48 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-10-09 18:06:30 +0200 |
commit | b36032cb27292146bd652337cf5b63087b223e69 (patch) | |
tree | c40ba34f26f3d513940325a77d7bfc4dd5a912d7 /openbsc/src/gprs/gb_proxy_vty.c | |
parent | 6c3fdc10914562aea4e176794ab686db8a6e9599 (diff) |
gbproxy: Use a separate regexp for routing
Currently one regexp ('patching') is used for all matching.
This patch adds a second category 'routing' which is exclusively used
for SGSN selection. It also adds a corresponding VTY command:
- match-imsi patching RE : MS related patching (currently APN)
- match-imsi routing RE : Select secondary SGSN on match only
- no match-imsi : Clear all filter expressions
Ticket: OW#1258
Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/src/gprs/gb_proxy_vty.c')
-rw-r--r-- | openbsc/src/gprs/gb_proxy_vty.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/openbsc/src/gprs/gb_proxy_vty.c b/openbsc/src/gprs/gb_proxy_vty.c index fa0b09d5e..eb7eb600a 100644 --- a/openbsc/src/gprs/gb_proxy_vty.c +++ b/openbsc/src/gprs/gb_proxy_vty.c @@ -60,6 +60,7 @@ static const struct value_string keep_modes[] = { static const struct value_string match_ids[] = { {GBPROX_MATCH_PATCHING, "patching"}, + {GBPROX_MATCH_ROUTING, "routing"}, {0, NULL} }; @@ -199,15 +200,16 @@ DEFUN(cfg_gbproxy_no_core_mcc, DEFUN(cfg_gbproxy_match_imsi, cfg_gbproxy_match_imsi_cmd, - "match-imsi patching .REGEXP", + "match-imsi (patching|routing) .REGEXP", GBPROXY_MATCH_IMSI_STR - "Patch MS related information elements or route to secondary SGSN on match only\n" + "Patch MS related information elements on match only\n" + "Route to the secondary SGSN on match only\n" "Regular expression for the IMSI match\n") { - const char *filter = argv[0]; + const char *filter = argv[1]; const char *err_msg = NULL; struct gbproxy_match *match; - enum gbproxy_match_id match_id = get_string_value(match_ids, "patching"); + enum gbproxy_match_id match_id = get_string_value(match_ids, argv[0]); OSMO_ASSERT(match_id >= GBPROX_MATCH_PATCHING && match_id < GBPROX_MATCH_LAST); |