Encap.txt: Difference between revisions
Recommend validating a response from the API. |
m add links |
||
Line 1: | Line 1: | ||
An encap.txt file lists | An encap.txt file lists [[Gateway|AMPRNet gateways]], in a format like this: | ||
<nowiki># This is a comment | <nowiki># This is a comment | ||
Line 10: | Line 10: | ||
To get an encap.txt file that lists all current gateways, | To get an encap.txt file that lists all current gateways, | ||
request all routes from the [[API]] and convert the response from JSON to text. | request all routes from the [[API|Portal API]] and convert the response from JSON to text. | ||
For example (using API version 2): | For example (using [[API]] version 2): | ||
<nowiki>curl -s -H "Authorization: Bearer $APItoken" -H "Accept: application/json" https://portal.ampr.org/api/v2/encap/routes | jq -r '.encap[] | select(.encapType == "IPIP") | "route addprivate \(.network)/\(.cidr) encap \(.gatewayIP)"'</nowiki> | <nowiki>curl -s -H "Authorization: Bearer $APItoken" -H "Accept: application/json" https://portal.ampr.org/api/v2/encap/routes | jq -r '.encap[] | select(.encapType == "IPIP") | "route addprivate \(.network)/\(.cidr) encap \(.gatewayIP)"'</nowiki> | ||
A more complete example is in [[ | A more complete example is in [[Encap.txt/get-encap]]. | ||
If something goes wrong, the result won't be a complete list. | If something goes wrong, the result won't be a complete list. |
Latest revision as of 18:27, 15 October 2024
An encap.txt file lists AMPRNet gateways, in a format like this:
# This is a comment route addprivate 44.10.0.100/32 encap 136.115.52.224 route addprivate 44.100.129.0/24 encap 176.140.10.22
Originally formatted for JNOS systems, it is often parsed with a "munge script" to update Linux system routing tables.
Portal
To get an encap.txt file that lists all current gateways, request all routes from the Portal API and convert the response from JSON to text. For example (using API version 2):
curl -s -H "Authorization: Bearer $APItoken" -H "Accept: application/json" https://portal.ampr.org/api/v2/encap/routes | jq -r '.encap[] | select(.encapType == "IPIP") | "route addprivate \(.network)/\(.cidr) encap \(.gatewayIP)"'
A more complete example is in Encap.txt/get-encap.
If something goes wrong, the result won't be a complete list. Before using it to update routing tables, it's worth checking whether it has the right syntax and it's reasonably long. An empty list or a list that's much shorter than a previous version is probably erroneous.
HTTP
Previously, a complete encap.txt file was available from the portal as a web page. This is no longer supported.