blob: 45ea93d5cb47f32e7ad9c7f92dd7d6314b243cb0 [file] [log] [blame]
Wei-Yu Chen450a98a2019-01-15 16:56:30 -08001---
Wei-Yu Chen53aec362019-01-18 16:30:33 -08002# Copyright 2018-present Open Networking Foundation
3# Copyright 2018 Intel Corporation
Wei-Yu Chen450a98a2019-01-15 16:56:30 -08004#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17apiVersion: v1
18kind: ConfigMap
19metadata:
Wei-Yu Chen450a98a2019-01-15 16:56:30 -080020 name: ngiccp-config
21data:
22 adc_rules.cfg: |
23 [GLOBAL]
24 NUM_ADC_RULES = 5
25
26 ;FORMAT ::
27 ;ADC_TYPE : [ DOMAIN = 0 | IP = 1 | IP PREFIX =2 ]
28 ;
29 ;if ADC_TYPE = 0
30 ; DOMAIN
31 ;elseif ADC_TYPE = 1
32 ; IP
33 ;elseif ADC_TYPE = 2
34 ; IP
35 ; PREFIX
36 ;else
37 ; NONE
38 ;
39 ;NOTE :
40 ;Rules defined first have a higher priority, unless DROP is specified
41 ;(i.e. multiple rules for the same IP).
42 ;When specifying DROP with an IP address, use a prefix of 32 to prevent DNS
43 ;results from overwriting rule.
44
45
46 [ADC_RULE_1]
47 ADC_TYPE = 2
48 IP = 0.0.0.0
49 PREFIX = 0
50
51 [ADC_RULE_2]
52 ADC_TYPE = 2
53 IP = 13.1.1.0
54 PREFIX = 24
55
56 [ADC_RULE_3]
57 ADC_TYPE = 1
58 IP = 13.1.1.254
59
60 [ADC_RULE_4]
61 ADC_TYPE = 0
62 DOMAIN = www.example.gov
63
64 [ADC_RULE_5]
65 ADC_TYPE = 0
66 DOMAIN = www.drop_example.com
67 cdr.cfg: |
68 CDR_PATH=./cdr
69 MASTER_CDR=./cdr/master.csv
70 cp_config.cfg: |
71 if [ ! -d "/dev/hugepages" ]; then
72 MEMORY="--no-huge -m $((MEM_LIMIT-1024))"
73 fi
74
75 SGW_S1U_IP=$(netstat -ie | grep -A1 s1u-net | tail -1 | awk '{print $2}' | tr -d addr:)
76 SHARED_DIR="/opt/ngic/config/shared"
77 if [ -d ${SHARED_DIR} ]; then
78 while [ ! -f ${SHARED_DIR}/SGW_S1U_IP ]; do echo "Waiting for SGW_S1U_IP"; sleep 2; done
79 SGW_S1U_IP=$(cat ${SHARED_DIR}/SGW_S1U_IP)
80 fi
81
82 SGW_S11_IP=$(hostname)
83 MGMT_INFO="-s ${SGW_S11_IP} -m ${MME_S11_IP} -w ${SGW_S1U_IP}"
84 APN_INFO="-i ${IP_POOL_IP} -p ${IP_POOL_MASK} -a ${APN}"
85 SPGW_CFG="-d 03 -l 2 -r 7.7.7.7 -g 6.6.6.6 -v 4.4.4.4 -u 5.5.5.5"
86
87 TEID_INFO="-t ${S11_TEID_POOL_START} -e ${S11_TEID_POOL_STOP} -q ${S1U_TEID_POOL_START} -o ${S1U_TEID_POOL_STOP}"
88 APP_ARGS="${MGMT_INFO} ${APN_INFO} ${SPGW_CFG} ${TEID_INFO}"
89
90 CORES="-c $(taskset -p $$ | awk '{print $NF}')"
91 DEVICES="--no-pci"
92 EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
93 dp_config.cfg: |
94 get_pcimac_addr () {
95 ifname=$1
96 cid="$(sed -ne '/hostname/p' /proc/1/task/1/mountinfo | awk -F '/' '{print $6}' |tr -d " " )"
97 cid="$cid-$ifname"
98 eval "export $2=$(awk -F '"' '{print $4}' /sriov-cni/$cid)"
99 eval "export $3=$(awk -F '"' '{print $8}' /sriov-cni/$cid)"
100 eval "export $4=$(awk -F '"' '{print $12}' /sriov-cni/$cid)"
101 }
102
103 if [ -d "/sriov-cni" ]; then
104 echo "================== SR-IOV FOUND ============"
105 get_pcimac_addr s1u-net SGW_S1U_PCI S1U_MAC SGW_S1U_IP
106 get_pcimac_addr sgi-net SGW_SGI_PCI SGI_MAC SGW_SGI_IP
107 DEVICES="-w $SGW_S1U_PCI -w $SGW_SGI_PCI"
108 SHARED_DIR="/opt/ngic/config/shared"
109 echo $SGW_S1U_IP > ${SHARED_DIR}/SGW_S1U_IP
110 else #dev --vdev af_packt
111 echo "vdev (AF_PACKET)"
112 # set the variables we provide
113 SGW_S1U_IP=$(netstat -ie | grep -A1 s1u-net | tail -1 | awk '{print $2}' | tr -d addr:)
114 SGW_SGI_IP=$(netstat -ie | grep -A1 sgi-net | tail -1 | awk '{print $2}' | tr -d addr:)
115 S1U_MAC=$( netstat -ie | grep -B1 $SGW_S1U_IP | head -n1 | awk '{print $5}' )
116 SGI_MAC=$( netstat -ie | grep -B1 $SGW_SGI_IP | head -n1 | awk '{print $5}' )
117
118 DEVICES="--no-pci --vdev eth_af_packet0,iface=s1u-net --vdev eth_af_packet1,iface=sgi-net"
119 fi
120
121 if [ ! -d "/dev/hugepages" ]; then
122 MEMORY="--no-huge -m $((MEM_LIMIT-1024))"
123 fi
124
125 CORES="-c $(taskset -p $$ | awk '{print $NF}')"
126 SPGW_CFG="--spgw_cfg 03"
127 EAL_ARGS="${CORES} ${MEMORY} ${DEVICES}"
128
129 S1U="--s1u_ip ${SGW_S1U_IP} --s1u_mac ${S1U_MAC}"
130 SGI="--sgi_ip ${SGW_SGI_IP} --sgi_mac ${SGI_MAC} --sgi_gw_ip ${RTR_SGI_IP} --sgi_mask ${SGI_MASK}"
131 WORKERS="--num_workers 1"
132 MISC="--log 1"
133 APP_ARGS="${S1U} ${SGI} ${WORKERS} ${MISC} ${SPGW_CFG}"
134 interface.cfg: |
135 [0]
Wei-Yu Chenda76c322019-01-18 13:31:55 -0800136 dp_comm_ip = {{ .Values.spgwu_hostname }}
137 dp_comm_port = {{ .Values.spgwu_port }}
Wei-Yu Chen450a98a2019-01-15 16:56:30 -0800138 cp_comm_ip = 127.0.0.1
139 cp_comm_port = 21
140 meter_profile.cfg: |
141 [GLOBAL]
142 NUM_OF_IDX = 7
143
144 [ENTRY_1]
145 ;Committed Information Rate (CIR). Measured in bytes per second.
146 ;MBR is mapped into CIR, convert MBR from bits to Bytes and set CIR.
147 CIR = 2342400
148 ;Committed Burst Size unit = Bytes
149 CBS = 5856
150 ;Excess Burst Size unit = Bytes
151 EBS = 11712
152 ;Meter profile index. Refer this index in static_pcc.cfg to set AMBR/MBR
153 MTR_PROFILE_IDX = 3
154
155 [ENTRY_2]
156 ;1200 = 1756800
157 ;1400 = 2049600
158 ;1600 = 2342400
159 CIR = 2342400
160 CBS = 5856
161 EBS = 11712
162 MTR_PROFILE_IDX = 4
163
164 [ENTRY_3]
165 ; QCI5,QCI7 15.571kbps = 1947 B
166 CIR = 2342400
167 CBS = 5856
168 EBS = 11712
169 MTR_PROFILE_IDX = 5
170
171 [ENTRY_4]
172 ; QCI1, 44kbps = 5500 B
173 CIR = 2342400
174 CBS = 5856
175 EBS = 11712
176 MTR_PROFILE_IDX = 6
177
178 [ENTRY_5]
179 ; QCI9, 31.143kbps = 3893 B
180 CIR = 2342400
181 CBS = 5856
182 EBS = 11712
183 MTR_PROFILE_IDX = 7
184
185 [ENTRY_6]
186 ; 128B, 7pps
187 CIR = 2342400
188 CBS = 512
189 EBS = 1024
190 MTR_PROFILE_IDX = 8
191
192 [ENTRY_7]
193 ; 128B, 2pps
194 CIR = 2342400
195 CBS = 512
196 EBS = 1024
197 MTR_PROFILE_IDX = 9
198
199 pcc_rules.cfg: |
200 [GLOBAL]
201 NUM_PCC_FILTERS = 9
202 ;To config AMBR/MBR values refer meter_profile.cfg. specify only the
203 ;meter profile index to be set here.
204 UL_AMBR_MTR_PROFILE_IDX = 3
205 DL_AMBR_MTR_PROFILE_IDX = 4
206
207 ;default filter - must be first for now (until DP doesn't install any filters)
208 ;associated with default adc rule
209 [PCC_FILTER_1]
210 RULE_NAME = DefaultRule
211 RATING_GROUP = 9
212 SERVICE_ID = 0
213 RULE_STATUS = 0
214 GATE_STATUS = 1
215 SESSION_CONT = 0
216 REPORT_LEVEL = 1
217 CHARGING_MODE = 0
218 METERING_METHOD = 0
219 MUTE_NOTIFY = 0
220 MONITORING_KEY = 0
221 SPONSOR_ID = 0
222 REDIRECT_INFO = 0
223 PRECEDENCE = 254
224 DROP_PKT_COUNT = 0
225 ;Specify the meter profile index from meter_profile.cfg
226 UL_MBR_MTR_PROFILE_IDX = 7
227 DL_MBR_MTR_PROFILE_IDX = 7
228 ;List of ADC filter indices
229 SDF_FILTER_IDX = 99998
230
231 [PCC_FILTER_2]
232 RULE_NAME = sdf_rule_1
233 RATING_GROUP = 5
234 SERVICE_ID = 0
235 RULE_STATUS = 0
236 GATE_STATUS = 1
237 SESSION_CONT = 0
238 REPORT_LEVEL = 2
239 CHARGING_MODE = 0
240 METERING_METHOD = 0
241 MUTE_NOTIFY = 0
242 MONITORING_KEY = 0
243 SPONSOR_ID = 0
244 REDIRECT_INFO = 0
245 PRECEDENCE = 1
246 DROP_PKT_COUNT = 0
247 UL_MBR_MTR_PROFILE_IDX = 5
248 DL_MBR_MTR_PROFILE_IDX = 5
249 ;List of SDF filter indices
250 SDF_FILTER_IDX = 1
251
252 [PCC_FILTER_3]
253 RULE_NAME = sdf_rule_2
254 RATING_GROUP = 1
255 SERVICE_ID = 0
256 RULE_STATUS = 0
257 GATE_STATUS = 1
258 SESSION_CONT = 0
259 REPORT_LEVEL = 3
260 CHARGING_MODE = 0
261 METERING_METHOD = 0
262 MUTE_NOTIFY = 0
263 MONITORING_KEY = 0
264 SPONSOR_ID = 0
265 REDIRECT_INFO = 0
266 PRECEDENCE = 18
267 DROP_PKT_COUNT = 0
268 UL_MBR_MTR_PROFILE_IDX = 6
269 DL_MBR_MTR_PROFILE_IDX = 6
270 ;List of SDF filter indices
271 SDF_FILTER_IDX = 2
272
273 [PCC_FILTER_4]
274 RULE_NAME = adc_rule_1
275 RATING_GROUP = Zero-Rate
276 SERVICE_ID = Internet
277 RULE_STATUS = 0
278 GATE_STATUS = 1
279 SESSION_CONT = 0
280 REPORT_LEVEL = 8
281 CHARGING_MODE = 0
282 METERING_METHOD = 0
283 MUTE_NOTIFY = 0
284 MONITORING_KEY = 0
285 REDIRECT_INFO = 0
286 SPONSOR_ID = Example
287 PRECEDENCE = 15
288 DROP_PKT_COUNT = 0
289 UL_MBR_MTR_PROFILE_IDX = 7
290 DL_MBR_MTR_PROFILE_IDX = 7
291 ;List of SDF filter indices
292 ADC_FILTER_IDX = 1
293
294 [PCC_FILTER_5]
295 RULE_NAME = adc_rule_2
296 RATING_GROUP = 0
297 SERVICE_ID = CIPA
298 RULE_STATUS = 0
299 GATE_STATUS = 1
300 SESSION_CONT = 0
301 REPORT_LEVEL = 9
302 CHARGING_MODE = 0
303 METERING_METHOD = 0
304 MUTE_NOTIFY = 0
305 MONITORING_KEY = 0
306 SPONSOR_ID = Example
307 REDIRECT_INFO = 0
308 SPONSOR_ID = Example
309 REDIRECT_INFO = 0
310 PRECEDENCE = 4
311 DROP_PKT_COUNT = 0
312 UL_MBR_MTR_PROFILE_IDX = 0
313 DL_MBR_MTR_PROFILE_IDX = 0
314 ;List of SDF filter indices
315 ADC_FILTER_IDX = 2
316
317 [PCC_FILTER_6]
318 RULE_NAME = sdf_rule_3
319 RATING_GROUP = 7
320 SERVICE_ID = 0
321 RULE_STATUS = 0
322 GATE_STATUS = 1
323 SESSION_CONT = 0
324 REPORT_LEVEL = 4
325 CHARGING_MODE = 0
326 METERING_METHOD = 0
327 MUTE_NOTIFY = 0
328 MONITORING_KEY = 0
329 SPONSOR_ID = 0
330 REDIRECT_INFO = 0
331 PRECEDENCE = 17
332 DROP_PKT_COUNT = 0
333 UL_MBR_MTR_PROFILE_IDX = 5
334 DL_MBR_MTR_PROFILE_IDX = 5
335 ;List of SDF filter indices
336 SDF_FILTER_IDX = 3
337
338 [PCC_FILTER_7]
339 RULE_NAME = adc_rule_3
340 RATING_GROUP = Zero-Rate
341 SERVICE_ID = Internet
342 RULE_STATUS = 0
343 GATE_STATUS = 1
344 SESSION_CONT = 0
345 REPORT_LEVEL = 5
346 CHARGING_MODE = 0
347 METERING_METHOD = 0
348 MUTE_NOTIFY = 0
349 MONITORING_KEY = 0
350 SPONSOR_ID = Example
351 REDIRECT_INFO = 0
352 PRECEDENCE = 210
353 DROP_PKT_COUNT = 0
354 UL_MBR_MTR_PROFILE_IDX = 7
355 DL_MBR_MTR_PROFILE_IDX = 7
356 ;List of SDF filter indices
357 ADC_FILTER_IDX = 4
358
359 [PCC_FILTER_8]
360 RULE_NAME = adc_rule_4
361 RATING_GROUP = Zero-Rate
362 SERVICE_ID = Management
363 RULE_STATUS = 0
364 GATE_STATUS = 1
365 SESSION_CONT = 0
366 REPORT_LEVEL = 6
367 CHARGING_MODE = 0
368 METERING_METHOD = 0
369 MUTE_NOTIFY = 0
370 MONITORING_KEY = 0
371 SPONSOR_ID = Example
372 REDIRECT_INFO = 0
373 PRECEDENCE = 200
374 DROP_PKT_COUNT = 0
375 UL_MBR_MTR_PROFILE_IDX = 7
376 DL_MBR_MTR_PROFILE_IDX = 7
377 ;List of SDF filter indices
378 ADC_FILTER_IDX = 12
379
380 [PCC_FILTER_9]
381 RULE_NAME = adc_rule_5
382 RATING_GROUP = Zero-Rate
383 SERVICE_ID = Provisioning
384 RULE_STATUS = 0
385 GATE_STATUS = 1
386 SESSION_CONT = 0
387 REPORT_LEVEL = 7
388 CHARGING_MODE = 0
389 METERING_METHOD = 0
390 MUTE_NOTIFY = 0
391 MONITORING_KEY = 0
392 SPONSOR_ID = Example
393 REDIRECT_INFO = 0
394 PRECEDENCE = 220
395 DROP_PKT_COUNT = 0
396 UL_MBR_MTR_PROFILE_IDX = 7
397 DL_MBR_MTR_PROFILE_IDX = 7
398 ;List of SDF filter indices
399 ADC_FILTER_IDX = 3
400 sdf_rules.cfg: |
401 [GLOBAL]
402 NUM_SDF_FILTERS = 4
403
404 [SDF_FILTER_1]
405 DIRECTION = downlink_only
406 IPV4_REMOTE = 13.2.1.113
407 IPV4_REMOTE_MASK = 255.255.255.0
408 PROTOCOL = 17
409 LOCAL_LOW_LIMIT_PORT = 0
410 LOCAL_HIGH_LIMIT_PORT = 65535
411 REMOTE_LOW_LIMIT_PORT = 0
412 REMOTE_HIGH_LIMIT_PORT = 65535
413
414 [SDF_FILTER_2]
415 DIRECTION = uplink_only
416 IPV4_LOCAL = 16.255.255.0
417 IPV4_LOCAL_MASK = 255.255.255.0
418 PROTOCOL = 17
419 LOCAL_LOW_LIMIT_PORT = 0
420 LOCAL_HIGH_LIMIT_PORT = 65535
421 REMOTE_LOW_LIMIT_PORT = 0
422 REMOTE_HIGH_LIMIT_PORT = 65535
423
424 [SDF_FILTER_3]
425 DIRECTION = downlink_only
426 IPV4_REMOTE = 130.10.0.0
427 IPV4_REMOTE_MASK = 255.255.0.0
428 PROTOCOL = 17
429 REMOTE_LOW_LIMIT_PORT = 5060
430 REMOTE_HIGH_LIMIT_PORT = 5060
431
432 [SDF_FILTER_4]
433 DIRECTION = uplink_only
434 IPV4_REMOTE = 103.1.0.0
435 IPV4_REMOTE_MASK = 255.255.0.0
436 PROTOCOL = 17
437 LOCAL_LOW_LIMIT_PORT = 17000
438 LOCAL_HIGH_LIMIT_PORT = 17010
439
440---
441apiVersion: v1
442kind: ConfigMap
443metadata:
Wei-Yu Chen450a98a2019-01-15 16:56:30 -0800444 name: cassandra
445data:
446 cassandra-rackdc.properties: |
447 dc=DC1
448 rack=RAC1
449 prefer_local=true
450---
451apiVersion: v1
452kind: ConfigMap
453metadata:
Wei-Yu Chen450a98a2019-01-15 16:56:30 -0800454 name: hss
455data:
456 acl.conf: |
457 ALLOW_OLD_TLS *.cluster.local
458 hss.conf: |
459 # -------- Local ---------
460 # The first parameter in this section is Identity, which will be used to
461 # identify this peer in the Diameter network. The Diameter protocol mandates
462 # that the Identity used is a valid FQDN for the peer. This parameter can be
463 # omitted, in that case the framework will attempt to use system default value
464 # (as returned by hostname --fqdn).
465 Identity = "HSS_IDENTITY";
466
467 # In Diameter, all peers also belong to a Realm. If the realm is not specified,
468 # the framework uses the part of the Identity after the first dot.
469 Realm = "HSS_REALM";
470
471
472 # This parameter is mandatory, even if it is possible to disable TLS for peers
473 # connections. A valid certificate for this Diameter Identity is expected.
474 TLS_Cred = "./conf/HSS_HOST.cert.pem", "./conf/HSS_HOST.key.pem";
475 TLS_CA = "./conf/cacert.pem";
476
477
478 # Disable use of TCP protocol (only listen and connect in SCTP)
479 # Default : TCP enabled
480 No_SCTP;
481
482
483 # This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
484 # Prefer TCP instead of SCTP for establishing new connections.
485 # This setting may be overwritten per peer in peer configuration blocs.
486 # Default : SCTP is attempted first.
487 Prefer_TCP;
488
489
490 # Disable use of IPv6 addresses (only IP)
491 # Default : IPv6 enabled
492 No_IPv6;
493
494
495 # Overwrite the number of SCTP streams. This value should be kept low,
496 # especially if you are using TLS over SCTP, because it consumes a lot of
497 # resources in that case. See tickets 19 and 27 for some additional details on
498 # this.
499 # Limit the number of SCTP streams
500 SCTP_streams = 3;
501
502
503 # By default, freeDiameter acts as a Diameter Relay Agent by forwarding all
504 # messages it cannot handle locally. This parameter disables this behavior.
505 NoRelay;
506
507
508 # Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
509 # on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
510 # CER/CEA exchange on a dedicated secure port.
511 # This parameter only affects outgoing connections.
512 # The setting can be also defined per-peer (see Peers configuration section).
513 # Default: use RFC6733 method with separate port for TLS.
514
515 #TLS_old_method;
516
517
518 # Number of parallel threads that will handle incoming application messages.
519 # This parameter may be deprecated later in favor of a dynamic number of threads
520 # depending on the load.
521 AppServThreads = 4;
522
523 # Specify the addresses on which to bind the listening server. This must be
524 # specified if the framework is unable to auto-detect these addresses, or if the
525 # auto-detected values are incorrect. Note that the list of addresses is sent
526 # in CER or CEA message, so one should pay attention to this parameter if some
527 # adresses should be kept hidden.
528 #ListenOn = "127.0.0.1";
529
530 Port = {{ .Values.hss.ports.s6a }};
531 SecPort = {{ .Values.hss.ports.secs6a }};
532
533 LoadExtension = "acl_wl.fdx" : "./conf/acl.conf";
534
535 # -------- Extensions ---------
536
537 #LoadExtension = "/usr/local/lib/freeDiameter/_sample.fdx";
538 #LoadExtension = "/usr/local/lib/freeDiameter/app_acct.fdx";
539 #LoadExtension = "/usr/local/lib/freeDiameter/app_diameap.fdx";
540 #LoadExtension = "/usr/local/lib/freeDiameter/app_radgw.fdx";
541 #LoadExtension = "/usr/local/lib/freeDiameter/app_redirect.fdx";
542 #LoadExtension = "/usr/local/lib/freeDiameter/app_sip.fdx";
543 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_interactive.fdx";
544 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_monitor.fdx";
545 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_msg_dumps.fdx";
546 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_msg_timings.fdx";
547 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_rt.fdx";
548 LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
549 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CreditControl.fdx";
550 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CxDx.fdx";
551 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Gx.fdx";
552 #LoadExtension = "/usr/local/lib/freeDiameter/dict_NAS.fdx";
553 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Ro.fdx";
554 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rx.fdx";
555 #LoadExtension = "/usr/local/lib/freeDiameter/dict_S6mS6n.fdx";
556 #LoadExtension = "/usr/local/lib/freeDiameter/dict_SGd.fdx";
557 #LoadExtension = "/usr/local/lib/freeDiameter/dict_SLh.fdx";
558 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sd.fdx";
559 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sh.fdx";
560 #LoadExtension = "/usr/local/lib/freeDiameter/dict_T4.fdx";
561 #LoadExtension = "/usr/local/lib/freeDiameter/dict_T6aT6bT7.fdx";
562 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Tsp.fdx";
563 #LoadExtension = "/usr/local/lib/freeDiameter/dict_dcca.fdx";
564 #LoadExtension = "/usr/local/lib/freeDiameter/dict_dcca_3gpp.fdx";
565 #LoadExtension = "/usr/local/lib/freeDiameter/dict_dcca_starent.fdx";
566 LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
567 #LoadExtension = "/usr/local/lib/freeDiameter/dict_eap.fdx";
568 LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
569 #LoadExtension = "/usr/local/lib/freeDiameter/dict_legacy_xml.fdx";
570 #LoadExtension = "/usr/local/lib/freeDiameter/dict_mip6a.fdx";
571 #LoadExtension = "/usr/local/lib/freeDiameter/dict_mip6i.fdx";
572 #LoadExtension = "/usr/local/lib/freeDiameter/dict_nas_mipv6.fdx";
573 #LoadExtension = "/usr/local/lib/freeDiameter/dict_nasreq.fdx";
574 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
575 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
576 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
577 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
578 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
579 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
580 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
581 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
582 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
583 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
584 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
585 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
586 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
587 #LoadExtension = "/usr/local/lib/freeDiameter/dict_sip.fdx";
588 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
589 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
590 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
591 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
592 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
593 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
594 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
595 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
596 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
597 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
598 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
599 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
600 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
601 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
602 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
603 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
604 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
605 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
606 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
607 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
608 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
609 #LoadExtension = "/usr/local/lib/freeDiameter/rt_busypeers.fdx";
610 #LoadExtension = "/usr/local/lib/freeDiameter/rt_default.fdx";
611 #LoadExtension = "/usr/local/lib/freeDiameter/rt_ereg.fdx";
612 #LoadExtension = "/usr/local/lib/freeDiameter/rt_ignore_dh.fdx";
613 #LoadExtension = "/usr/local/lib/freeDiameter/rt_load_balance.fdx";
614 #LoadExtension = "/usr/local/lib/freeDiameter/rt_randomize.fdx";
615 #LoadExtension = "/usr/local/lib/freeDiameter/rt_redirect.fdx";
616 #LoadExtension = "/usr/local/lib/freeDiameter/test_acct.fdx";
617 #LoadExtension = "/usr/local/lib/freeDiameter/test_app.fdx";
618 #LoadExtension = "/usr/local/lib/freeDiameter/test_hss.fdx";
619 #LoadExtension = "/usr/local/lib/freeDiameter/test_netemul.fdx";
620 #LoadExtension = "/usr/local/lib/freeDiameter/test_rt_any.fdx";
621 #LoadExtension = "/usr/local/lib/freeDiameter/test_sip.fdx";
622 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rf.fdx";
623 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
624 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
625 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
626
627
628 # Load RFC4072 dictionary objects
629 #LoadExtension = "dict_eap.fdx";
630
631 # Load the Diameter EAP server extension (requires diameap.conf)
632 #LoadExtension = "app_diameap.fdx" : "diameap.conf";
633
634 # Load the Accounting Server extension (requires app_acct.conf)
635 #LoadExtension = "app_acct.fdx" : "app_acct.conf";
636
637 # -------- Peers ---------
638
639 # The framework will actively attempt to establish and maintain a connection
640 # with the peers listed here.
641 # For only accepting incoming connections, see the acl_wl.fx extension.
642
643 #ConnectPeer = "peer1.localdomain" { ConnectTo = "127.0.0.1"; };
644 hss.json: |
645 {"common": {
646 "fdcfg": "conf/hss.conf",
647 "originhost": "HSS_IDENTITY",
648 "originrealm": "HSS_REALM"
649 },
650 "hss": {
651 "gtwhost": "*",
652 "gtwport" : 9080,
653 "restport" : 9081,
654 "casssrv": "CASSANDRA_ADDR",
655 "cassusr": "root",
656 "casspwd": "root",
657 "cassdb" : "vhss",
658 "randv" : true,
659 "optkey" : "63bfa50ee6523365ff14c1f45f88737d",
660 "reloadkey" : true
661 }
662 }
663 launch.sh: |
664 #!/bin/bash
665
666 cd /opt/c3po/hss
667 cp /etc/hss/conf/{acl.conf,hss.json,hss.conf} conf
668
669 HSS_HOST=$(hostname)
670 HSS_DOMAIN=$(dnsdomainname)
671 CASSANDRA_ADDR=${CASSANDRA_ADDR:-localhost}
672
673 # from hss.json
674 sed -i "s/HSS_IDENTITY/$HSS_HOST.$HSS_DOMAIN/g" conf/hss.json
675 sed -i "s/HSS_REALM/$HSS_DOMAIN/g" conf/hss.json
676 sed -i "s/CASSANDRA_ADDR/$CASSANDRA_ADDR/g" conf/hss.json
677
678 # from hss.conf
679 sed -i "s/HSS_IDENTITY/$HSS_HOST.$HSS_DOMAIN/g" conf/hss.conf
680 sed -i "s/HSS_REALM/$HSS_DOMAIN/g" conf/hss.conf
681 sed -i "s/HSS_HOST/$HSS_HOST/g" conf/hss.conf
682
683 # If necessary, calculate the OPc value for each UE (User Equipment).
684 #./bin/hss -j conf/hss.json --onlyloadkey
685
686 cd conf
687 make_certs.sh $(hostname) $(dnsdomainname)
688 cd ..
689
690 # finally, launch
691 hss -j conf/hss.json
692---
693apiVersion: v1
694kind: ConfigMap
695metadata:
Wei-Yu Chen450a98a2019-01-15 16:56:30 -0800696 name: mme
697data:
698 launch.sh: |
699 #!/bin/bash
700
701 cd /opt/c3po/mme/bin
702 cp /etc/mme/conf/{vbsm_cfg.txt,vbfd.conf} .
703
704 # from vbsm_cfg.txt
705 SGW_S11_IP=${SGW_S11_IP:-sgw.localdomain}
706 ENB_S1AP_IP=${ENB_S1AP_IP:-enb1.localdomain}
707 ENB_S1AP_PORT=${ENB_S1AP_PORT:-36412}
708 MME_ETH0_IP=${MME_ETH0_IP:-0.0.0.0}
709
710 # from vbfd.conf
711 CONNECT_PEER=${CONNECT_PEER:-hss.localdomain}
712 HSS_S6A_IP=${HSS_S6A_IP:-hss.localdomain}
713 HSS_PORT=${HSS_PORT:-3868}
714 VAR_HSS_REALM=${VAR_HSS_REALM:-openair4G.eur}
715
716
717 sed -i "s/SGW_S11_IP/$(dig $SGW_S11_IP +short)/g" vbsm_cfg.txt
718 sed -i "s/ENB_S1AP_IP/$ENB_S1AP_IP/g" vbsm_cfg.txt
719 sed -i "s/ENB_S1AP_PORT/$ENB_S1AP_PORT/g" vbsm_cfg.txt
720 sed -i "s/MME_ETH0_IP/$MME_ETH0_IP/g" vbsm_cfg.txt
721 sed -i "s/VAR_HSS_HOST/$CONNECT_PEER/g" vbsm_cfg.txt
722 sed -i "s/VAR_HSS_REALM/$VAR_HSS_REALM/g" vbsm_cfg.txt
723
724
725 MME_HOST=$(hostname)
726 MME_DOMAIN=$(dnsdomainname)
727 sed -i "s/CONNECT_PEER/$CONNECT_PEER/g" vbfd.conf
728 sed -i "s/HSS_S6A_IP/$HSS_S6A_IP/g" vbfd.conf
729 sed -i "s/HSS_PORT/$HSS_PORT/g" vbfd.conf
730 sed -i "s/MME_IDENTITY/$MME_HOST.$MME_DOMAIN/g" vbfd.conf
731 sed -i "s/MME_REALM/$MME_DOMAIN/g" vbfd.conf
732 sed -i "s/MME_HOST/$MME_HOST/g" vbfd.conf
733
734 # generate the certs
735 # ./make_certs.sh mme localdomain
736 ./make_certs.sh $MME_HOST $MME_DOMAIN
737
738
739 # finally, launch
740 ./vb_acc
741 vbfd.conf: |
742 # -------- Test configuration ---------
743
744 # Identity = "<diameter_host>.<diameter_realm>";
745 Identity = "MME_IDENTITY";
746 Realm = "MME_REALM";
747 # Port = 3868;
748 # SecPort = 3869;
749
750 ConnectPeer = "CONNECT_PEER" { ConnectTo = "HSS_S6A_IP"; No_TLS; port = HSS_PORT; };
751
752 # TLS_Cred = "<diameter_host>.cert.pem", "<diameter_host>.key.pem";
753 TLS_Cred = "MME_HOST.cert.pem",
754 "MME_HOST.key.pem";
755 TLS_CA = "cacert.pem";
756
757 LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
758 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CreditControl.fdx";
759 #LoadExtension = "/usr/local/lib/freeDiameter/dict_base_rfc6733.fdx";
760 LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
761 LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
762 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
763 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
764 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
765 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
766 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
767 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
768 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
769 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
770 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
771 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
772 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
773 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
774 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
775 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
776 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
777 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
778 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
779 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
780 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
781 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
782 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
783 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
784 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
785 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
786 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
787 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
788 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
789 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
790 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
791 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
792 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
793 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
794 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
795 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
796 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CxDx.fdx";
797 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Gx.fdx";
798 #LoadExtension = "/usr/local/lib/freeDiameter/dict_NAS.fdx";
799 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rf.fdx";
800 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Ro.fdx";
801 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rx.fdx";
802 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
803 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
804 #LoadExtension = "/usr/local/lib/freeDiameter/dict_S6mS6n.fdx";
805 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
806 #LoadExtension = "/usr/local/lib/freeDiameter/dict_S9.fdx";
807 LoadExtension = "/usr/local/lib/freeDiameter/dict_SGd.fdx";
808 #LoadExtension = "/usr/local/lib/freeDiameter/dict_SLh.fdx";
809 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sd.fdx";
810 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sh.fdx";
811 #LoadExtension = "/usr/local/lib/freeDiameter/dict_T4.fdx";
812 LoadExtension = "/usr/local/lib/freeDiameter/dict_T6aT6bT7.fdx";
813 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Tsp.fdx";
814 vbsm_cfg.txt: |
815 # Configuration file for MME
816
817 ##### NOTE: Please Do NOT change the order of the parameters #####
818
819 # EGTP related
820 VBSM_EG_DFLT_PORT 2123 # EGTP Default port
821 VBSM_EG_NONDFLT_PORT 2124 # EGTP Non Default port
822 VBSM_EG_S10_NONDFLT_PORT 2125 # EGTP Non Default
823 VBSM_EG_S3_NONDFLT_PORT 2126 # EGTP Non Default port for S3 interface towards SGSN
824 # port for S10
825 VBSM_EG_DFLT_HOST_NAME "sutlej.ccin.ccpu.com" # EGTP host name
826
827
828 # E-NodeB related
829 VBSM_ENB_ADDR_1 "ENB_S1AP_IP" # IP address of eNodeB
830 VBSM_ENB_PORT_1 "ENB_S1AP_PORT" # eNodeB port
831 #VBSM_ENB_ADDR_2 "172.26.20.180" # IP address of eNodeB
832 #VBSM_ENB_PORT_2 36422 # eNodeB port
833
834 # MME related
835 VBSM_MME_IPADDR "MME_ETH0_IP" # MME IP address
836 VBSM_MME_S1AP_IPADDR "MME_ETH0_IP" # MME IP address associated with the S1AP interface
837 VBSM_MME_EGTP_IPADDR "MME_ETH0_IP" # MME IP address associated with the EGTP interface
838 VBSM_MME_SCTP_PORT {{ .Values.mme.ports.s1ap }} # MME SCTP port
839
840 VBSM_SGW_IPADDR "SGW_S11_IP" # SGW IP address
841 VBSM_PGW_IPADDR "192.168.1.105" # PDN-GW IP address
842
843 VBSM_UE_NUM 1000 # Support 1000 UE's
844 VBSM_SCTP_UDP_SERV_TYPE 0 #service type,default 0 SCTP
845
846 # Debug mask to be set; each represent
847 #different debug masks to be set (1 and 0 to unset)
848 #in the form |LVB_DBGMASK_INFO|LVB_DBGMASK_ERROR|LVB_DBGMASK_TRC|LVB_DBGMASK_MEM
849
850 VBSM_MME_DBG_MASK 1111
851 VBSM_DBG_MASK 1111
852 VBSM_NW_INIATED_DETACH_TIMER 1000
853
854 VBSM_MCC_DIG1 3
855 VBSM_MCC_DIG2 0
856 VBSM_MCC_DIG3 2
857
858 VBSM_MNC_DIG1 7
859 VBSM_MNC_DIG2 2
860 VBSM_MNC_DIG3 0
861
862 # Target PLMN ID format [ MCC + MNC], + is concatination operator
863 # If MNC has two digits, the last charater shall be 'f'
864 # Valid Configurations: 11223f, 112345.
865 VBSM_TARGET_MME_PLMN_ID 31310f
866 VBSM_TARGET_MME_IP_ADDR "192.25.1.100"
867
868 VBSM_T3412 32
869
870 VBSM_SGSN_IP_ADDR "192.25.1.195"
871
872
873 VBSM_SGSN_PLMN_ID 31311f
874
875 VBSM_FD_CFG "vbfd.conf"
876 VBSM_HSS_HOST "VAR_HSS_HOST"
877 VBSM_HSS_REALM "VAR_HSS_REALM"
878
879 # set VBSM_DISABLE_EPC_DNS 0 - enable DNS, 1 - disable DNS
880 VBSM_DISABLE_EPC_DNS 1
881 VBSM_DISABLE_EIA0 1
882 VBSM_REL_CAP 1
883 VBSM_MME_NAME "vmmestandalone"
884 VBSM_S1C_SCTP_INSTREAMS 10
885 VBSM_S1C_SCTP_OUTSTREAMS 10
886 VBSM_MAX_ENB 2
887 VBSM_NO_OFGUMMEIS 1
888 VBSM_MMECODE 1
889 VBSM_MMEGRPID 1
890 VBSM_NO_OF_TAI 1
891 VBSM_TAI_LIST {{"{{ 1,2,0,8,0,1,1 }}"}}
892
893 VBSM_SMS_ROUTER_HOST "smsrouter.test3gpp.net"
894 VBSM_SMS_ROUTER_REALM "test3gpp.net"