-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
implement a "real" DNS response cache (#331)
* run a real DNS server for tests in gitlab-ci * doc * add prepare step to rebuild DNS server image * run node_selection suite with real DNS server * implement DNS response caching Use the cache also for static entries * CT: reduce log output in pgw SUITE
- Loading branch information
Showing
34 changed files
with
1,374 additions
and
348 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
FROM internetsystemsconsortium/bind9:9.11 | ||
|
||
COPY dns_data/* /etc/bind |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
REGISTRY="quay.io" | ||
BUILD_IMAGE="travelping/ergw-dns-test-server" | ||
|
||
docker buildx build \ | ||
-f Dockerfile \ | ||
--platform=linux/arm64,linux/amd64 -t ${REGISTRY}/${BUILD_IMAGE}:latest \ | ||
--push --no-cache . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
; | ||
; | ||
imsTV1.apn ( | ||
; IN NAPTR order pref. flag service regexp replacement | ||
IN NAPTR 100 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp" "" topoff.vip1.gw01.nodes ) | ||
IN NAPTR 200 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp" "" topoff.vip1.gw21.nodes | ||
IN NAPTR 300 999 "a" "x-3gpp-pgw:x-gn:x-gp" "" topoff.vip3.gw01.nodes | ||
IN NAPTR 400 999 "a" "x-3gpp-pgw:x-gn:x-gp" "" topoff.vip3.gw21.nodes | ||
; IN NAPTR 500 999 "a" "x-3gpp-pgw:x-s8-pmip" "" topoff.vip2.gw01.nodes | ||
; IN NAPTR 600 999 "a" "x-3gpp-pgw:x-s8-pmip" "" topoff.vip2.gw21.nodes | ||
|
||
; | ||
; Operator has imsTV1.apn using gw01.nodes when possible. Possibly one IMS core and video server | ||
; are closer to gw01.nodes than gw21.nodes | ||
; | ||
; Operator does not support PMIPv6 | ||
; The operator does support Gn/Gp | ||
|
||
|
||
imsTV2.apn ( | ||
; IN NAPTR order pref. flag service regexp replacement | ||
IN NAPTR 100 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp" "" topoff.vip1.gw21.nodes ) | ||
IN NAPTR 200 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp" "" topoff.vip1.gw01.nodes | ||
IN NAPTR 400 999 "a" "x-3gpp-pgw:x-gn:x-gp" "" topoff.vip3.gw01.nodes | ||
IN NAPTR 300 999 "a" "x-3gpp-pgw:x-gn:x-gp" "" topoff.vip3.gw21.nodes | ||
; IN NAPTR 600 999 "a" "x-3gpp-pgw:x-s8-pmip" "" topoff.vip2.gw01.nodes | ||
; IN NAPTR 500 999 "a" "x-3gpp-pgw:x-s8-pmip" "" topoff.vip2.gw21.nodes | ||
; | ||
; This is almost the same as imsTV1. | ||
; However, NAPTR order values for a particular interface type are reverse in comparision | ||
; to imsTV1.apn | ||
; | ||
; Operator has imsTV2.apn using gw21.nodes when possible. | ||
|
||
|
||
topo.apn ( | ||
; IN NAPTR order pref. flag service regexp replacement | ||
IN NAPTR 100 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp" "" topon.vip1.gw21.nodes ) | ||
IN NAPTR 200 999 "a" "x-3gpp-pgw:x-s5-gtp:x-s8-gtp" "" topon.vip1.gw01.nodes | ||
IN NAPTR 400 999 "a" "x-3gpp-pgw:x-gn:x-gp" "" topon.vip3.gw01.nodes | ||
IN NAPTR 300 999 "a" "x-3gpp-pgw:x-gn:x-gp" "" topon.vip3.gw21.nodes | ||
|
||
; Obviously more APN would exist for a real operator | ||
|
||
; | ||
; end of file |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
$ORIGIN epc.mnc990.mcc311.3gppnetwork.org. | ||
; | ||
$TTL 3600 ; 1 hour - this directive is defined in IETF RFC 2308 not RFC 1035 | ||
; | ||
$INCLUDE /etc/bind/SOA_DB.txt | ||
; | ||
$INCLUDE /etc/bind/CS_MME_DB.txt | ||
; | ||
$INCLUDE /etc/bind/CS_SGW_PGW_NODE_DB.txt | ||
; | ||
$INCLUDE /etc/bind/CS_TAI_DB.txt | ||
; | ||
$INCLUDE /etc/bind/CS_APN_DB.txt | ||
; | ||
; End of file |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
; | ||
; This is the GUTI related record and the MME node record | ||
; The operator has decided to use the 3GPP name as the canononical node name of the MME | ||
; rather than having two records (the 3GPP one and an operator defined value) | ||
; | ||
mmec01.mmegi8001.mme ( | ||
; IN NAPTR order pref. flag service regexp replacement | ||
IN NAPTR 100 999 "a" "x-3gpp-mme:x-s10" "" topoff.eth1.mmec01.mmegi8001.mme ) | ||
IN NAPTR 200 999 "a" "x-3gpp-mme:x-s11" "" topoff.eth3.mmec01.mmegi8001.mme | ||
; IN NAPTR 300 999 "a" "x-3gpp-mme:x-s3" "" topoff.eth5.mmec01.mmegi8001.mme | ||
; IN NAPTR 400 999 "a" "x-3gpp-mme:x-gn" "" topoff.eth6.mmec01.mmegi8001.mme | ||
; IN NAPTR 500 999 "a" "x-3gpp-mme:x-s1-mme" "" topoff.eth7.mmec01.mmegi8001.mme | ||
|
||
; This particular operator only supports LTE access in their accesses etc. | ||
; So the S3 record is commented out above. If the operator wants the MME to be used with S3/S4 | ||
; SGSN nodes then the record would have to be included. | ||
; The Gn/Gp interface is commented out for same reason. This operator does not support it. | ||
; If the operator wants the MME to be used for Gn/Gp SGSN interworking | ||
; then the record would have to be included. | ||
; | ||
; Reminder: Canonical node name records must be complete. | ||
; However, "x-3gpp-mme:x-s1-mme" is an exception. | ||
; While S1-MME interface must be physically present and used in a MME | ||
; it is explicitly optional for an operator to provision in this release of 3GPP | ||
;. So it too is commented out | ||
|
||
; NAPTR order plays no major role in this particular example since the MME node is already | ||
; selected in GUTI case and as a canonical node name. In most cases the interface type | ||
;(S10 vs S11 etc) is functionally determined so the NAPTR order is rarely used in this record set | ||
; If the S3 and Gn records were not commented out the S10 is preferred over S3 over Gn | ||
; I.e. a combined MME/SGSN could communicate to the MME above using any of the three protocols | ||
; at context transfer. | ||
; So the operator is stating that S10 is preferred over S3 over Gn | ||
; | ||
; Of course if the MME had multiple S10 interfaces | ||
; the operator could provision more than one S10 record with different orders | ||
; perhaps to select S10 IPv6 over S10 IPv4 | ||
|
||
|
||
; We have the same type of records for the other MME (same comments would apply) | ||
|
||
; | ||
mmec02.mmegi8001.mme ( | ||
; IN NAPTR order pref. flag service regexp replacement | ||
IN NAPTR 100 999 "a" "x-3gpp-mme:x-s10" "" topoff.eth1.mmec02.mmegi8001.mme ) | ||
IN NAPTR 200 999 "a" "x-3gpp-mme:x-s11" "" topoff.eth3.mmec02.mmegi8001.mme | ||
; IN NAPTR 300 999 "a" "x-3gpp-mme:x-s3" "" topoff.eth5.mmec02.mmegi8001.mme | ||
IN NAPTR 400 999 "a" "x-3gpp-mme:x-gn" "" topoff.eth6.mmec02.mmegi8001.mme | ||
; IN NAPTR 500 999 "a" "x-3gpp-mme:x-s1-mme" "" topoff.eth7.mmec02.mmegi8001.mme | ||
; | ||
; | ||
; All MME IP addresses for both MME | ||
; | ||
topoff.eth1.mmec01.mmegi8001.mme IN A 192.0.2.11 | ||
IN A 192.0.2.12 | ||
IN AAAA 2001:db8:0:0:0:0:0:0 | ||
IN AAAA 2001:db8:0:1:0:0:0:0 | ||
topoff.eth3.mmec01.mmegi8001.mme IN A 192.0.2.13 | ||
IN A 192.0.2.14 | ||
IN AAAA 2001:db8:0:2:0:0:0:0 | ||
IN AAAA 2001:db8:0:3:0:0:0:0 | ||
topoff.eth1.mmec02.mmegi8001.mme IN A 192.0.2.17 | ||
IN A 192.0.2.18 | ||
IN AAAA 2001:db8:0:6:0:0:0:0 | ||
IN AAAA 2001:db8:0:7:0:0:0:0 | ||
topoff.eth3.mmec02.mmegi8001.mme IN A 192.0.2.19 | ||
IN A 192.0.2.110 | ||
IN AAAA 2001:db8:0:8:0:0:0:0 | ||
IN AAAA 2001:db8:0:9:0:0:0:0 | ||
|
||
; end of file |
Oops, something went wrong.