blob: 26b226efadd1800ee56fd3f732a6959e637a98e5 [file] [log] [blame]
Wei-Yu Chen450a98a2019-01-15 16:56:30 -08001---
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16apiVersion: v1
17kind: ConfigMap
18metadata:
19 namespace: {{ .Values.namespace }}
20 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]
136 dp_comm_ip = ngic-dp-0.ngic-dp.{{ .Values.namespace }}.cluster.global
137 dp_comm_port = 20
138 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:
444 namespace: {{ .Values.namespace }}
445 name: cassandra
446data:
447 cassandra-rackdc.properties: |
448 dc=DC1
449 rack=RAC1
450 prefer_local=true
451---
452apiVersion: v1
453kind: ConfigMap
454metadata:
455 namespace: {{ .Values.namespace }}
456 name: hss
457data:
458 acl.conf: |
459 ALLOW_OLD_TLS *.cluster.local
460 hss.conf: |
461 # -------- Local ---------
462 # The first parameter in this section is Identity, which will be used to
463 # identify this peer in the Diameter network. The Diameter protocol mandates
464 # that the Identity used is a valid FQDN for the peer. This parameter can be
465 # omitted, in that case the framework will attempt to use system default value
466 # (as returned by hostname --fqdn).
467 Identity = "HSS_IDENTITY";
468
469 # In Diameter, all peers also belong to a Realm. If the realm is not specified,
470 # the framework uses the part of the Identity after the first dot.
471 Realm = "HSS_REALM";
472
473
474 # This parameter is mandatory, even if it is possible to disable TLS for peers
475 # connections. A valid certificate for this Diameter Identity is expected.
476 TLS_Cred = "./conf/HSS_HOST.cert.pem", "./conf/HSS_HOST.key.pem";
477 TLS_CA = "./conf/cacert.pem";
478
479
480 # Disable use of TCP protocol (only listen and connect in SCTP)
481 # Default : TCP enabled
482 No_SCTP;
483
484
485 # This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
486 # Prefer TCP instead of SCTP for establishing new connections.
487 # This setting may be overwritten per peer in peer configuration blocs.
488 # Default : SCTP is attempted first.
489 Prefer_TCP;
490
491
492 # Disable use of IPv6 addresses (only IP)
493 # Default : IPv6 enabled
494 No_IPv6;
495
496
497 # Overwrite the number of SCTP streams. This value should be kept low,
498 # especially if you are using TLS over SCTP, because it consumes a lot of
499 # resources in that case. See tickets 19 and 27 for some additional details on
500 # this.
501 # Limit the number of SCTP streams
502 SCTP_streams = 3;
503
504
505 # By default, freeDiameter acts as a Diameter Relay Agent by forwarding all
506 # messages it cannot handle locally. This parameter disables this behavior.
507 NoRelay;
508
509
510 # Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
511 # on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
512 # CER/CEA exchange on a dedicated secure port.
513 # This parameter only affects outgoing connections.
514 # The setting can be also defined per-peer (see Peers configuration section).
515 # Default: use RFC6733 method with separate port for TLS.
516
517 #TLS_old_method;
518
519
520 # Number of parallel threads that will handle incoming application messages.
521 # This parameter may be deprecated later in favor of a dynamic number of threads
522 # depending on the load.
523 AppServThreads = 4;
524
525 # Specify the addresses on which to bind the listening server. This must be
526 # specified if the framework is unable to auto-detect these addresses, or if the
527 # auto-detected values are incorrect. Note that the list of addresses is sent
528 # in CER or CEA message, so one should pay attention to this parameter if some
529 # adresses should be kept hidden.
530 #ListenOn = "127.0.0.1";
531
532 Port = {{ .Values.hss.ports.s6a }};
533 SecPort = {{ .Values.hss.ports.secs6a }};
534
535 LoadExtension = "acl_wl.fdx" : "./conf/acl.conf";
536
537 # -------- Extensions ---------
538
539 #LoadExtension = "/usr/local/lib/freeDiameter/_sample.fdx";
540 #LoadExtension = "/usr/local/lib/freeDiameter/app_acct.fdx";
541 #LoadExtension = "/usr/local/lib/freeDiameter/app_diameap.fdx";
542 #LoadExtension = "/usr/local/lib/freeDiameter/app_radgw.fdx";
543 #LoadExtension = "/usr/local/lib/freeDiameter/app_redirect.fdx";
544 #LoadExtension = "/usr/local/lib/freeDiameter/app_sip.fdx";
545 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_interactive.fdx";
546 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_monitor.fdx";
547 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_msg_dumps.fdx";
548 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_msg_timings.fdx";
549 #LoadExtension = "/usr/local/lib/freeDiameter/dbg_rt.fdx";
550 LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
551 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CreditControl.fdx";
552 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CxDx.fdx";
553 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Gx.fdx";
554 #LoadExtension = "/usr/local/lib/freeDiameter/dict_NAS.fdx";
555 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Ro.fdx";
556 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rx.fdx";
557 #LoadExtension = "/usr/local/lib/freeDiameter/dict_S6mS6n.fdx";
558 #LoadExtension = "/usr/local/lib/freeDiameter/dict_SGd.fdx";
559 #LoadExtension = "/usr/local/lib/freeDiameter/dict_SLh.fdx";
560 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sd.fdx";
561 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sh.fdx";
562 #LoadExtension = "/usr/local/lib/freeDiameter/dict_T4.fdx";
563 #LoadExtension = "/usr/local/lib/freeDiameter/dict_T6aT6bT7.fdx";
564 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Tsp.fdx";
565 #LoadExtension = "/usr/local/lib/freeDiameter/dict_dcca.fdx";
566 #LoadExtension = "/usr/local/lib/freeDiameter/dict_dcca_3gpp.fdx";
567 #LoadExtension = "/usr/local/lib/freeDiameter/dict_dcca_starent.fdx";
568 LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
569 #LoadExtension = "/usr/local/lib/freeDiameter/dict_eap.fdx";
570 LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
571 #LoadExtension = "/usr/local/lib/freeDiameter/dict_legacy_xml.fdx";
572 #LoadExtension = "/usr/local/lib/freeDiameter/dict_mip6a.fdx";
573 #LoadExtension = "/usr/local/lib/freeDiameter/dict_mip6i.fdx";
574 #LoadExtension = "/usr/local/lib/freeDiameter/dict_nas_mipv6.fdx";
575 #LoadExtension = "/usr/local/lib/freeDiameter/dict_nasreq.fdx";
576 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
577 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
578 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
579 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
580 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
581 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
582 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
583 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
584 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
585 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
586 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
587 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
588 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
589 #LoadExtension = "/usr/local/lib/freeDiameter/dict_sip.fdx";
590 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
591 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
592 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
593 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
594 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
595 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
596 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
597 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
598 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
599 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
600 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
601 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
602 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
603 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
604 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
605 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
606 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
607 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
608 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
609 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
610 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
611 #LoadExtension = "/usr/local/lib/freeDiameter/rt_busypeers.fdx";
612 #LoadExtension = "/usr/local/lib/freeDiameter/rt_default.fdx";
613 #LoadExtension = "/usr/local/lib/freeDiameter/rt_ereg.fdx";
614 #LoadExtension = "/usr/local/lib/freeDiameter/rt_ignore_dh.fdx";
615 #LoadExtension = "/usr/local/lib/freeDiameter/rt_load_balance.fdx";
616 #LoadExtension = "/usr/local/lib/freeDiameter/rt_randomize.fdx";
617 #LoadExtension = "/usr/local/lib/freeDiameter/rt_redirect.fdx";
618 #LoadExtension = "/usr/local/lib/freeDiameter/test_acct.fdx";
619 #LoadExtension = "/usr/local/lib/freeDiameter/test_app.fdx";
620 #LoadExtension = "/usr/local/lib/freeDiameter/test_hss.fdx";
621 #LoadExtension = "/usr/local/lib/freeDiameter/test_netemul.fdx";
622 #LoadExtension = "/usr/local/lib/freeDiameter/test_rt_any.fdx";
623 #LoadExtension = "/usr/local/lib/freeDiameter/test_sip.fdx";
624 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rf.fdx";
625 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
626 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
627 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
628
629
630 # Load RFC4072 dictionary objects
631 #LoadExtension = "dict_eap.fdx";
632
633 # Load the Diameter EAP server extension (requires diameap.conf)
634 #LoadExtension = "app_diameap.fdx" : "diameap.conf";
635
636 # Load the Accounting Server extension (requires app_acct.conf)
637 #LoadExtension = "app_acct.fdx" : "app_acct.conf";
638
639 # -------- Peers ---------
640
641 # The framework will actively attempt to establish and maintain a connection
642 # with the peers listed here.
643 # For only accepting incoming connections, see the acl_wl.fx extension.
644
645 #ConnectPeer = "peer1.localdomain" { ConnectTo = "127.0.0.1"; };
646 hss.json: |
647 {"common": {
648 "fdcfg": "conf/hss.conf",
649 "originhost": "HSS_IDENTITY",
650 "originrealm": "HSS_REALM"
651 },
652 "hss": {
653 "gtwhost": "*",
654 "gtwport" : 9080,
655 "restport" : 9081,
656 "casssrv": "CASSANDRA_ADDR",
657 "cassusr": "root",
658 "casspwd": "root",
659 "cassdb" : "vhss",
660 "randv" : true,
661 "optkey" : "63bfa50ee6523365ff14c1f45f88737d",
662 "reloadkey" : true
663 }
664 }
665 launch.sh: |
666 #!/bin/bash
667
668 cd /opt/c3po/hss
669 cp /etc/hss/conf/{acl.conf,hss.json,hss.conf} conf
670
671 HSS_HOST=$(hostname)
672 HSS_DOMAIN=$(dnsdomainname)
673 CASSANDRA_ADDR=${CASSANDRA_ADDR:-localhost}
674
675 # from hss.json
676 sed -i "s/HSS_IDENTITY/$HSS_HOST.$HSS_DOMAIN/g" conf/hss.json
677 sed -i "s/HSS_REALM/$HSS_DOMAIN/g" conf/hss.json
678 sed -i "s/CASSANDRA_ADDR/$CASSANDRA_ADDR/g" conf/hss.json
679
680 # from hss.conf
681 sed -i "s/HSS_IDENTITY/$HSS_HOST.$HSS_DOMAIN/g" conf/hss.conf
682 sed -i "s/HSS_REALM/$HSS_DOMAIN/g" conf/hss.conf
683 sed -i "s/HSS_HOST/$HSS_HOST/g" conf/hss.conf
684
685 # If necessary, calculate the OPc value for each UE (User Equipment).
686 #./bin/hss -j conf/hss.json --onlyloadkey
687
688 cd conf
689 make_certs.sh $(hostname) $(dnsdomainname)
690 cd ..
691
692 # finally, launch
693 hss -j conf/hss.json
694---
695apiVersion: v1
696kind: ConfigMap
697metadata:
698 namespace: {{ .Values.namespace }}
699 name: mme
700data:
701 launch.sh: |
702 #!/bin/bash
703
704 cd /opt/c3po/mme/bin
705 cp /etc/mme/conf/{vbsm_cfg.txt,vbfd.conf} .
706
707 # from vbsm_cfg.txt
708 SGW_S11_IP=${SGW_S11_IP:-sgw.localdomain}
709 ENB_S1AP_IP=${ENB_S1AP_IP:-enb1.localdomain}
710 ENB_S1AP_PORT=${ENB_S1AP_PORT:-36412}
711 MME_ETH0_IP=${MME_ETH0_IP:-0.0.0.0}
712
713 # from vbfd.conf
714 CONNECT_PEER=${CONNECT_PEER:-hss.localdomain}
715 HSS_S6A_IP=${HSS_S6A_IP:-hss.localdomain}
716 HSS_PORT=${HSS_PORT:-3868}
717 VAR_HSS_REALM=${VAR_HSS_REALM:-openair4G.eur}
718
719
720 sed -i "s/SGW_S11_IP/$(dig $SGW_S11_IP +short)/g" vbsm_cfg.txt
721 sed -i "s/ENB_S1AP_IP/$ENB_S1AP_IP/g" vbsm_cfg.txt
722 sed -i "s/ENB_S1AP_PORT/$ENB_S1AP_PORT/g" vbsm_cfg.txt
723 sed -i "s/MME_ETH0_IP/$MME_ETH0_IP/g" vbsm_cfg.txt
724 sed -i "s/VAR_HSS_HOST/$CONNECT_PEER/g" vbsm_cfg.txt
725 sed -i "s/VAR_HSS_REALM/$VAR_HSS_REALM/g" vbsm_cfg.txt
726
727
728 MME_HOST=$(hostname)
729 MME_DOMAIN=$(dnsdomainname)
730 sed -i "s/CONNECT_PEER/$CONNECT_PEER/g" vbfd.conf
731 sed -i "s/HSS_S6A_IP/$HSS_S6A_IP/g" vbfd.conf
732 sed -i "s/HSS_PORT/$HSS_PORT/g" vbfd.conf
733 sed -i "s/MME_IDENTITY/$MME_HOST.$MME_DOMAIN/g" vbfd.conf
734 sed -i "s/MME_REALM/$MME_DOMAIN/g" vbfd.conf
735 sed -i "s/MME_HOST/$MME_HOST/g" vbfd.conf
736
737 # generate the certs
738 # ./make_certs.sh mme localdomain
739 ./make_certs.sh $MME_HOST $MME_DOMAIN
740
741
742 # finally, launch
743 ./vb_acc
744 vbfd.conf: |
745 # -------- Test configuration ---------
746
747 # Identity = "<diameter_host>.<diameter_realm>";
748 Identity = "MME_IDENTITY";
749 Realm = "MME_REALM";
750 # Port = 3868;
751 # SecPort = 3869;
752
753 ConnectPeer = "CONNECT_PEER" { ConnectTo = "HSS_S6A_IP"; No_TLS; port = HSS_PORT; };
754
755 # TLS_Cred = "<diameter_host>.cert.pem", "<diameter_host>.key.pem";
756 TLS_Cred = "MME_HOST.cert.pem",
757 "MME_HOST.key.pem";
758 TLS_CA = "cacert.pem";
759
760 LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
761 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CreditControl.fdx";
762 #LoadExtension = "/usr/local/lib/freeDiameter/dict_base_rfc6733.fdx";
763 LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
764 LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
765 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
766 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
767 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
768 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
769 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
770 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
771 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
772 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
773 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
774 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
775 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
776 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
777 LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
778 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
779 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
780 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
781 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
782 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
783 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
784 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
785 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
786 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
787 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
788 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
789 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
790 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
791 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
792 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
793 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
794 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
795 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
796 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
797 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
798 LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
799 #LoadExtension = "/usr/local/lib/freeDiameter/dict_CxDx.fdx";
800 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Gx.fdx";
801 #LoadExtension = "/usr/local/lib/freeDiameter/dict_NAS.fdx";
802 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rf.fdx";
803 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Ro.fdx";
804 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Rx.fdx";
805 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
806 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
807 #LoadExtension = "/usr/local/lib/freeDiameter/dict_S6mS6n.fdx";
808 LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
809 #LoadExtension = "/usr/local/lib/freeDiameter/dict_S9.fdx";
810 LoadExtension = "/usr/local/lib/freeDiameter/dict_SGd.fdx";
811 #LoadExtension = "/usr/local/lib/freeDiameter/dict_SLh.fdx";
812 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sd.fdx";
813 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Sh.fdx";
814 #LoadExtension = "/usr/local/lib/freeDiameter/dict_T4.fdx";
815 LoadExtension = "/usr/local/lib/freeDiameter/dict_T6aT6bT7.fdx";
816 #LoadExtension = "/usr/local/lib/freeDiameter/dict_Tsp.fdx";
817 vbsm_cfg.txt: |
818 # Configuration file for MME
819
820 ##### NOTE: Please Do NOT change the order of the parameters #####
821
822 # EGTP related
823 VBSM_EG_DFLT_PORT 2123 # EGTP Default port
824 VBSM_EG_NONDFLT_PORT 2124 # EGTP Non Default port
825 VBSM_EG_S10_NONDFLT_PORT 2125 # EGTP Non Default
826 VBSM_EG_S3_NONDFLT_PORT 2126 # EGTP Non Default port for S3 interface towards SGSN
827 # port for S10
828 VBSM_EG_DFLT_HOST_NAME "sutlej.ccin.ccpu.com" # EGTP host name
829
830
831 # E-NodeB related
832 VBSM_ENB_ADDR_1 "ENB_S1AP_IP" # IP address of eNodeB
833 VBSM_ENB_PORT_1 "ENB_S1AP_PORT" # eNodeB port
834 #VBSM_ENB_ADDR_2 "172.26.20.180" # IP address of eNodeB
835 #VBSM_ENB_PORT_2 36422 # eNodeB port
836
837 # MME related
838 VBSM_MME_IPADDR "MME_ETH0_IP" # MME IP address
839 VBSM_MME_S1AP_IPADDR "MME_ETH0_IP" # MME IP address associated with the S1AP interface
840 VBSM_MME_EGTP_IPADDR "MME_ETH0_IP" # MME IP address associated with the EGTP interface
841 VBSM_MME_SCTP_PORT {{ .Values.mme.ports.s1ap }} # MME SCTP port
842
843 VBSM_SGW_IPADDR "SGW_S11_IP" # SGW IP address
844 VBSM_PGW_IPADDR "192.168.1.105" # PDN-GW IP address
845
846 VBSM_UE_NUM 1000 # Support 1000 UE's
847 VBSM_SCTP_UDP_SERV_TYPE 0 #service type,default 0 SCTP
848
849 # Debug mask to be set; each represent
850 #different debug masks to be set (1 and 0 to unset)
851 #in the form |LVB_DBGMASK_INFO|LVB_DBGMASK_ERROR|LVB_DBGMASK_TRC|LVB_DBGMASK_MEM
852
853 VBSM_MME_DBG_MASK 1111
854 VBSM_DBG_MASK 1111
855 VBSM_NW_INIATED_DETACH_TIMER 1000
856
857 VBSM_MCC_DIG1 3
858 VBSM_MCC_DIG2 0
859 VBSM_MCC_DIG3 2
860
861 VBSM_MNC_DIG1 7
862 VBSM_MNC_DIG2 2
863 VBSM_MNC_DIG3 0
864
865 # Target PLMN ID format [ MCC + MNC], + is concatination operator
866 # If MNC has two digits, the last charater shall be 'f'
867 # Valid Configurations: 11223f, 112345.
868 VBSM_TARGET_MME_PLMN_ID 31310f
869 VBSM_TARGET_MME_IP_ADDR "192.25.1.100"
870
871 VBSM_T3412 32
872
873 VBSM_SGSN_IP_ADDR "192.25.1.195"
874
875
876 VBSM_SGSN_PLMN_ID 31311f
877
878 VBSM_FD_CFG "vbfd.conf"
879 VBSM_HSS_HOST "VAR_HSS_HOST"
880 VBSM_HSS_REALM "VAR_HSS_REALM"
881
882 # set VBSM_DISABLE_EPC_DNS 0 - enable DNS, 1 - disable DNS
883 VBSM_DISABLE_EPC_DNS 1
884 VBSM_DISABLE_EIA0 1
885 VBSM_REL_CAP 1
886 VBSM_MME_NAME "vmmestandalone"
887 VBSM_S1C_SCTP_INSTREAMS 10
888 VBSM_S1C_SCTP_OUTSTREAMS 10
889 VBSM_MAX_ENB 2
890 VBSM_NO_OFGUMMEIS 1
891 VBSM_MMECODE 1
892 VBSM_MMEGRPID 1
893 VBSM_NO_OF_TAI 1
894 VBSM_TAI_LIST {{"{{ 1,2,0,8,0,1,1 }}"}}
895
896 VBSM_SMS_ROUTER_HOST "smsrouter.test3gpp.net"
897 VBSM_SMS_ROUTER_REALM "test3gpp.net"