commit 0a234463e6c1b61357f8bddd419551512cae33ec Author: Sean C Date: Sun Jan 25 05:48:22 2026 +0000 Commit 1 diff --git a/clab-leafspine/.tls/ca/ca.key b/clab-leafspine/.tls/ca/ca.key new file mode 100644 index 0000000..78b1634 --- /dev/null +++ b/clab-leafspine/.tls/ca/ca.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAx8q+VHbvuCU49KY4zyxKKu53KVy2x7gSsME85ER7V+lj2Bo2 +Rs4IpPSLEpUAJDT9XwU6TQmri5/1DLT8f8NZySOYP5bW919xUxy5uQyKJnpfgMVE +4G0+npT+GPrmfvxoK4HktswabwgQGA64OexgUNgTPE6HoHEn3CyKDe2GwWiQDR59 +4XrB1DMa/8zZi9Cb5N42p6qKGEQYnHtTvD1W6OSrJsKx7ndw7iW7cfrQvwE7tyIO +nPcIeN/H7gVuBJtbGD3yHVIoOxtJyNKc9w/UB5xHMINrPXqltUOqv17utaiF4Wi3 +yaCmB2Vx5fYQvzCXcAUTxqM+jW03xONHqh5n5QIDAQABAoIBABNaJA1yZ83ibR3l +a+NFWvnFl20+OcYmokjUrt09dOUTCkTIZTF+i3/O4BmwrQ7UwyYND5SetysTF11f +uoV1mqDM/dZK+g+EAyoVwjeWa1tGxzFl6kIC0unxbJtm0iTCtiRgtJKwOm8+zLBH +3LhfmQS7qUFSKfj0fPPqrISk2USqfExCURtMJi4SfXvP2RiP2BeP53Lh6DSBAZhx +t7yTFT5Uel90OZ7LYy/wYUvuIo80oWQnlX2u7H3Sj6pj1+nW7lnA0jEdx0Dl/jHq +AoC9kT5lNWSB5XH4kKtCYUA0ehkqtR8ORLdic/+sT0Y6IB6TUzVv9whQERCOezoc +ljpdsAECgYEA12VqOANGmv8ZOWfLXFTHWCfPufnxAiT4DzsQ+MfXRVJvdSVMwGZI +M4uvF1yTA3canxwzcevFliZzT7w1uzi3C3ak3fLrFpzREjoTLDpHlmIWbf2eek5E +QB82CcW9ncVVryQwg0eJZwYPYHwwjXUyE01Eniqm//Xo3bKTmxiCMQECgYEA7XRN +TTkh3S9odRmlWBjVS9P2fdtSKvAu6oL+6kR01gHSQkSfW2Qr7wPKokvzjsyxMZ/k +tK0kxtGTH8IK98UAiGKPFGj+CmmnAdhMFiGZOCncKH6T4mv8YTzjBbCl5rrls1dL +u56tIOpq62ciVUmIXWP0YesQWk/p0zEhCqe2kuUCgYAWpseg1FdcfW89pjiwoQnF +r4oc2LgLra+YinGieAGffKfT/fQwV5FIOmxTXJzpRGE8Uk7msBC7VZfSzswnwDMf +tX5pCN7IJf2mmQzjHc3hdrc9IerEme57f8zDAlSKfvIf1QJ1C9TbTLvZPbYtaiG1 +/e41Y+7kBAxVJC55pP4sAQKBgQDDsXS/rtUcz6Rb1X3x481th8t+H9FQ988CkGD7 +ut07PhcFbD6U+DJI8iv+o2+fgUyLJEY9LPDBNhj1NFsLpXzx6aAXZwvukvIDUDos +hxYaNk1txhukn/BIRwCmQNYJGICT097jSjtOhEMHrGCcP1S1+tl+FVbNx0xiM/wS +JvQNjQKBgQCBowWOpSOekTGCj43AtbZpBLrWz5buDaQNVHUsF7nBBi25oS2K7XuX +91+uRgP87pC3HNNFDldtuqQ4Iiy7OmEM/yBAuI5dUvV5i3sybJwdQ9eAn15aM6Dt +vdVWHca39g1FDTP28uYYISwyQYIZnOZeogDZ6a9CMKuc4N8lyghUVA== +-----END RSA PRIVATE KEY----- diff --git a/clab-leafspine/.tls/ca/ca.pem b/clab-leafspine/.tls/ca/ca.pem new file mode 100644 index 0000000..61d4480 --- /dev/null +++ b/clab-leafspine/.tls/ca/ca.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDhzCCAm+gAwIBAgICB+MwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCVVMx +CTAHBgNVBAcTADEVMBMGA1UEChMMY29udGFpbmVybGFiMQkwBwYDVQQLEwAxGTAX +BgNVBAMTEGxlYWZzcGluZSBsYWIgQ0EwHhcNMjYwMTI1MDUyNTU5WhcNMjcwMTI1 +MDUyNTU5WjBVMQswCQYDVQQGEwJVUzEJMAcGA1UEBxMAMRUwEwYDVQQKEwxjb250 +YWluZXJsYWIxCTAHBgNVBAsTADEZMBcGA1UEAxMQbGVhZnNwaW5lIGxhYiBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMfKvlR277glOPSmOM8sSiru +dylctse4ErDBPOREe1fpY9gaNkbOCKT0ixKVACQ0/V8FOk0Jq4uf9Qy0/H/DWckj +mD+W1vdfcVMcubkMiiZ6X4DFROBtPp6U/hj65n78aCuB5LbMGm8IEBgOuDnsYFDY +EzxOh6BxJ9wsig3thsFokA0efeF6wdQzGv/M2YvQm+TeNqeqihhEGJx7U7w9Vujk +qybCse53cO4lu3H60L8BO7ciDpz3CHjfx+4FbgSbWxg98h1SKDsbScjSnPcP1Aec +RzCDaz16pbVDqr9e7rWoheFot8mgpgdlceX2EL8wl3AFE8ajPo1tN8TjR6oeZ+UC +AwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBROI4T4KPb/8hgsjSl0 +QF/ftgxXTjANBgkqhkiG9w0BAQsFAAOCAQEAr5pZvtm6tE+i++vdr9O2l5vQ4k4S +iukazyk8Mny95x1CI1p2jeRBFvTsF1/TjWTN21gRh6QppZfe3yTdaPSMwBl8iBQ2 +11pgIWjpyyec/E32pUumstukNCg4ElPUQxDTTb6Eg3+GafsjdEVmDB2JBapsrXvD +sESqBFcAuLBq1Fgx/dYIAyvjZbcm6uaJj+YbkY++5ipseKYsRYHzZCXMahev3NCP +vs/gtmWck/jOOTDHQIU98PaFx/g302kN1/uMPPOxX3EV5XKzUNWPb0wJHIEeOY0P +K/Wkc5+fjgwzkhyO0crrY0EThJTzFlWbMnP/zo05js8tW7SJ47s4YzbG2Q== +-----END CERTIFICATE----- diff --git a/clab-leafspine/ansible-inventory.yml b/clab-leafspine/ansible-inventory.yml new file mode 100644 index 0000000..f889fca --- /dev/null +++ b/clab-leafspine/ansible-inventory.yml @@ -0,0 +1,23 @@ +all: + vars: + # The generated inventory is assumed to be used from the clab host. + # Hence no http proxy should be used. Therefore we make sure the http + # module does not attempt using any global http proxy. + ansible_httpapi_use_proxy: false + children: + juniper_vjunosrouter: + vars: + # ansible_connection: set ansible_connection variable if required + ansible_user: admin + ansible_password: admin@123 + hosts: + clab-leafspine-junrtr1: + ansible_host: 172.20.20.6 + clab-leafspine-junrtr2: + ansible_host: 172.20.20.4 + clab-leafspine-junrtr3: + ansible_host: 172.20.20.3 + clab-leafspine-junrtr4: + ansible_host: 172.20.20.5 + clab-leafspine-junrtr5: + ansible_host: 172.20.20.2 \ No newline at end of file diff --git a/clab-leafspine/authorized_keys b/clab-leafspine/authorized_keys new file mode 100644 index 0000000..a8d9757 --- /dev/null +++ b/clab-leafspine/authorized_keys @@ -0,0 +1,3 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmB3ueRuVyjFcDLY9dwDZP5vGJUWD6Y7WLd1Zb7j1xstodLyghmed9JsGnovy5WcEhW0nn72a1+A+6Ps6mQg4frG1ODYNMnIDes8bpr0rfrNUCRT8QCyX+bhhE1oJS8bSPiIGk/hhki898tZFs9PmgEl9JMT7xAB99Fs32v4QMKZBa4EyO0d7qt5E8IBp3pH1Y9BcKb1i9LXuSLKGN2FUvlKQLCpBQFpK8wtdt1eDrvBnr0fX9PRtGDa87afHYa87MQI3rmBpv6ZOIEnVa0GP11+JpldpP+RUKgIvbg6CSSVS+caJ6UTcPKe0gAg5dUHTKvgcSoImAKS53bBdcd57z +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzeGL3ZSjXUDv4CSeFS9fEgzs6iAF1TgFmVsf9QPulYovbuVf4aot9V2LRJdW8m0NRExR2iNwmw8Lj55ux+9pKIAKwY5meWEcSfZnyUu+8tanRMH2fYke/6c8cQ9b8CMSA5czRtf2XGb2iPuEi1LgKNyLODY21Fn1Ogibm5F7ejM7wzDqHGwa5VZI1wm5CUiq1bWG3JN+OjyOnBMaL7sg/VbvaGIKkncrUfZBBxpCvhF5elxE+YGid3BpXVc+8B6/vv5w5vMZvE73IbftAl8eMDnPFdkCPOADKfAwRnRSE+ewjHvzyazwD5CnxX9a7zPmE3WiCiAGU2KB+ntjDPrxmQXjZf4DwrQddbvGK5oLC3wv8XDcU4wGAu6Ug8ja87UcKtNIphwKzAdHedE20hVufJ8CI9BA3DSmZqsAsQvDxnQzkp3Btd4ivuDT7804AFGdHSwsCf8FfX87vv1ocdHufNptoDQcjGLFEN2y/m6zvhJ27D6uVrpk7sxpYEOobVkk= +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPfW+kM6BqA0bYzHjw5pvWVXfNOU9xXwMoIs+78jzf7G diff --git a/clab-leafspine/junrtr1/config/startup-config.cfg b/clab-leafspine/junrtr1/config/startup-config.cfg new file mode 100644 index 0000000..af90b82 --- /dev/null +++ b/clab-leafspine/junrtr1/config/startup-config.cfg @@ -0,0 +1,52 @@ +system { + host-name junrtr1; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr3 (Leaf 1)"; + unit 0 { + family inet { + address 172.16.1.1/30; + } + } + } + ge-0/0/2 { + description "To junrtr4 (Leaf 2)"; + unit 0 { + family inet { + address 172.16.1.5/30; + } + } + } + ge-0/0/3 { + description "To junrtr5 (Leaf 3)"; + unit 0 { + family inet { + address 172.16.1.9/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.1/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/clab-leafspine/junrtr2/config/startup-config.cfg b/clab-leafspine/junrtr2/config/startup-config.cfg new file mode 100644 index 0000000..3ac5895 --- /dev/null +++ b/clab-leafspine/junrtr2/config/startup-config.cfg @@ -0,0 +1,52 @@ +system { + host-name junrtr2; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr3 (Leaf 1)"; + unit 0 { + family inet { + address 172.16.2.1/30; + } + } + } + ge-0/0/2 { + description "To junrtr4 (Leaf 2)"; + unit 0 { + family inet { + address 172.16.2.5/30; + } + } + } + ge-0/0/3 { + description "To junrtr5 (Leaf 3)"; + unit 0 { + family inet { + address 172.16.2.9/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.2/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/clab-leafspine/junrtr3/config/startup-config.cfg b/clab-leafspine/junrtr3/config/startup-config.cfg new file mode 100644 index 0000000..0e27f42 --- /dev/null +++ b/clab-leafspine/junrtr3/config/startup-config.cfg @@ -0,0 +1,44 @@ +system { + host-name junrtr3; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr1 (Spine 1)"; + unit 0 { + family inet { + address 172.16.1.2/30; + } + } + } + ge-0/0/2 { + description "To junrtr2 (Spine 2)"; + unit 0 { + family inet { + address 172.16.2.2/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.3/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/clab-leafspine/junrtr4/config/startup-config.cfg b/clab-leafspine/junrtr4/config/startup-config.cfg new file mode 100644 index 0000000..3a33b5a --- /dev/null +++ b/clab-leafspine/junrtr4/config/startup-config.cfg @@ -0,0 +1,44 @@ +system { + host-name junrtr4; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr1 (Spine 1)"; + unit 0 { + family inet { + address 172.16.1.6/30; + } + } + } + ge-0/0/2 { + description "To junrtr2 (Spine 2)"; + unit 0 { + family inet { + address 172.16.2.6/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.4/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/clab-leafspine/junrtr5/config/startup-config.cfg b/clab-leafspine/junrtr5/config/startup-config.cfg new file mode 100644 index 0000000..331cb4f --- /dev/null +++ b/clab-leafspine/junrtr5/config/startup-config.cfg @@ -0,0 +1,87 @@ +## Last commit: 2026-01-25 05:28:09 UTC by root +version 25.4R1.12; +system { + host-name junrtr5; + root-authentication { + encrypted-password "$6$BK0h.E5k$oUGgvQbLKTt6hdZRilMZF.fguzrlWNPQqoqc1wtG.7qf525ubn8dcwyzd7GrBNdZAMVSYH817pDGYnk8k4ZFj."; ## SECRET-DATA + } + login { + user admin { + uid 2000; + class super-user; + authentication { + encrypted-password "$6$HgRTbduS$nT0GwxflZkAp8OmeoldzS1XTOvKa6EKxc/JtIcFHA9BUFIiOrq6cgd31N97ieTk3bjGSbx5y9Oh8FVFSMtT5q0"; ## SECRET-DATA + } + } + } + services { + netconf { + ssh; + } + ssh { + root-login allow; + } + } + management-instance; +} +chassis { + fpc 0 { + pic 0 { + number-of-ports 56; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr1 (Spine 1)"; + unit 0 { + family inet { + address 172.16.1.10/30; + } + } + } + ge-0/0/2 { + description "To junrtr2 (Spine 2)"; + unit 0 { + family inet { + address 172.16.2.10/30; + } + } + } + fxp0 { + unit 0 { + family inet { + address 10.0.0.15/24; + } + family inet6 { + address 2001:db8::2/64; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.5/32; + } + } + } +} +routing-instances { + mgmt_junos { + routing-options { + rib mgmt_junos.inet6.0 { + static { + route ::/0 next-hop 2001:db8::1; + } + } + static { + route 0.0.0.0/0 next-hop 10.0.0.2; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/clab-leafspine/nornir-simple-inventory.yml b/clab-leafspine/nornir-simple-inventory.yml new file mode 100644 index 0000000..b6a68ef --- /dev/null +++ b/clab-leafspine/nornir-simple-inventory.yml @@ -0,0 +1,26 @@ +--- +junrtr1: + username: admin + password: admin@123 + platform: juniper_vjunosrouter + hostname: 172.20.20.6 +junrtr2: + username: admin + password: admin@123 + platform: juniper_vjunosrouter + hostname: 172.20.20.4 +junrtr3: + username: admin + password: admin@123 + platform: juniper_vjunosrouter + hostname: 172.20.20.3 +junrtr4: + username: admin + password: admin@123 + platform: juniper_vjunosrouter + hostname: 172.20.20.5 +junrtr5: + username: admin + password: admin@123 + platform: juniper_vjunosrouter + hostname: 172.20.20.2 \ No newline at end of file diff --git a/clab-leafspine/topology-data.json b/clab-leafspine/topology-data.json new file mode 100644 index 0000000..e61ebd4 --- /dev/null +++ b/clab-leafspine/topology-data.json @@ -0,0 +1,3424 @@ +{ + "name": "leafspine", + "type": "clab", + "clab": { + "config": { + "prefix": "clab", + "mgmt": { + "network": "clab", + "bridge": "br-0bdf3e8f192b", + "ipv4-subnet": "172.20.20.0/24", + "ipv4-gw": "172.20.20.1", + "ipv6-subnet": "3fff:172:20:20::/64", + "ipv6-gw": "3fff:172:20:20::1", + "external-access": true + } + } + }, + "ssh-pub-keys": ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmB3ueRuVyjFcDLY9dwDZP5vGJUWD6Y7WLd1Zb7j1xstodLyghmed9JsGnovy5WcEhW0nn72a1+A+6Ps6mQg4frG1ODYNMnIDes8bpr0rfrNUCRT8QCyX+bhhE1oJS8bSPiIGk/hhki898tZFs9PmgEl9JMT7xAB99Fs32v4QMKZBa4EyO0d7qt5E8IBp3pH1Y9BcKb1i9LXuSLKGN2FUvlKQLCpBQFpK8wtdt1eDrvBnr0fX9PRtGDa87afHYa87MQI3rmBpv6ZOIEnVa0GP11+JpldpP+RUKgIvbg6CSSVS+caJ6UTcPKe0gAg5dUHTKvgcSoImAKS53bBdcd57z","ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzeGL3ZSjXUDv4CSeFS9fEgzs6iAF1TgFmVsf9QPulYovbuVf4aot9V2LRJdW8m0NRExR2iNwmw8Lj55ux+9pKIAKwY5meWEcSfZnyUu+8tanRMH2fYke/6c8cQ9b8CMSA5czRtf2XGb2iPuEi1LgKNyLODY21Fn1Ogibm5F7ejM7wzDqHGwa5VZI1wm5CUiq1bWG3JN+OjyOnBMaL7sg/VbvaGIKkncrUfZBBxpCvhF5elxE+YGid3BpXVc+8B6/vv5w5vMZvE73IbftAl8eMDnPFdkCPOADKfAwRnRSE+ewjHvzyazwD5CnxX9a7zPmE3WiCiAGU2KB+ntjDPrxmQXjZf4DwrQddbvGK5oLC3wv8XDcU4wGAu6Ug8ja87UcKtNIphwKzAdHedE20hVufJ8CI9BA3DSmZqsAsQvDxnQzkp3Btd4ivuDT7804AFGdHSwsCf8FfX87vv1ocdHufNptoDQcjGLFEN2y/m6zvhJ27D6uVrpk7sxpYEOobVkk=","ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPfW+kM6BqA0bYzHjw5pvWVXfNOU9xXwMoIs+78jzf7G"], + "nodes": { + "junrtr1": { + "index": "0", + "shortname": "junrtr1", + "longname": "clab-leafspine-junrtr1", + "fqdn": "junrtr1.leafspine.io", + "group": "", + "labdir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr1", + "kind": "juniper_vjunosrouter", + "image": "vrnetlab/juniper_vjunos-switch:25.4R1.12", + "mgmt-net": "", + "mgmt-intf": "", + "mgmt-ipv4-address": "172.20.20.6", + "mgmt-ipv4-prefix-length": 24, + "mgmt-ipv6-address": "3fff:172:20:20::6", + "mgmt-ipv6-prefix-length": 64, + "mac-address": "", + "labels": { + "clab-mgmt-net-bridge": "br-0bdf3e8f192b", + "clab-node-group": "", + "clab-node-kind": "juniper_vjunosrouter", + "clab-node-lab-dir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr1", + "clab-node-longname": "clab-leafspine-junrtr1", + "clab-node-name": "junrtr1", + "clab-node-type": "", + "clab-owner": "imp4ct", + "clab-topo-file": "/home/imp4ct/juniper-ls/leafspine.clab.yml", + "containerlab": "leafspine" + }, + "port-bindings": [ + { + "host-ip": "", + "host-port": 0, + "port": 10066, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10073, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10008, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10017, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10019, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10070, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10084, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10088, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10089, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10090, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10015, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10043, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10053, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10057, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10075, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10091, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10010, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10071, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10094, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10098, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10001, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10011, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10020, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10021, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10061, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10072, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10086, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10095, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10031, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10044, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10060, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10063, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 830, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10050, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10051, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10004, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10016, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10040, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10064, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10074, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10028, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10032, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10037, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10039, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10049, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10003, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10005, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10007, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10012, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10018, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10029, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10042, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10023, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10059, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10081, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10087, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10077, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10079, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10082, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10083, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10085, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10093, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10096, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10097, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10036, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10067, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10080, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 161, + "protocol": "udp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 22, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 5000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10048, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10078, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10006, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10014, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10022, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10046, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10052, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10099, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 57400, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10009, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10045, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10068, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10092, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10002, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10027, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10035, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10038, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10058, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10069, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10076, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10030, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10034, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10041, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10026, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10013, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10024, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10025, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10062, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10033, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10047, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10054, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10055, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10056, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10065, + "protocol": "tcp" + } + ] + }, + "junrtr2": { + "index": "1", + "shortname": "junrtr2", + "longname": "clab-leafspine-junrtr2", + "fqdn": "junrtr2.leafspine.io", + "group": "", + "labdir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr2", + "kind": "juniper_vjunosrouter", + "image": "vrnetlab/juniper_vjunos-switch:25.4R1.12", + "mgmt-net": "", + "mgmt-intf": "", + "mgmt-ipv4-address": "172.20.20.4", + "mgmt-ipv4-prefix-length": 24, + "mgmt-ipv6-address": "3fff:172:20:20::4", + "mgmt-ipv6-prefix-length": 64, + "mac-address": "", + "labels": { + "clab-mgmt-net-bridge": "br-0bdf3e8f192b", + "clab-node-group": "", + "clab-node-kind": "juniper_vjunosrouter", + "clab-node-lab-dir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr2", + "clab-node-longname": "clab-leafspine-junrtr2", + "clab-node-name": "junrtr2", + "clab-node-type": "", + "clab-owner": "imp4ct", + "clab-topo-file": "/home/imp4ct/juniper-ls/leafspine.clab.yml", + "containerlab": "leafspine" + }, + "port-bindings": [ + { + "host-ip": "", + "host-port": 0, + "port": 22, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10003, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10037, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10047, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 830, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10009, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10015, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10032, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10048, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10059, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10069, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10071, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 57400, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10042, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10050, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10053, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10057, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10072, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 5000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10065, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10066, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10087, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10093, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10010, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10023, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10092, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10014, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10016, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10031, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10036, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10080, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10095, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10001, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10020, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10025, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10027, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10041, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10077, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10099, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10006, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10008, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10019, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10026, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10035, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10038, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10046, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10049, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10033, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10043, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10089, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10090, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10097, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10005, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10029, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10040, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10058, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10068, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10076, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10079, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10081, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10007, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10030, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10054, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10062, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10078, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10083, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10096, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10098, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10011, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10028, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10045, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10060, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10061, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10013, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10017, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10018, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10044, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10051, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10064, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10067, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10073, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10002, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10012, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10055, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10063, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10074, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10082, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10084, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10088, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10052, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10004, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10021, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10022, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10024, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10034, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10056, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10070, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10039, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10075, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10085, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10086, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10091, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10094, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 161, + "protocol": "udp" + } + ] + }, + "junrtr3": { + "index": "2", + "shortname": "junrtr3", + "longname": "clab-leafspine-junrtr3", + "fqdn": "junrtr3.leafspine.io", + "group": "", + "labdir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr3", + "kind": "juniper_vjunosrouter", + "image": "vrnetlab/juniper_vjunos-switch:25.4R1.12", + "mgmt-net": "", + "mgmt-intf": "", + "mgmt-ipv4-address": "172.20.20.3", + "mgmt-ipv4-prefix-length": 24, + "mgmt-ipv6-address": "3fff:172:20:20::3", + "mgmt-ipv6-prefix-length": 64, + "mac-address": "", + "labels": { + "clab-mgmt-net-bridge": "br-0bdf3e8f192b", + "clab-node-group": "", + "clab-node-kind": "juniper_vjunosrouter", + "clab-node-lab-dir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr3", + "clab-node-longname": "clab-leafspine-junrtr3", + "clab-node-name": "junrtr3", + "clab-node-type": "", + "clab-owner": "imp4ct", + "clab-topo-file": "/home/imp4ct/juniper-ls/leafspine.clab.yml", + "containerlab": "leafspine" + }, + "port-bindings": [ + { + "host-ip": "", + "host-port": 0, + "port": 10097, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10012, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10017, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10021, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10038, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10058, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10098, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10007, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10018, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10035, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10060, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10066, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10089, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 830, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10022, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10046, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10054, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10079, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10088, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10092, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10013, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10024, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10039, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10072, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10078, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10051, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10052, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10084, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10091, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10093, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 5000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 57400, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10009, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10028, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10045, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10085, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 22, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10031, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10043, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10049, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10050, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10053, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10055, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10077, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10086, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10020, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10026, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10032, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10036, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10082, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10099, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10016, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10042, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10056, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10061, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10074, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10090, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10006, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10010, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10019, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10025, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10037, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10047, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10057, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10094, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10003, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10005, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10014, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10015, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10023, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10029, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10033, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10059, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10001, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10040, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10062, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10063, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10065, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10068, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10071, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10081, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10030, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10044, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10076, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10096, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10027, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10008, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10034, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10041, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10080, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10083, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10095, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10004, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10064, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10069, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10073, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10075, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 161, + "protocol": "udp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10011, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10002, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10048, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10067, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10070, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10087, + "protocol": "tcp" + } + ] + }, + "junrtr4": { + "index": "3", + "shortname": "junrtr4", + "longname": "clab-leafspine-junrtr4", + "fqdn": "junrtr4.leafspine.io", + "group": "", + "labdir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr4", + "kind": "juniper_vjunosrouter", + "image": "vrnetlab/juniper_vjunos-switch:25.4R1.12", + "mgmt-net": "", + "mgmt-intf": "", + "mgmt-ipv4-address": "172.20.20.5", + "mgmt-ipv4-prefix-length": 24, + "mgmt-ipv6-address": "3fff:172:20:20::5", + "mgmt-ipv6-prefix-length": 64, + "mac-address": "", + "labels": { + "clab-mgmt-net-bridge": "br-0bdf3e8f192b", + "clab-node-group": "", + "clab-node-kind": "juniper_vjunosrouter", + "clab-node-lab-dir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr4", + "clab-node-longname": "clab-leafspine-junrtr4", + "clab-node-name": "junrtr4", + "clab-node-type": "", + "clab-owner": "imp4ct", + "clab-topo-file": "/home/imp4ct/juniper-ls/leafspine.clab.yml", + "containerlab": "leafspine" + }, + "port-bindings": [ + { + "host-ip": "", + "host-port": 0, + "port": 10046, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10070, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10083, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10097, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10098, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10010, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10011, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10013, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10014, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10028, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10053, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10061, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10066, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10025, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10003, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10006, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10015, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10031, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10051, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10069, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10073, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10043, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10077, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10082, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10084, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10012, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10022, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10030, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10032, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10035, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10056, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10060, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10074, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10004, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10017, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10029, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10045, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10064, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10065, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10088, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10091, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10021, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10038, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10039, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10059, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10062, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10092, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10007, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10027, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10033, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10042, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10052, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10063, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10067, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10068, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10026, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10037, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10047, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10055, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10057, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10071, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10072, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10078, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10049, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10054, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10085, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10086, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10089, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 830, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10024, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10018, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10080, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10094, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10095, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 5000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10008, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10020, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10040, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 57400, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10002, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10036, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10044, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10050, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10075, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10079, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10087, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10009, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10048, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10090, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10096, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10099, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 161, + "protocol": "udp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 22, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10023, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10016, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10019, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10034, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10041, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10058, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10076, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10001, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10081, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10093, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10005, + "protocol": "tcp" + } + ] + }, + "junrtr5": { + "index": "4", + "shortname": "junrtr5", + "longname": "clab-leafspine-junrtr5", + "fqdn": "junrtr5.leafspine.io", + "group": "", + "labdir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr5", + "kind": "juniper_vjunosrouter", + "image": "vrnetlab/juniper_vjunos-switch:25.4R1.12", + "mgmt-net": "", + "mgmt-intf": "", + "mgmt-ipv4-address": "172.20.20.2", + "mgmt-ipv4-prefix-length": 24, + "mgmt-ipv6-address": "3fff:172:20:20::2", + "mgmt-ipv6-prefix-length": 64, + "mac-address": "", + "labels": { + "clab-mgmt-net-bridge": "br-0bdf3e8f192b", + "clab-node-group": "", + "clab-node-kind": "juniper_vjunosrouter", + "clab-node-lab-dir": "/home/imp4ct/juniper-ls/clab-leafspine/junrtr5", + "clab-node-longname": "clab-leafspine-junrtr5", + "clab-node-name": "junrtr5", + "clab-node-type": "", + "clab-owner": "imp4ct", + "clab-topo-file": "/home/imp4ct/juniper-ls/leafspine.clab.yml", + "containerlab": "leafspine" + }, + "port-bindings": [ + { + "host-ip": "", + "host-port": 0, + "port": 10049, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10056, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10090, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 161, + "protocol": "udp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 57400, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 830, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10008, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10038, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10039, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10042, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10044, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10046, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10082, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10093, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10014, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10019, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10024, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10027, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10084, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10094, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10098, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10005, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10017, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10022, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10036, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10051, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10060, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10075, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10079, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10013, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10015, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10016, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10086, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10089, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10092, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10003, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10004, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10018, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10031, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10034, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10035, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10037, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10048, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10002, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10053, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10063, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10071, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10088, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10091, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10032, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10057, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10065, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10074, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10099, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10001, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10006, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10047, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10055, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10070, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10083, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10011, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10021, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10069, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10095, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10023, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10052, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10068, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10085, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10096, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10097, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 22, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10033, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10040, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10059, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10009, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10010, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10045, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10050, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10072, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10020, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10025, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10029, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10054, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10064, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10073, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10078, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10080, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10061, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10062, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10066, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10067, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10076, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10081, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10087, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10007, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10012, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10028, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10041, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10043, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10058, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10077, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 5000, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10026, + "protocol": "tcp" + }, + { + "host-ip": "", + "host-port": 0, + "port": 10030, + "protocol": "tcp" + } + ] + } + }, + "links": [ + { + "endpoints": { + "a": { + "node": "junrtr1", + "interface": "eth2", + "mac": "aa:c1:ab:4e:86:13", + "peer": "z" + }, + "z": { + "node": "junrtr3", + "interface": "eth2", + "mac": "aa:c1:ab:75:5f:19", + "peer": "a" + } + } + }, + { + "endpoints": { + "a": { + "node": "junrtr1", + "interface": "eth3", + "mac": "aa:c1:ab:c6:d1:4b", + "peer": "z" + }, + "z": { + "node": "junrtr4", + "interface": "eth2", + "mac": "aa:c1:ab:33:db:55", + "peer": "a" + } + } + }, + { + "endpoints": { + "a": { + "node": "junrtr1", + "interface": "eth4", + "mac": "aa:c1:ab:ab:6b:83", + "peer": "z" + }, + "z": { + "node": "junrtr5", + "interface": "eth2", + "mac": "aa:c1:ab:4b:c1:52", + "peer": "a" + } + } + }, + { + "endpoints": { + "a": { + "node": "junrtr2", + "interface": "eth2", + "mac": "aa:c1:ab:eb:9a:74", + "peer": "z" + }, + "z": { + "node": "junrtr3", + "interface": "eth3", + "mac": "aa:c1:ab:23:ba:ab", + "peer": "a" + } + } + }, + { + "endpoints": { + "a": { + "node": "junrtr2", + "interface": "eth3", + "mac": "aa:c1:ab:12:8a:3c", + "peer": "z" + }, + "z": { + "node": "junrtr4", + "interface": "eth3", + "mac": "aa:c1:ab:b3:15:45", + "peer": "a" + } + } + }, + { + "endpoints": { + "a": { + "node": "junrtr2", + "interface": "eth4", + "mac": "aa:c1:ab:5c:b1:41", + "peer": "z" + }, + "z": { + "node": "junrtr5", + "interface": "eth3", + "mac": "aa:c1:ab:c7:15:31", + "peer": "a" + } + } + } + ] +} diff --git a/configs/junrtr1.conf b/configs/junrtr1.conf new file mode 100644 index 0000000..af90b82 --- /dev/null +++ b/configs/junrtr1.conf @@ -0,0 +1,52 @@ +system { + host-name junrtr1; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr3 (Leaf 1)"; + unit 0 { + family inet { + address 172.16.1.1/30; + } + } + } + ge-0/0/2 { + description "To junrtr4 (Leaf 2)"; + unit 0 { + family inet { + address 172.16.1.5/30; + } + } + } + ge-0/0/3 { + description "To junrtr5 (Leaf 3)"; + unit 0 { + family inet { + address 172.16.1.9/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.1/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/configs/junrtr2.conf b/configs/junrtr2.conf new file mode 100644 index 0000000..3ac5895 --- /dev/null +++ b/configs/junrtr2.conf @@ -0,0 +1,52 @@ +system { + host-name junrtr2; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr3 (Leaf 1)"; + unit 0 { + family inet { + address 172.16.2.1/30; + } + } + } + ge-0/0/2 { + description "To junrtr4 (Leaf 2)"; + unit 0 { + family inet { + address 172.16.2.5/30; + } + } + } + ge-0/0/3 { + description "To junrtr5 (Leaf 3)"; + unit 0 { + family inet { + address 172.16.2.9/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.2/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/configs/junrtr3.conf b/configs/junrtr3.conf new file mode 100644 index 0000000..0e27f42 --- /dev/null +++ b/configs/junrtr3.conf @@ -0,0 +1,44 @@ +system { + host-name junrtr3; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr1 (Spine 1)"; + unit 0 { + family inet { + address 172.16.1.2/30; + } + } + } + ge-0/0/2 { + description "To junrtr2 (Spine 2)"; + unit 0 { + family inet { + address 172.16.2.2/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.3/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/configs/junrtr4.conf b/configs/junrtr4.conf new file mode 100644 index 0000000..3a33b5a --- /dev/null +++ b/configs/junrtr4.conf @@ -0,0 +1,44 @@ +system { + host-name junrtr4; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr1 (Spine 1)"; + unit 0 { + family inet { + address 172.16.1.6/30; + } + } + } + ge-0/0/2 { + description "To junrtr2 (Spine 2)"; + unit 0 { + family inet { + address 172.16.2.6/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.4/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/configs/junrtr5.conf b/configs/junrtr5.conf new file mode 100644 index 0000000..cf4e38c --- /dev/null +++ b/configs/junrtr5.conf @@ -0,0 +1,44 @@ +system { + host-name junrtr5; + root-authentication { + plain-text-password-value "admin123"; + } + services { + ssh { + root-login allow; + } + netconf { + ssh; + } + } +} +interfaces { + ge-0/0/1 { + description "To junrtr1 (Spine 1)"; + unit 0 { + family inet { + address 172.16.1.10/30; + } + } + } + ge-0/0/2 { + description "To junrtr2 (Spine 2)"; + unit 0 { + family inet { + address 172.16.2.10/30; + } + } + } + lo0 { + unit 0 { + family inet { + address 10.0.0.5/32; + } + } + } +} +protocols { + lldp { + interface all; + } +} \ No newline at end of file diff --git a/leafspine.clab.yml b/leafspine.clab.yml new file mode 100644 index 0000000..0446aa2 --- /dev/null +++ b/leafspine.clab.yml @@ -0,0 +1,32 @@ +name: leafspine + +topology: + nodes: + junrtr1: + kind: juniper_vjunosrouter + image: vrnetlab/juniper_vjunos-switch:25.4R1.12 + startup-config: configs/junrtr1.conf + junrtr2: + kind: juniper_vjunosrouter + image: vrnetlab/juniper_vjunos-switch:25.4R1.12 + startup-config: configs/junrtr2.conf + junrtr3: + kind: juniper_vjunosrouter + image: vrnetlab/juniper_vjunos-switch:25.4R1.12 + startup-config: configs/junrtr3.conf + junrtr4: + kind: juniper_vjunosrouter + image: vrnetlab/juniper_vjunos-switch:25.4R1.12 + startup-config: configs/junrtr4.conf + junrtr5: + kind: juniper_vjunosrouter + image: vrnetlab/juniper_vjunos-switch:25.4R1.12 + startup-config: configs/junrtr5.conf + + links: + - endpoints: [ "junrtr1:ge-0/0/1", "junrtr3:ge-0/0/1" ] + - endpoints: [ "junrtr1:ge-0/0/2", "junrtr4:ge-0/0/1" ] + - endpoints: [ "junrtr1:ge-0/0/3", "junrtr5:ge-0/0/1" ] + - endpoints: [ "junrtr2:ge-0/0/1", "junrtr3:ge-0/0/2" ] + - endpoints: [ "junrtr2:ge-0/0/2", "junrtr4:ge-0/0/2" ] + - endpoints: [ "junrtr2:ge-0/0/3", "junrtr5:ge-0/0/2" ] diff --git a/leafspine.clab.yml.annotations.json b/leafspine.clab.yml.annotations.json new file mode 100644 index 0000000..bc5ec48 --- /dev/null +++ b/leafspine.clab.yml.annotations.json @@ -0,0 +1,56 @@ +{ + "freeTextAnnotations": [], + "freeShapeAnnotations": [], + "groupStyleAnnotations": [], + "networkNodeAnnotations": [], + "nodeAnnotations": [ + { + "id": "junrtr1", + "position": { + "x": -35, + "y": 119 + }, + "icon": "pe", + "interfacePattern": "ge-0/0/{n}" + }, + { + "id": "junrtr2", + "position": { + "x": 21, + "y": 119 + }, + "icon": "pe", + "interfacePattern": "ge-0/0/{n}" + }, + { + "id": "junrtr3", + "position": { + "x": -77, + "y": 203 + }, + "icon": "pe", + "interfacePattern": "ge-0/0/{n}" + }, + { + "id": "junrtr4", + "position": { + "x": -7, + "y": 203 + }, + "icon": "pe", + "interfacePattern": "ge-0/0/{n}" + }, + { + "id": "junrtr5", + "position": { + "x": 63, + "y": 203 + }, + "icon": "pe", + "interfacePattern": "ge-0/0/{n}" + } + ], + "edgeAnnotations": [], + "aliasEndpointAnnotations": [], + "viewerSettings": {} +} \ No newline at end of file