Add two new host-types: 'host' and 'tap', which will serve as North/South debian hosts, and an OVS mirror host respectively

This commit is contained in:
Pim van Pelt
2023-05-06 11:11:25 +00:00
parent d99d9074dc
commit 3f4bcf4f04
23 changed files with 156 additions and 5 deletions

View File

@ -0,0 +1 @@
host0-0

View File

@ -0,0 +1,7 @@
127.0.0.1 localhost
127.0.1.1 host0-0.lab.ipng.ch host0-0
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

View File

@ -0,0 +1,4 @@
domain lab.ipng.ch
search lab.ipng.ch net.ipng.ch ipng.ch
nameserver 192.168.10.4
nameserver 2001:678:d78:201::ffff

View File

@ -0,0 +1,15 @@
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
optional: true
accept-ra: false
dhcp4: false
mtu: 9000
addresses: [ 198.19.5.20/26, 2001:678:d78:50b::14/64 ]
routes:
- to: 0.0.0.0/0
via: 198.19.5.1
- to: ::/0
via: 2001:678:d78:50b::1

View File

@ -0,0 +1,4 @@
domain lab.ipng.ch
search lab.ipng.ch net.ipng.ch ipng.ch
nameserver 194.1.163.3
nameserver 194.1.163.4

View File

@ -0,0 +1,9 @@
# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
# pim's M1 macbookpro SeKEY
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
# Adrian's keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBy+EhCiRTcHgltaagVozgnROBy5Mi6Qslb3oWavDLSh vifino@tschunk
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0hWe+3ovnwlOSDgexq/jcfyBS/NLIb7lC0yTtOvKWL vifino@firestorm

View File

@ -0,0 +1,9 @@
# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
# pim's M1 macbookpro SeKEY
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
# Adrian's keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBy+EhCiRTcHgltaagVozgnROBy5Mi6Qslb3oWavDLSh vifino@tschunk
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0hWe+3ovnwlOSDgexq/jcfyBS/NLIb7lC0yTtOvKWL vifino@firestorm

View File

@ -0,0 +1 @@
host0-1

View File

@ -0,0 +1,7 @@
127.0.0.1 localhost
127.0.1.1 host0-1.lab.ipng.ch host0-1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

View File

@ -0,0 +1,4 @@
domain lab.ipng.ch
search lab.ipng.ch net.ipng.ch ipng.ch
nameserver 192.168.10.4
nameserver 2001:678:d78:201::ffff

View File

@ -0,0 +1,15 @@
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
optional: true
accept-ra: false
dhcp4: false
mtu: 9000
addresses: [ 198.19.5.21/26, 2001:678:d78:50b::15/64 ]
routes:
- to: 0.0.0.0/0
via: 198.19.5.1
- to: ::/0
via: 2001:678:d78:50b::1

View File

@ -0,0 +1,4 @@
domain lab.ipng.ch
search lab.ipng.ch net.ipng.ch ipng.ch
nameserver 194.1.163.3
nameserver 194.1.163.4

View File

@ -0,0 +1,9 @@
# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
# pim's M1 macbookpro SeKEY
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
# Adrian's keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBy+EhCiRTcHgltaagVozgnROBy5Mi6Qslb3oWavDLSh vifino@tschunk
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0hWe+3ovnwlOSDgexq/jcfyBS/NLIb7lC0yTtOvKWL vifino@firestorm

View File

@ -0,0 +1,9 @@
# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
# pim's M1 macbookpro SeKEY
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
# Adrian's keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBy+EhCiRTcHgltaagVozgnROBy5Mi6Qslb3oWavDLSh vifino@tschunk
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0hWe+3ovnwlOSDgexq/jcfyBS/NLIb7lC0yTtOvKWL vifino@firestorm

View File

@ -0,0 +1 @@
tap0-0

View File

@ -0,0 +1,7 @@
127.0.0.1 localhost
127.0.1.1 tap0-0.lab.ipng.ch tap0-0
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

View File

@ -0,0 +1,4 @@
domain lab.ipng.ch
search lab.ipng.ch net.ipng.ch ipng.ch
nameserver 192.168.10.4
nameserver 2001:678:d78:201::ffff

View File

@ -0,0 +1,15 @@
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
optional: true
accept-ra: false
dhcp4: false
mtu: 9000
addresses: [ 198.19.5.22/26, 2001:678:d78:50b::16/64 ]
routes:
- to: 0.0.0.0/0
via: 198.19.5.1
- to: ::/0
via: 2001:678:d78:50b::1

View File

@ -0,0 +1,4 @@
domain lab.ipng.ch
search lab.ipng.ch net.ipng.ch ipng.ch
nameserver 194.1.163.3
nameserver 194.1.163.4

View File

@ -0,0 +1,9 @@
# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
# pim's M1 macbookpro SeKEY
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
# Adrian's keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBy+EhCiRTcHgltaagVozgnROBy5Mi6Qslb3oWavDLSh vifino@tschunk
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0hWe+3ovnwlOSDgexq/jcfyBS/NLIb7lC0yTtOvKWL vifino@firestorm

View File

@ -0,0 +1,9 @@
# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
# pim's M1 macbookpro SeKEY
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
# Adrian's keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBy+EhCiRTcHgltaagVozgnROBy5Mi6Qslb3oWavDLSh vifino@tschunk
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID0hWe+3ovnwlOSDgexq/jcfyBS/NLIb7lC0yTtOvKWL vifino@firestorm

View File

@ -21,3 +21,5 @@ lab:
search: [ "lab.ipng.ch", "net.ipng.ch", "ipng.ch" ]
nodes:
vpp: 4
host: 2
tap: 1

View File

@ -151,8 +151,10 @@ def create_node(lab, node_id, node_type):
lo4_base = lab["ipv4"].split("/")[0]
lo6_base = lab["ipv6"].split("/")[0]
total_nodes = 0
for node_type, ncount in lab["nodes"].items():
total_nodes += ncount
for nt, nc in lab["nodes"].items():
if nt == node_type:
offset = total_nodes
total_nodes += nc
ret = {
"hostname": "%s%d-%d" % (node_type, lab["id"], node_id),
@ -160,12 +162,12 @@ def create_node(lab, node_id, node_type):
"mgmt": {
"ipv4": "%s/%s"
% (
ipaddress.IPv4Address(v4_base) + total_nodes * lab["id"] + node_id,
ipaddress.IPv4Address(v4_base) + total_nodes * lab["id"] + offset + node_id,
v4_plen,
),
"ipv6": "%s/%s"
% (
ipaddress.IPv6Address(v6_base) + total_nodes * lab["id"] + node_id,
ipaddress.IPv6Address(v6_base) + total_nodes * lab["id"] + offset + node_id,
v6_plen,
),
"gw4": lab["mgmt"]["gw4"],
@ -246,7 +248,7 @@ def main():
for node_type, ncount in data["lab"]["nodes"].items():
for node_id in range(ncount):
log.info("Generating for VPP node %d" % node_id)
log.info("Generating for %s node %d" % (node_type, node_id))
data["node"] = create_node(data["lab"], node_id, node_type)
log.debug("node: %s" % data["node"])