networklab 26.2__tar.gz → 26.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1269) hide show
  1. networklab-26.4/PKG-INFO +113 -0
  2. networklab-26.4/README.md +70 -0
  3. networklab-26.4/netsim/__init__.py +18 -0
  4. networklab-26.4/netsim/ansible/tasks/deploy-config/exos.yml +4 -0
  5. networklab-26.4/netsim/ansible/tasks/deploy-custom-config.yml +85 -0
  6. networklab-26.4/netsim/ansible/tasks/fetch-config/exos.yml +3 -0
  7. networklab-26.4/netsim/ansible/tasks/fortios/initial.yml +55 -0
  8. networklab-26.4/netsim/ansible/templates/bgp/arubacx.j2 +40 -0
  9. networklab-26.4/netsim/ansible/templates/bgp/arubacx.macro.j2 +40 -0
  10. networklab-26.4/netsim/ansible/templates/bgp/cumulus_nvue.macro.j2 +108 -0
  11. networklab-26.4/netsim/ansible/templates/bgp/dellos10.j2 +45 -0
  12. networklab-26.4/netsim/ansible/templates/bgp/eos.j2 +87 -0
  13. networklab-26.4/netsim/ansible/templates/bgp/frr.j2 +77 -0
  14. networklab-26.4/netsim/ansible/templates/bgp/ios.j2 +46 -0
  15. networklab-26.4/netsim/ansible/templates/bgp/ios.macro.j2 +55 -0
  16. networklab-26.4/netsim/ansible/templates/bgp/iosxr.j2 +86 -0
  17. networklab-26.4/netsim/ansible/templates/bgp/junos.j2 +81 -0
  18. networklab-26.4/netsim/ansible/templates/bgp/junos.macro.j2 +112 -0
  19. networklab-26.4/netsim/ansible/templates/bgp/junos.policy.j2 +75 -0
  20. networklab-26.4/netsim/ansible/templates/bgp/nxos.j2 +52 -0
  21. networklab-26.4/netsim/ansible/templates/bgp/openbsd.j2 +103 -0
  22. networklab-26.4/netsim/ansible/templates/bgp/srlinux.macro.j2 +279 -0
  23. networklab-26.4/netsim/ansible/templates/bgp/sros.gnmi.macro.j2 +145 -0
  24. networklab-26.4/netsim/ansible/templates/bgp/vyos.j2 +40 -0
  25. networklab-26.4/netsim/ansible/templates/evpn/crpd.j2 +1 -0
  26. networklab-26.4/netsim/ansible/templates/evpn/ioll2.j2 +40 -0
  27. networklab-26.4/netsim/ansible/templates/evpn/ios-common.j2 +90 -0
  28. networklab-26.4/netsim/ansible/templates/evpn/ios.j2 +29 -0
  29. networklab-26.4/netsim/ansible/templates/evpn/iosxr.j2 +72 -0
  30. networklab-26.4/netsim/ansible/templates/evpn/junos/common.j2 +200 -0
  31. networklab-26.4/netsim/ansible/templates/evpn/junos/vlan.j2 +57 -0
  32. networklab-26.4/netsim/ansible/templates/evpn/vjunos-router.j2 +70 -0
  33. networklab-26.4/netsim/ansible/templates/evpn/vjunos-switch.j2 +34 -0
  34. networklab-26.4/netsim/ansible/templates/evpn/vptx.j2 +14 -0
  35. networklab-26.4/netsim/ansible/templates/gateway/crpd.j2 +37 -0
  36. networklab-26.4/netsim/ansible/templates/gateway/exos.j2 +26 -0
  37. networklab-26.4/netsim/ansible/templates/gateway/iosxr.j2 +26 -0
  38. networklab-26.4/netsim/ansible/templates/initial/crpd.j2 +61 -0
  39. networklab-26.4/netsim/ansible/templates/initial/exos.j2 +94 -0
  40. networklab-26.4/netsim/ansible/templates/initial/exos.vlan.j2 +5 -0
  41. networklab-26.4/netsim/ansible/templates/isis/crpd.j2 +2 -0
  42. networklab-26.4/netsim/ansible/templates/isis/junos.isis.j2 +75 -0
  43. networklab-26.4/netsim/ansible/templates/isis/junos.j2 +10 -0
  44. networklab-26.4/netsim/ansible/templates/isis/srlinux.j2 +8 -0
  45. networklab-26.4/netsim/ansible/templates/isis/srlinux.macro.j2 +68 -0
  46. networklab-26.4/netsim/ansible/templates/isis/sros.j2 +78 -0
  47. networklab-26.4/netsim/ansible/templates/isis/vsrx.j2 +12 -0
  48. networklab-26.4/netsim/ansible/templates/mpls/frr.mplsvpn.j2 +17 -0
  49. networklab-26.4/netsim/ansible/templates/mpls/ios.6pe.j2 +17 -0
  50. networklab-26.4/netsim/ansible/templates/mpls/ios.j2 +12 -0
  51. networklab-26.4/netsim/ansible/templates/mpls/ios.mplsvpn.j2 +18 -0
  52. networklab-26.4/netsim/ansible/templates/mpls/iosxr/6pe.j2 +22 -0
  53. networklab-26.4/netsim/ansible/templates/mpls/iosxr/ldp.j2 +16 -0
  54. networklab-26.4/netsim/ansible/templates/mpls/iosxr/mplsvpn.j2 +32 -0
  55. networklab-26.4/netsim/ansible/templates/mpls/iosxr.j2 +12 -0
  56. networklab-26.4/netsim/ansible/templates/mpls/junos.ldp.j2 +31 -0
  57. networklab-26.4/netsim/ansible/templates/mpls/junos.mplsvpn.j2 +38 -0
  58. networklab-26.4/netsim/ansible/templates/mpls/sros.bgp.j2 +51 -0
  59. networklab-26.4/netsim/ansible/templates/mpls/sros.j2 +32 -0
  60. networklab-26.4/netsim/ansible/templates/mpls/vyos.mplsvpn.j2 +15 -0
  61. networklab-26.4/netsim/ansible/templates/normalize/dellos10.j2 +5 -0
  62. networklab-26.4/netsim/ansible/templates/normalize/eos.j2 +36 -0
  63. networklab-26.4/netsim/ansible/templates/ospf/exos.j2 +9 -0
  64. networklab-26.4/netsim/ansible/templates/ospf/exos.ospfv2.j2 +32 -0
  65. networklab-26.4/netsim/ansible/templates/ospf/exos.ospfv3.j2 +32 -0
  66. networklab-26.4/netsim/ansible/templates/ospf/srlinux.macro.j2 +64 -0
  67. networklab-26.4/netsim/ansible/templates/ospf/sros.j2 +80 -0
  68. networklab-26.4/netsim/ansible/templates/routing/_redistribute.iosxr.j2 +20 -0
  69. networklab-26.4/netsim/ansible/templates/routing/fortios.j2 +36 -0
  70. networklab-26.4/netsim/ansible/templates/routing/iosxr/aspath.j2 +8 -0
  71. networklab-26.4/netsim/ansible/templates/routing/iosxr/clist.j2 +16 -0
  72. networklab-26.4/netsim/ansible/templates/routing/iosxr/policy-delete.j2 +16 -0
  73. networklab-26.4/netsim/ansible/templates/routing/iosxr/policy-match.j2 +26 -0
  74. networklab-26.4/netsim/ansible/templates/routing/iosxr/policy-set.j2 +29 -0
  75. networklab-26.4/netsim/ansible/templates/routing/iosxr/policy.j2 +29 -0
  76. networklab-26.4/netsim/ansible/templates/routing/iosxr/prefix.j2 +16 -0
  77. networklab-26.4/netsim/ansible/templates/routing/iosxr/static.j2 +13 -0
  78. networklab-26.4/netsim/ansible/templates/routing/iosxr.j2 +30 -0
  79. networklab-26.4/netsim/ansible/templates/routing/junos/aspath.j2 +27 -0
  80. networklab-26.4/netsim/ansible/templates/routing/junos/community.j2 +32 -0
  81. networklab-26.4/netsim/ansible/templates/routing/junos/static.j2 +36 -0
  82. networklab-26.4/netsim/ansible/templates/routing/junos.j2 +19 -0
  83. networklab-26.4/netsim/ansible/templates/routing/nxos/static.j2 +18 -0
  84. networklab-26.4/netsim/ansible/templates/routing/nxos.j2 +3 -0
  85. networklab-26.4/netsim/ansible/templates/routing/openbsd.j2 +37 -0
  86. networklab-26.4/netsim/ansible/templates/routing/srlinux/policy.j2 +45 -0
  87. networklab-26.4/netsim/ansible/templates/routing/srlinux/prefix.j2 +17 -0
  88. networklab-26.4/netsim/ansible/templates/routing/srlinux/static.j2 +100 -0
  89. networklab-26.4/netsim/ansible/templates/routing/srlinux.j2 +10 -0
  90. networklab-26.4/netsim/ansible/templates/routing/sros/policy.j2 +17 -0
  91. networklab-26.4/netsim/ansible/templates/routing/sros/static.j2 +61 -0
  92. networklab-26.4/netsim/ansible/templates/routing/sros.j2 +7 -0
  93. networklab-26.4/netsim/ansible/templates/sr/eos.j2 +23 -0
  94. networklab-26.4/netsim/ansible/templates/sr/frr.j2 +39 -0
  95. networklab-26.4/netsim/ansible/templates/sr/ios.j2 +23 -0
  96. networklab-26.4/netsim/ansible/templates/sr/iosxr.j2 +28 -0
  97. networklab-26.4/netsim/ansible/templates/sr/junos.j2 +50 -0
  98. networklab-26.4/netsim/ansible/templates/sr/srlinux.j2 +62 -0
  99. networklab-26.4/netsim/ansible/templates/sr/sros.j2 +47 -0
  100. networklab-26.4/netsim/ansible/templates/srv6/iosxr.bgp.j2 +16 -0
  101. networklab-26.4/netsim/ansible/templates/srv6/iosxr.j2 +19 -0
  102. networklab-26.4/netsim/ansible/templates/vlan/exos.j2 +15 -0
  103. networklab-26.4/netsim/ansible/templates/vlan/vjunos-router.j2 +33 -0
  104. networklab-26.4/netsim/ansible/templates/vlan/vptx.j2 +45 -0
  105. networklab-26.4/netsim/ansible/templates/vrf/arubacx.bgp.j2 +33 -0
  106. networklab-26.4/netsim/ansible/templates/vrf/dellos10.bgp.j2 +61 -0
  107. networklab-26.4/netsim/ansible/templates/vrf/eos.bgp.j2 +44 -0
  108. networklab-26.4/netsim/ansible/templates/vrf/frr.bgp.j2 +46 -0
  109. networklab-26.4/netsim/ansible/templates/vrf/ios.bgp.j2 +27 -0
  110. networklab-26.4/netsim/ansible/templates/vrf/iosxr.bgp.j2 +41 -0
  111. networklab-26.4/netsim/ansible/templates/vrf/junos.bgp.j2 +75 -0
  112. networklab-26.4/netsim/ansible/templates/vrf/nxos.bgp.j2 +49 -0
  113. networklab-26.4/netsim/ansible/templates/vrf/srlinux.j2 +98 -0
  114. networklab-26.4/netsim/ansible/templates/vrf/vyos.bgp.j2 +39 -0
  115. networklab-26.4/netsim/ansible/templates/vxlan/vjunos-router.j2 +68 -0
  116. networklab-26.4/netsim/ansible/templates/vxlan/vjunos-switch.j2 +81 -0
  117. networklab-26.4/netsim/ansible/templates/vxlan/vptx.j2 +66 -0
  118. networklab-26.4/netsim/augment/main.py +130 -0
  119. networklab-26.4/netsim/cli/ansible.py +100 -0
  120. networklab-26.4/netsim/cli/config.py +230 -0
  121. networklab-26.4/netsim/cli/exec.py +66 -0
  122. networklab-26.4/netsim/cli/initial/deploy.py +140 -0
  123. networklab-26.4/netsim/cli/show/__init__.py +123 -0
  124. networklab-26.4/netsim/cli/show/attributes.py +89 -0
  125. networklab-26.4/netsim/cli/show/defaults.py +60 -0
  126. networklab-26.4/netsim/cli/show/devices.py +85 -0
  127. networklab-26.4/netsim/cli/show/images.py +74 -0
  128. networklab-26.4/netsim/cli/show/module_support.py +85 -0
  129. networklab-26.4/netsim/cli/show/modules.py +285 -0
  130. networklab-26.4/netsim/cli/show/outputs.py +51 -0
  131. networklab-26.4/netsim/cli/show/providers.py +92 -0
  132. networklab-26.4/netsim/cli/show/reports.py +120 -0
  133. networklab-26.4/netsim/cli/show/utils.py +94 -0
  134. networklab-26.4/netsim/cli/status.py +393 -0
  135. networklab-26.4/netsim/daemons/bird/bgp.j2 +142 -0
  136. networklab-26.4/netsim/daemons/bird/ospf.j2 +86 -0
  137. networklab-26.4/netsim/daemons/bird.yml +74 -0
  138. networklab-26.4/netsim/data/types.py +1011 -0
  139. networklab-26.4/netsim/data/validate.py +850 -0
  140. networklab-26.4/netsim/defaults/attributes.yml +245 -0
  141. networklab-26.4/netsim/devices/arubacx.yml +128 -0
  142. networklab-26.4/netsim/devices/cat8000v.yml +37 -0
  143. networklab-26.4/netsim/devices/cisco8000v.py +35 -0
  144. networklab-26.4/netsim/devices/crpd.py +46 -0
  145. networklab-26.4/netsim/devices/crpd.yml +50 -0
  146. networklab-26.4/netsim/devices/csr.yml +48 -0
  147. networklab-26.4/netsim/devices/cumulus.yml +158 -0
  148. networklab-26.4/netsim/devices/cumulus_nvue.yml +107 -0
  149. networklab-26.4/netsim/devices/dellos10.yml +132 -0
  150. networklab-26.4/netsim/devices/eos.yml +205 -0
  151. networklab-26.4/netsim/devices/exos.py +70 -0
  152. networklab-26.4/netsim/devices/exos.yml +55 -0
  153. networklab-26.4/netsim/devices/fortios.py +14 -0
  154. networklab-26.4/netsim/devices/fortios.yml +47 -0
  155. networklab-26.4/netsim/devices/frr.yml +221 -0
  156. networklab-26.4/netsim/devices/iol.py +55 -0
  157. networklab-26.4/netsim/devices/iol.yml +43 -0
  158. networklab-26.4/netsim/devices/ios.yml +155 -0
  159. networklab-26.4/netsim/devices/iosxr.py +127 -0
  160. networklab-26.4/netsim/devices/iosxr.yml +49 -0
  161. networklab-26.4/netsim/devices/junos.py +408 -0
  162. networklab-26.4/netsim/devices/junos.yml +99 -0
  163. networklab-26.4/netsim/devices/none.yml +156 -0
  164. networklab-26.4/netsim/devices/nxos.yml +87 -0
  165. networklab-26.4/netsim/devices/openbsd.yml +73 -0
  166. networklab-26.4/netsim/devices/sonic.yml +44 -0
  167. networklab-26.4/netsim/devices/srlinux.yml +116 -0
  168. networklab-26.4/netsim/devices/sros.py +132 -0
  169. networklab-26.4/netsim/devices/sros.yml +123 -0
  170. networklab-26.4/netsim/devices/vjunos-router.py +408 -0
  171. networklab-26.4/netsim/devices/vjunos-router.yml +38 -0
  172. networklab-26.4/netsim/devices/vjunos-switch.yml +38 -0
  173. networklab-26.4/netsim/devices/vmx.py +408 -0
  174. networklab-26.4/netsim/devices/vptx.py +58 -0
  175. networklab-26.4/netsim/devices/vptx.yml +48 -0
  176. networklab-26.4/netsim/devices/vsrx.py +408 -0
  177. networklab-26.4/netsim/devices/vyos.py +26 -0
  178. networklab-26.4/netsim/devices/vyos.yml +110 -0
  179. networklab-26.4/netsim/devices/xr.yml +111 -0
  180. networklab-26.4/netsim/extra/bgp.originate/plugin.py +53 -0
  181. networklab-26.4/netsim/extra/bgp.policy/iosxr.j2 +48 -0
  182. networklab-26.4/netsim/extra/bgp.policy/plugin.py +345 -0
  183. networklab-26.4/netsim/extra/bgp.session/defaults.yml +103 -0
  184. networklab-26.4/netsim/extra/bgp.session/ios.j2 +99 -0
  185. networklab-26.4/netsim/extra/bgp.session/iosxr.j2 +85 -0
  186. networklab-26.4/netsim/extra/bgp.session/openbsd.j2 +1 -0
  187. networklab-26.4/netsim/extra/bgp.session/plugin.py +256 -0
  188. networklab-26.4/netsim/extra/bgp.session/sros.j2 +61 -0
  189. networklab-26.4/netsim/extra/ebgp.multihop/arubacx.j2 +27 -0
  190. networklab-26.4/netsim/extra/ebgp.multihop/cumulus_nvue.j2 +24 -0
  191. networklab-26.4/netsim/extra/ebgp.multihop/dellos10.j2 +32 -0
  192. networklab-26.4/netsim/extra/ebgp.multihop/eos.j2 +27 -0
  193. networklab-26.4/netsim/extra/ebgp.multihop/frr.j2 +28 -0
  194. networklab-26.4/netsim/extra/ebgp.multihop/ios.j2 +26 -0
  195. networklab-26.4/netsim/extra/ebgp.multihop/iosxr.j2 +27 -0
  196. networklab-26.4/netsim/extra/ebgp.multihop/junos.j2 +43 -0
  197. networklab-26.4/netsim/extra/ebgp.multihop/srlinux.j2 +33 -0
  198. networklab-26.4/netsim/extra/ebgp.multihop/sros.j2 +27 -0
  199. networklab-26.4/netsim/extra/ospf.areas/bird.j2 +1 -0
  200. networklab-26.4/netsim/install/libvirt/exos.txt +61 -0
  201. networklab-26.4/netsim/install/libvirt/exos.xml.j2 +52 -0
  202. networklab-26.4/netsim/install/libvirt/fortios/openstack/latest/user_data +39 -0
  203. networklab-26.4/netsim/modules/__init__.py +537 -0
  204. networklab-26.4/netsim/modules/_routing.py +898 -0
  205. networklab-26.4/netsim/modules/bgp.py +1021 -0
  206. networklab-26.4/netsim/modules/bgp.yml +162 -0
  207. networklab-26.4/netsim/modules/evpn.py +640 -0
  208. networklab-26.4/netsim/modules/evpn.yml +39 -0
  209. networklab-26.4/netsim/modules/mpls.py +280 -0
  210. networklab-26.4/netsim/modules/mpls.yml +37 -0
  211. networklab-26.4/netsim/modules/routing/__init__.py +161 -0
  212. networklab-26.4/netsim/modules/routing/aspath.py +40 -0
  213. networklab-26.4/netsim/modules/routing/clist.py +154 -0
  214. networklab-26.4/netsim/modules/routing/normalize.py +198 -0
  215. networklab-26.4/netsim/modules/routing/policy.py +251 -0
  216. networklab-26.4/netsim/modules/routing/prefix.py +124 -0
  217. networklab-26.4/netsim/modules/sr.py +81 -0
  218. networklab-26.4/netsim/modules/sr.yml +57 -0
  219. networklab-26.4/netsim/modules/srv6.py +130 -0
  220. networklab-26.4/netsim/modules/vrf.py +604 -0
  221. networklab-26.4/netsim/modules/vxlan.py +249 -0
  222. networklab-26.4/netsim/outputs/ansible.py +276 -0
  223. networklab-26.4/netsim/outputs/config.py +103 -0
  224. networklab-26.4/netsim/providers/__init__.py +430 -0
  225. networklab-26.4/netsim/providers/clab.yml +55 -0
  226. networklab-26.4/netsim/reports/devices.html.j2 +20 -0
  227. networklab-26.4/netsim/reports/devices.j2 +17 -0
  228. networklab-26.4/netsim/reports/devices.md.j2 +10 -0
  229. networklab-26.4/netsim/reports/isis-interfaces.html.j2 +33 -0
  230. networklab-26.4/netsim/reports/isis-interfaces.md.j2 +15 -0
  231. networklab-26.4/netsim/templates/provider/clab/crpd/hosts.j2 +1 -0
  232. networklab-26.4/netsim/templates/provider/clab/crpd/netlab-config.j2 +19 -0
  233. networklab-26.4/netsim/templates/provider/clab/cumulus/hosts.j2 +1 -0
  234. networklab-26.4/netsim/templates/provider/clab/frr/hosts.j2 +1 -0
  235. networklab-26.4/netsim/templates/provider/clab/iosxr/netlab-config.j2 +8 -0
  236. networklab-26.4/netsim/templates/provider/clab/linux/hosts.j2 +15 -0
  237. networklab-26.4/netsim/templates/provider/clab/srlinux/hosts.j2 +1 -0
  238. networklab-26.4/netsim/templates/provider/libvirt/exos-domain.j2 +15 -0
  239. networklab-26.4/netsim/tools/suzieq.yml +25 -0
  240. networklab-26.4/netsim/utils/routing.py +159 -0
  241. networklab-26.4/netsim/utils/templates.py +374 -0
  242. networklab-26.4/netsim/validate/_common.py +91 -0
  243. networklab-26.4/netsim/validate/bgp/eos.py +271 -0
  244. networklab-26.4/netsim/validate/bgp/frr.py +273 -0
  245. networklab-26.4/netsim/validate/crpd.py +7 -0
  246. networklab-26.4/netsim/validate/ospf/eos.py +121 -0
  247. networklab-26.4/netsim/validate/ospf/frr.py +168 -0
  248. networklab-26.4/networklab.egg-info/PKG-INFO +113 -0
  249. networklab-26.4/networklab.egg-info/SOURCES.txt +1087 -0
  250. networklab-26.2/PKG-INFO +0 -113
  251. networklab-26.2/README.md +0 -70
  252. networklab-26.2/netsim/__init__.py +0 -18
  253. networklab-26.2/netsim/ansible/tasks/deploy-custom-config.yml +0 -76
  254. networklab-26.2/netsim/ansible/tasks/fortinet.fortios.fortios/initial.yml +0 -55
  255. networklab-26.2/netsim/ansible/templates/bgp/arubacx.j2 +0 -55
  256. networklab-26.2/netsim/ansible/templates/bgp/arubacx.macro.j2 +0 -46
  257. networklab-26.2/netsim/ansible/templates/bgp/cumulus_nvue.macro.j2 +0 -125
  258. networklab-26.2/netsim/ansible/templates/bgp/dellos10.j2 +0 -57
  259. networklab-26.2/netsim/ansible/templates/bgp/eos.j2 +0 -105
  260. networklab-26.2/netsim/ansible/templates/bgp/frr.j2 +0 -97
  261. networklab-26.2/netsim/ansible/templates/bgp/ios.j2 +0 -66
  262. networklab-26.2/netsim/ansible/templates/bgp/ios.macro.j2 +0 -49
  263. networklab-26.2/netsim/ansible/templates/bgp/iosxr.j2 +0 -94
  264. networklab-26.2/netsim/ansible/templates/bgp/junos.j2 +0 -85
  265. networklab-26.2/netsim/ansible/templates/bgp/junos.macro.j2 +0 -12
  266. networklab-26.2/netsim/ansible/templates/bgp/junos.policy.j2 +0 -139
  267. networklab-26.2/netsim/ansible/templates/bgp/nxos.j2 +0 -60
  268. networklab-26.2/netsim/ansible/templates/bgp/srlinux.macro.j2 +0 -304
  269. networklab-26.2/netsim/ansible/templates/bgp/sros.gnmi.macro.j2 +0 -165
  270. networklab-26.2/netsim/ansible/templates/bgp/vyos.j2 +0 -56
  271. networklab-26.2/netsim/ansible/templates/evpn/ioll2.j2 +0 -20
  272. networklab-26.2/netsim/ansible/templates/evpn/ios-common.j2 +0 -54
  273. networklab-26.2/netsim/ansible/templates/evpn/ios.j2 +0 -13
  274. networklab-26.2/netsim/ansible/templates/evpn/vjunos-switch.j2 +0 -244
  275. networklab-26.2/netsim/ansible/templates/isis/junos.j2 +0 -94
  276. networklab-26.2/netsim/ansible/templates/isis/srlinux.j2 +0 -8
  277. networklab-26.2/netsim/ansible/templates/isis/srlinux.macro.j2 +0 -68
  278. networklab-26.2/netsim/ansible/templates/isis/sros.j2 +0 -78
  279. networklab-26.2/netsim/ansible/templates/mpls/frr.mplsvpn.j2 +0 -14
  280. networklab-26.2/netsim/ansible/templates/mpls/ios.6pe.j2 +0 -8
  281. networklab-26.2/netsim/ansible/templates/mpls/ios.j2 +0 -13
  282. networklab-26.2/netsim/ansible/templates/mpls/ios.mplsvpn.j2 +0 -11
  283. networklab-26.2/netsim/ansible/templates/mpls/junos.ldp.j2 +0 -25
  284. networklab-26.2/netsim/ansible/templates/mpls/junos.mplsvpn.j2 +0 -37
  285. networklab-26.2/netsim/ansible/templates/mpls/sros.bgp.j2 +0 -36
  286. networklab-26.2/netsim/ansible/templates/mpls/sros.j2 +0 -32
  287. networklab-26.2/netsim/ansible/templates/mpls/vyos.mplsvpn.j2 +0 -15
  288. networklab-26.2/netsim/ansible/templates/normalize/eos.j2 +0 -33
  289. networklab-26.2/netsim/ansible/templates/ospf/srlinux.macro.j2 +0 -64
  290. networklab-26.2/netsim/ansible/templates/ospf/sros.j2 +0 -80
  291. networklab-26.2/netsim/ansible/templates/routing/_redistribute.iosxr.j2 +0 -20
  292. networklab-26.2/netsim/ansible/templates/routing/iosxr.j2 +0 -15
  293. networklab-26.2/netsim/ansible/templates/routing/junos.j2 +0 -115
  294. networklab-26.2/netsim/ansible/templates/routing/openbsd.j2 +0 -23
  295. networklab-26.2/netsim/ansible/templates/routing/srlinux.j2 +0 -62
  296. networklab-26.2/netsim/ansible/templates/routing/sros.j2 +0 -18
  297. networklab-26.2/netsim/ansible/templates/sr/eos.j2 +0 -17
  298. networklab-26.2/netsim/ansible/templates/sr/frr.j2 +0 -26
  299. networklab-26.2/netsim/ansible/templates/sr/ios.j2 +0 -16
  300. networklab-26.2/netsim/ansible/templates/sr/junos.j2 +0 -43
  301. networklab-26.2/netsim/ansible/templates/sr/srlinux.j2 +0 -64
  302. networklab-26.2/netsim/ansible/templates/sr/sros.j2 +0 -51
  303. networklab-26.2/netsim/ansible/templates/sr/sros.openconfig.j2 +0 -30
  304. networklab-26.2/netsim/ansible/templates/vlan/vjunos-router.j2 +0 -32
  305. networklab-26.2/netsim/ansible/templates/vlan/vptx.j2 +0 -45
  306. networklab-26.2/netsim/ansible/templates/vrf/arubacx.bgp.j2 +0 -33
  307. networklab-26.2/netsim/ansible/templates/vrf/dellos10.bgp.j2 +0 -61
  308. networklab-26.2/netsim/ansible/templates/vrf/eos.bgp.j2 +0 -44
  309. networklab-26.2/netsim/ansible/templates/vrf/frr.bgp.j2 +0 -46
  310. networklab-26.2/netsim/ansible/templates/vrf/ios.bgp.j2 +0 -27
  311. networklab-26.2/netsim/ansible/templates/vrf/iosxr.bgp.j2 +0 -41
  312. networklab-26.2/netsim/ansible/templates/vrf/junos.bgp.j2 +0 -114
  313. networklab-26.2/netsim/ansible/templates/vrf/nxos.bgp.j2 +0 -49
  314. networklab-26.2/netsim/ansible/templates/vrf/srlinux.j2 +0 -91
  315. networklab-26.2/netsim/ansible/templates/vrf/vyos.bgp.j2 +0 -39
  316. networklab-26.2/netsim/ansible/templates/vxlan/vjunos-switch.j2 +0 -81
  317. networklab-26.2/netsim/augment/main.py +0 -129
  318. networklab-26.2/netsim/cli/ansible.py +0 -74
  319. networklab-26.2/netsim/cli/config.py +0 -246
  320. networklab-26.2/netsim/cli/exec.py +0 -65
  321. networklab-26.2/netsim/cli/initial/deploy.py +0 -158
  322. networklab-26.2/netsim/cli/show.py +0 -120
  323. networklab-26.2/netsim/cli/show_commands/__init__.py +0 -65
  324. networklab-26.2/netsim/cli/show_commands/attributes.py +0 -89
  325. networklab-26.2/netsim/cli/show_commands/defaults.py +0 -60
  326. networklab-26.2/netsim/cli/show_commands/devices.py +0 -85
  327. networklab-26.2/netsim/cli/show_commands/images.py +0 -74
  328. networklab-26.2/netsim/cli/show_commands/module_support.py +0 -85
  329. networklab-26.2/netsim/cli/show_commands/modules.py +0 -183
  330. networklab-26.2/netsim/cli/show_commands/outputs.py +0 -51
  331. networklab-26.2/netsim/cli/show_commands/providers.py +0 -92
  332. networklab-26.2/netsim/cli/show_commands/reports.py +0 -120
  333. networklab-26.2/netsim/cli/status.py +0 -371
  334. networklab-26.2/netsim/daemons/bird/bgp.j2 +0 -137
  335. networklab-26.2/netsim/daemons/bird/ospf.j2 +0 -69
  336. networklab-26.2/netsim/daemons/bird.yml +0 -71
  337. networklab-26.2/netsim/data/types.py +0 -1003
  338. networklab-26.2/netsim/data/validate.py +0 -803
  339. networklab-26.2/netsim/defaults/attributes.yml +0 -244
  340. networklab-26.2/netsim/devices/arubacx.yml +0 -126
  341. networklab-26.2/netsim/devices/cat8000v.yml +0 -36
  342. networklab-26.2/netsim/devices/cisco8000v.py +0 -34
  343. networklab-26.2/netsim/devices/csr.yml +0 -42
  344. networklab-26.2/netsim/devices/cumulus.yml +0 -156
  345. networklab-26.2/netsim/devices/cumulus_nvue.yml +0 -105
  346. networklab-26.2/netsim/devices/dellos10.yml +0 -129
  347. networklab-26.2/netsim/devices/eos.yml +0 -201
  348. networklab-26.2/netsim/devices/fortios.yml +0 -43
  349. networklab-26.2/netsim/devices/frr.yml +0 -212
  350. networklab-26.2/netsim/devices/iol.py +0 -39
  351. networklab-26.2/netsim/devices/iol.yml +0 -38
  352. networklab-26.2/netsim/devices/ios.yml +0 -153
  353. networklab-26.2/netsim/devices/iosxr.yml +0 -40
  354. networklab-26.2/netsim/devices/junos.py +0 -390
  355. networklab-26.2/netsim/devices/junos.yml +0 -94
  356. networklab-26.2/netsim/devices/none.yml +0 -152
  357. networklab-26.2/netsim/devices/nxos.yml +0 -81
  358. networklab-26.2/netsim/devices/openbsd.yml +0 -53
  359. networklab-26.2/netsim/devices/sonic.yml +0 -43
  360. networklab-26.2/netsim/devices/srlinux.yml +0 -109
  361. networklab-26.2/netsim/devices/sros.py +0 -116
  362. networklab-26.2/netsim/devices/sros.yml +0 -116
  363. networklab-26.2/netsim/devices/vjunos-router.py +0 -390
  364. networklab-26.2/netsim/devices/vjunos-router.yml +0 -31
  365. networklab-26.2/netsim/devices/vjunos-switch.yml +0 -37
  366. networklab-26.2/netsim/devices/vmx.py +0 -390
  367. networklab-26.2/netsim/devices/vptx.py +0 -390
  368. networklab-26.2/netsim/devices/vptx.yml +0 -40
  369. networklab-26.2/netsim/devices/vsrx.py +0 -390
  370. networklab-26.2/netsim/devices/vyos.yml +0 -108
  371. networklab-26.2/netsim/devices/xr.yml +0 -57
  372. networklab-26.2/netsim/extra/bgp.originate/defaults.yml +0 -12
  373. networklab-26.2/netsim/extra/bgp.originate/plugin.py +0 -42
  374. networklab-26.2/netsim/extra/bgp.policy/plugin.py +0 -345
  375. networklab-26.2/netsim/extra/bgp.session/defaults.yml +0 -103
  376. networklab-26.2/netsim/extra/bgp.session/ios.j2 +0 -97
  377. networklab-26.2/netsim/extra/bgp.session/plugin.py +0 -258
  378. networklab-26.2/netsim/extra/bgp.session/sros.j2 +0 -62
  379. networklab-26.2/netsim/extra/ebgp.multihop/arubacx.j2 +0 -27
  380. networklab-26.2/netsim/extra/ebgp.multihop/cumulus_nvue.j2 +0 -24
  381. networklab-26.2/netsim/extra/ebgp.multihop/dellos10.j2 +0 -30
  382. networklab-26.2/netsim/extra/ebgp.multihop/eos.j2 +0 -27
  383. networklab-26.2/netsim/extra/ebgp.multihop/frr.j2 +0 -28
  384. networklab-26.2/netsim/extra/ebgp.multihop/ios.j2 +0 -26
  385. networklab-26.2/netsim/extra/ebgp.multihop/junos.j2 +0 -43
  386. networklab-26.2/netsim/extra/ebgp.multihop/srlinux.j2 +0 -33
  387. networklab-26.2/netsim/extra/ebgp.multihop/sros.j2 +0 -27
  388. networklab-26.2/netsim/install/libvirt/fortios/openstack/latest/user_data +0 -35
  389. networklab-26.2/netsim/modules/__init__.py +0 -539
  390. networklab-26.2/netsim/modules/_routing.py +0 -872
  391. networklab-26.2/netsim/modules/bgp.py +0 -930
  392. networklab-26.2/netsim/modules/bgp.yml +0 -130
  393. networklab-26.2/netsim/modules/evpn.py +0 -582
  394. networklab-26.2/netsim/modules/evpn.yml +0 -38
  395. networklab-26.2/netsim/modules/mpls.py +0 -284
  396. networklab-26.2/netsim/modules/mpls.yml +0 -37
  397. networklab-26.2/netsim/modules/routing/__init__.py +0 -160
  398. networklab-26.2/netsim/modules/routing/aspath.py +0 -39
  399. networklab-26.2/netsim/modules/routing/clist.py +0 -153
  400. networklab-26.2/netsim/modules/routing/normalize.py +0 -195
  401. networklab-26.2/netsim/modules/routing/policy.py +0 -249
  402. networklab-26.2/netsim/modules/routing/prefix.py +0 -110
  403. networklab-26.2/netsim/modules/sr.py +0 -9
  404. networklab-26.2/netsim/modules/sr.yml +0 -13
  405. networklab-26.2/netsim/modules/srv6.py +0 -127
  406. networklab-26.2/netsim/modules/vrf.py +0 -595
  407. networklab-26.2/netsim/modules/vxlan.py +0 -249
  408. networklab-26.2/netsim/outputs/ansible.py +0 -264
  409. networklab-26.2/netsim/outputs/config.py +0 -91
  410. networklab-26.2/netsim/providers/__init__.py +0 -430
  411. networklab-26.2/netsim/providers/clab.yml +0 -55
  412. networklab-26.2/netsim/templates/provider/clab/cumulus/hosts-common.j2 +0 -38
  413. networklab-26.2/netsim/templates/provider/clab/cumulus/hosts.j2 +0 -15
  414. networklab-26.2/netsim/templates/provider/clab/frr/hosts-common.j2 +0 -38
  415. networklab-26.2/netsim/templates/provider/clab/frr/hosts.j2 +0 -15
  416. networklab-26.2/netsim/templates/provider/clab/linux/hosts-common.j2 +0 -38
  417. networklab-26.2/netsim/templates/provider/clab/linux/hosts.j2 +0 -15
  418. networklab-26.2/netsim/templates/provider/clab/srlinux/hosts-common.j2 +0 -38
  419. networklab-26.2/netsim/templates/provider/clab/srlinux/hosts.j2 +0 -15
  420. networklab-26.2/netsim/tools/suzieq.yml +0 -25
  421. networklab-26.2/netsim/utils/routing.py +0 -154
  422. networklab-26.2/netsim/utils/templates.py +0 -373
  423. networklab-26.2/netsim/validate/_common.py +0 -90
  424. networklab-26.2/netsim/validate/bgp/eos.py +0 -271
  425. networklab-26.2/netsim/validate/bgp/frr.py +0 -273
  426. networklab-26.2/netsim/validate/ospf/eos.py +0 -121
  427. networklab-26.2/netsim/validate/ospf/frr.py +0 -168
  428. networklab-26.2/networklab.egg-info/PKG-INFO +0 -113
  429. networklab-26.2/networklab.egg-info/SOURCES.txt +0 -1018
  430. {networklab-26.2 → networklab-26.4}/LICENSE.md +0 -0
  431. {networklab-26.2 → networklab-26.4}/MANIFEST.in +0 -0
  432. {networklab-26.2 → networklab-26.4}/netlab +0 -0
  433. {networklab-26.2 → networklab-26.4}/netsim/ansible/collect-configs.ansible +0 -0
  434. {networklab-26.2 → networklab-26.4}/netsim/ansible/config.ansible +0 -0
  435. {networklab-26.2 → networklab-26.4}/netsim/ansible/create-config.ansible +0 -0
  436. {networklab-26.2 → networklab-26.4}/netsim/ansible/device-ready.ansible +0 -0
  437. {networklab-26.2 → networklab-26.4}/netsim/ansible/initial-config.ansible +0 -0
  438. {networklab-26.2 → networklab-26.4}/netsim/ansible/missing.yml +0 -0
  439. {networklab-26.2 → networklab-26.4}/netsim/ansible/reload-config.ansible +0 -0
  440. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/create-config.yml +0 -0
  441. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/create-custom-config.yml +0 -0
  442. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/arcos.yml +0 -0
  443. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/arubacx.yml +0 -0
  444. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/asa.yml +0 -0
  445. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/cumulus.yml +0 -0
  446. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml +0 -0
  447. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/dellos10.yml +0 -0
  448. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/eos.yml +0 -0
  449. /networklab-26.2/netsim/ansible/tasks/deploy-config/fortinet.fortios.fortios.yml → /networklab-26.4/netsim/ansible/tasks/deploy-config/fortios.yml +0 -0
  450. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/frr.yml +0 -0
  451. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/ios.yml +0 -0
  452. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/iosxr.yml +0 -0
  453. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/junos.yml +0 -0
  454. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/linux-clab.yml +0 -0
  455. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/linux.yml +0 -0
  456. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/missing.yml +0 -0
  457. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/netscaler.yml +0 -0
  458. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/none.yml +0 -0
  459. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/nxos.yml +0 -0
  460. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/openbsd.yml +0 -0
  461. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/routeros.yml +0 -0
  462. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/routeros7.yml +0 -0
  463. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/sonic.yml +0 -0
  464. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/srlinux.yml +0 -0
  465. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/sros.yml +0 -0
  466. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/vyos-script.j2 +0 -0
  467. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-config/vyos.yml +0 -0
  468. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/deploy-module.yml +0 -0
  469. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/_config_cleanup.j2 +0 -0
  470. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/arcos.yml +0 -0
  471. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/arubacx.yml +0 -0
  472. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/asa.yml +0 -0
  473. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/cumulus.yml +0 -0
  474. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/cumulus_nvue.yml +0 -0
  475. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/dellos10.yml +0 -0
  476. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/eos.yml +0 -0
  477. /networklab-26.2/netsim/ansible/tasks/fetch-config/fortinet.fortios.fortios.yml → /networklab-26.4/netsim/ansible/tasks/fetch-config/fortios.yml +0 -0
  478. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/frr.yml +0 -0
  479. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/ios.yml +0 -0
  480. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/iosxr.yml +0 -0
  481. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/junos.yml +0 -0
  482. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/nxos.yml +0 -0
  483. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/routeros.yml +0 -0
  484. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/routeros7.yml +0 -0
  485. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/sonic.yml +0 -0
  486. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/srlinux.yml +0 -0
  487. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/sros.yml +0 -0
  488. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/fetch-config/vyos.yml +0 -0
  489. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/frr/deploy-config.yml +0 -0
  490. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/frr/initial-clab.yml +0 -0
  491. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/initial-config.yml +0 -0
  492. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/linux/dhcp.yml +0 -0
  493. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/cumulus_nvue.yml +0 -0
  494. /networklab-26.2/netsim/ansible/tasks/readiness-check/fortinet.fortios.fortios-clab.yml → /networklab-26.4/netsim/ansible/tasks/readiness-check/fortios-clab.yml +0 -0
  495. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/junos.yml +0 -0
  496. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/netscaler.yml +0 -0
  497. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/nxos.yml +0 -0
  498. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/sros.yml +0 -0
  499. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/srsim-hardware.j2 +0 -0
  500. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/srsim.yml +0 -0
  501. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/ssh.yml +0 -0
  502. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/readiness-check/vyos-clab.yml +0 -0
  503. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/reload-config/_copy_config.yml +0 -0
  504. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/reload-config/eos.yml +0 -0
  505. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/reload-config/ios.yml +0 -0
  506. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/reload-config/srlinux.yml +0 -0
  507. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/vmx/initial.yml +0 -0
  508. {networklab-26.2 → networklab-26.4}/netsim/ansible/tasks/wait-for-ready.yml +0 -0
  509. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/arubacx.j2 +0 -0
  510. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/cumulus.j2 +0 -0
  511. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/dellos10.j2 +0 -0
  512. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/eos.j2 +0 -0
  513. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/frr.j2 +0 -0
  514. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/ios.j2 +0 -0
  515. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/junos.j2 +0 -0
  516. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/none.j2 +0 -0
  517. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/nxos.j2 +0 -0
  518. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/srlinux.j2 +0 -0
  519. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/sros.j2 +0 -0
  520. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bfd/vyos.j2 +0 -0
  521. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/asa.j2 +0 -0
  522. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/asa.macro.j2 +0 -0
  523. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/cumulus.j2 +0 -0
  524. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/cumulus_nvue.j2 +0 -0
  525. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/dellos10.macro.j2 +0 -0
  526. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/eos.macro.j2 +0 -0
  527. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/none.j2 +0 -0
  528. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/routeros.j2 +0 -0
  529. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/routeros.macro.j2 +0 -0
  530. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/routeros7.j2 +0 -0
  531. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/routeros7.macro.j2 +0 -0
  532. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/sonic.j2 +0 -0
  533. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/srlinux.j2 +0 -0
  534. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/sros.j2 +0 -0
  535. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/bgp/vyos.macro.j2 +0 -0
  536. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/cumulus.j2 +0 -0
  537. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/dnsmasq.j2 +0 -0
  538. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/eos.j2 +0 -0
  539. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/eos.server.j2 +0 -0
  540. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/ios.j2 +0 -0
  541. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/ios.server.j2 +0 -0
  542. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/linux-isc-dhcp-relay.j2 +0 -0
  543. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/dhcp/linux.j2 +0 -0
  544. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/eigrp/ios.j2 +0 -0
  545. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/eigrp/nxos.j2 +0 -0
  546. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/arubacx.j2 +0 -0
  547. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/cumulus.j2 +0 -0
  548. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/cumulus_nvue.j2 +0 -0
  549. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/dellos10.j2 +0 -0
  550. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/eos.j2 +0 -0
  551. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/frr.evpn-config.j2 +0 -0
  552. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/frr.j2 +0 -0
  553. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/nxos.j2 +0 -0
  554. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/srlinux.j2 +0 -0
  555. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/sros.j2 +0 -0
  556. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/evpn/vyos.j2 +0 -0
  557. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/arubacx.j2 +0 -0
  558. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/cumulus.j2 +0 -0
  559. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/cumulus_nvue.j2 +0 -0
  560. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/dellos10.j2 +0 -0
  561. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/eos.j2 +0 -0
  562. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/frr.j2 +0 -0
  563. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/frr.vrrp-config.j2 +0 -0
  564. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/ios.j2 +0 -0
  565. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/junos.j2 +0 -0
  566. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/nxos.j2 +0 -0
  567. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/srlinux.j2 +0 -0
  568. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/sros.j2 +0 -0
  569. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/gateway/vyos.j2 +0 -0
  570. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/_debug_commands.j2 +0 -0
  571. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/arcos.j2 +0 -0
  572. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/arubacx.j2 +0 -0
  573. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/arubacx.vlan.j2 +0 -0
  574. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/arubacx.vrf.j2 +0 -0
  575. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/asa.j2 +0 -0
  576. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/bird-clab.j2 +0 -0
  577. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/cat8000v.vlan.j2 +0 -0
  578. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/csr.vlan.j2 +0 -0
  579. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/cumulus.j2 +0 -0
  580. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/cumulus_nvue.j2 +0 -0
  581. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/dellos10.j2 +0 -0
  582. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/dellos10.vrf.j2 +0 -0
  583. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/eos.j2 +0 -0
  584. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/eos.vrf.j2 +0 -0
  585. /networklab-26.2/netsim/ansible/templates/initial/fortinet.fortios.fortios.j2 → /networklab-26.4/netsim/ansible/templates/initial/fortios.j2 +0 -0
  586. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/frr/daemons.j2 +0 -0
  587. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/frr.j2 +0 -0
  588. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/iol.j2 +0 -0
  589. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/iol.vlan.j2 +0 -0
  590. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/ioll2.vlan.j2 +0 -0
  591. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/ios.j2 +0 -0
  592. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/ios.vlan.j2 +0 -0
  593. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/ios.vrf.j2 +0 -0
  594. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/iosvl2.vlan.j2 +0 -0
  595. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/iosxr.j2 +0 -0
  596. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/junos.j2 +0 -0
  597. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/junos.vlan.j2 +0 -0
  598. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/junos.vrf.j2 +0 -0
  599. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/bash_profile.j2 +0 -0
  600. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/create-bond.j2 +0 -0
  601. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/hosts-common.j2 +0 -0
  602. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/hosts.j2 +0 -0
  603. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/packages.j2 +0 -0
  604. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/ubuntu.j2 +0 -0
  605. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/vanilla-ifconfig.j2 +0 -0
  606. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux/vanilla.j2 +0 -0
  607. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux-clab.j2 +0 -0
  608. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/linux.j2 +0 -0
  609. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/netscaler.j2 +0 -0
  610. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/nxos.j2 +0 -0
  611. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/nxos.vrf.j2 +0 -0
  612. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/openbsd.j2 +0 -0
  613. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/routeros.j2 +0 -0
  614. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/routeros.vlan.j2 +0 -0
  615. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/routeros.vrf.j2 +0 -0
  616. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/routeros7.j2 +0 -0
  617. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/routeros7.vlan.j2 +0 -0
  618. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/routeros7.vrf.j2 +0 -0
  619. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/sonic.j2 +0 -0
  620. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/srlinux.j2 +0 -0
  621. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/sros.j2 +0 -0
  622. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/sros.openconfig.j2 +0 -0
  623. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/vyos.j2 +0 -0
  624. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/vyos.vlan.j2 +0 -0
  625. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/initial/vyos.vrf.j2 +0 -0
  626. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/asa.j2 +0 -0
  627. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/eos.j2 +0 -0
  628. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/eos.macro.j2 +0 -0
  629. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/frr.j2 +0 -0
  630. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/frr.macro.j2 +0 -0
  631. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/ios.j2 +0 -0
  632. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/iosxr.j2 +0 -0
  633. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/nxos.j2 +0 -0
  634. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/sros.openconfig.j2 +0 -0
  635. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/isis/vyos.j2 +0 -0
  636. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/arubacx.j2 +0 -0
  637. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/cumulus.j2 +0 -0
  638. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/cumulus_nvue.j2 +0 -0
  639. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/dellos10.j2 +0 -0
  640. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/eos.j2 +0 -0
  641. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/frr.j2 +0 -0
  642. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/ios.j2 +0 -0
  643. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/junos.j2 +0 -0
  644. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/linux-clab.j2 +0 -0
  645. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/linux.j2 +0 -0
  646. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/lag/vyos.j2 +0 -0
  647. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/missing.j2 +0 -0
  648. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/arubacx.j2 +0 -0
  649. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/arubacx.ldp.j2 +0 -0
  650. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/arubacx.mplsvpn.j2 +0 -0
  651. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/eos.6pe.j2 +0 -0
  652. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/eos.bgp-lu.j2 +0 -0
  653. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/eos.j2 +0 -0
  654. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/eos.ldp.j2 +0 -0
  655. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/eos.mplsvpn.j2 +0 -0
  656. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/frr.frr-config.j2 +0 -0
  657. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/frr.j2 +0 -0
  658. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/frr.ldp.j2 +0 -0
  659. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/ios.bgp-lu.j2 +0 -0
  660. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/ios.ldp.j2 +0 -0
  661. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/junos.j2 +0 -0
  662. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/routeros.j2 +0 -0
  663. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/routeros.ldp.j2 +0 -0
  664. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/routeros.mplsvpn.j2 +0 -0
  665. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/routeros7.j2 +0 -0
  666. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/routeros7.ldp.j2 +0 -0
  667. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/routeros7.mplsvpn.j2 +0 -0
  668. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/srlinux.j2 +0 -0
  669. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/srlinux.ldp.j2 +0 -0
  670. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/sros.ldp.j2 +0 -0
  671. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/sros.mplsvpn.j2 +0 -0
  672. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/vyos.j2 +0 -0
  673. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/mpls/vyos.ldp.j2 +0 -0
  674. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/normalize/ioll2.j2 +0 -0
  675. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/normalize/iosvl2.j2 +0 -0
  676. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/arcos.j2 +0 -0
  677. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/arubacx.j2 +0 -0
  678. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/arubacx.ospfv2.j2 +0 -0
  679. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/arubacx.ospfv3.j2 +0 -0
  680. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/asa.j2 +0 -0
  681. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/asa.ospfv2.j2 +0 -0
  682. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus.j2 +0 -0
  683. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus.ospfv2.j2 +0 -0
  684. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus.ospfv3.j2 +0 -0
  685. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus_nvue.j2 +0 -0
  686. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.j2 +0 -0
  687. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.macro.j2 +0 -0
  688. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.ospfv2.j2 +0 -0
  689. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.ospfv3.j2 +0 -0
  690. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/eos.j2 +0 -0
  691. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/eos.ospfv2.j2 +0 -0
  692. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/eos.ospfv3.j2 +0 -0
  693. /networklab-26.2/netsim/ansible/templates/ospf/fortinet.fortios.fortios.j2 → /networklab-26.4/netsim/ansible/templates/ospf/fortios.j2 +0 -0
  694. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/frr.j2 +0 -0
  695. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/frr.ospfv2.j2 +0 -0
  696. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/frr.ospfv3.j2 +0 -0
  697. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/ios.j2 +0 -0
  698. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/ios.ospfv2.j2 +0 -0
  699. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/ios.ospfv3.j2 +0 -0
  700. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/iosxr.j2 +0 -0
  701. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/junos.j2 +0 -0
  702. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/junos.macro.j2 +0 -0
  703. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/none.j2 +0 -0
  704. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/nxos.j2 +0 -0
  705. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/nxos.ospfv2.j2 +0 -0
  706. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/nxos.ospfv3.j2 +0 -0
  707. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/openbsd.j2 +0 -0
  708. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/openbsd.ospfv2.j2 +0 -0
  709. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/openbsd.ospfv3.j2 +0 -0
  710. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/routeros.j2 +0 -0
  711. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/routeros7.j2 +0 -0
  712. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/routeros7.ospf-include.j2 +0 -0
  713. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/srlinux.j2 +0 -0
  714. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/sros.openconfig.j2 +0 -0
  715. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.default.j2 +0 -0
  716. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.j2 +0 -0
  717. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.ospfv2.j2 +0 -0
  718. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.ospfv3.j2 +0 -0
  719. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/cumulus.j2 +0 -0
  720. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/eos.j2 +0 -0
  721. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/frr.j2 +0 -0
  722. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/frr.macro.j2 +0 -0
  723. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/ios.j2 +0 -0
  724. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/ios.macro.j2 +0 -0
  725. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/openbsd.j2 +0 -0
  726. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/openbsd.ripng.j2 +0 -0
  727. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/openbsd.ripv2.j2 +0 -0
  728. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/sros.j2 +0 -0
  729. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/ripv2/vyos.j2 +0 -0
  730. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_default.ios.j2 +0 -0
  731. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_prefix_list_ios.j2 +0 -0
  732. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_prefix_list_vyos.j2 +0 -0
  733. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.cumulus_nvue.j2 +0 -0
  734. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.dellos10.j2 +0 -0
  735. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.eos.j2 +0 -0
  736. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.frr.j2 +0 -0
  737. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.ios.j2 +0 -0
  738. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_route_map_ios.j2 +0 -0
  739. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/_route_policy_vyos.j2 +0 -0
  740. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/arubacx.j2 +0 -0
  741. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/cumulus.j2 +0 -0
  742. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/cumulus_nvue.j2 +0 -0
  743. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/dellos10.j2 +0 -0
  744. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/eos.j2 +0 -0
  745. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/frr.j2 +0 -0
  746. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/ios.j2 +0 -0
  747. /networklab-26.2/netsim/ansible/templates/routing/_prefix_list_junos.j2 → /networklab-26.4/netsim/ansible/templates/routing/junos/prefix_list.j2 +0 -0
  748. /networklab-26.2/netsim/ansible/templates/routing/_route_policy_junos.j2 → /networklab-26.4/netsim/ansible/templates/routing/junos/route_policy.j2 +0 -0
  749. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/linux/ubuntu.j2 +0 -0
  750. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/linux/vanilla.j2 +0 -0
  751. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/linux-clab.j2 +0 -0
  752. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/linux.j2 +0 -0
  753. /networklab-26.2/netsim/ansible/templates/routing/_redistribute.srlinux.j2 → /networklab-26.4/netsim/ansible/templates/routing/srlinux/redistribute.j2 +0 -0
  754. /networklab-26.2/netsim/ansible/templates/routing/_redistribute.sros.j2 → /networklab-26.4/netsim/ansible/templates/routing/sros/redistribute.j2 +0 -0
  755. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/routing/vyos.j2 +0 -0
  756. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/srv6/frr.bgp.j2 +0 -0
  757. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/srv6/frr.j2 +0 -0
  758. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/srv6/ios.bgp.j2 +0 -0
  759. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/srv6/ios.j2 +0 -0
  760. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/srv6/sros.j2 +0 -0
  761. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/arubacx.j2 +0 -0
  762. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/cumulus.j2 +0 -0
  763. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/cumulus_nvue.j2 +0 -0
  764. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/dellos10.j2 +0 -0
  765. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/eos.j2 +0 -0
  766. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/frr.j2 +0 -0
  767. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/stp/ios.j2 +0 -0
  768. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/arubacx.j2 +0 -0
  769. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/cat8000v.essentials.j2 +0 -0
  770. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/cat8000v.j2 +0 -0
  771. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/cisco8000v.j2 +0 -0
  772. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/csr.j2 +0 -0
  773. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/cumulus.j2 +0 -0
  774. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/cumulus_nvue.j2 +0 -0
  775. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/dellos10.j2 +0 -0
  776. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/eos.j2 +0 -0
  777. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/frr.j2 +0 -0
  778. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/iol.j2 +0 -0
  779. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/ioll2.j2 +0 -0
  780. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/ios.j2 +0 -0
  781. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/iosvl2.j2 +0 -0
  782. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/linux-clab.j2 +0 -0
  783. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/nxos.j2 +0 -0
  784. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/routeros.j2 +0 -0
  785. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/routeros7.j2 +0 -0
  786. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/srlinux.j2 +0 -0
  787. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/sros.j2 +0 -0
  788. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/vjunos-switch.j2 +0 -0
  789. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/vmx.j2 +0 -0
  790. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/vsrx.j2 +0 -0
  791. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vlan/vyos.j2 +0 -0
  792. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.j2 +0 -0
  793. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.ospfv2-vrf.j2 +0 -0
  794. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.ospfv3-vrf.j2 +0 -0
  795. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/cumulus.j2 +0 -0
  796. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/cumulus_nvue.j2 +0 -0
  797. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/dellos10.j2 +0 -0
  798. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/dellos10.ospfv2-vrf.j2 +0 -0
  799. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/eos.j2 +0 -0
  800. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/frr.frr-config.j2 +0 -0
  801. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/frr.j2 +0 -0
  802. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/ios.j2 +0 -0
  803. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/iosxr.j2 +0 -0
  804. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/junos.j2 +0 -0
  805. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/nxos.j2 +0 -0
  806. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/nxos.ospfv2-vrf.j2 +0 -0
  807. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/routeros.bgp.j2 +0 -0
  808. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/routeros.j2 +0 -0
  809. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/routeros.ospfv2-vrf.j2 +0 -0
  810. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/routeros7.bgp.j2 +0 -0
  811. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/routeros7.j2 +0 -0
  812. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/routeros7.ospfv2-vrf.j2 +0 -0
  813. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/sros.j2 +0 -0
  814. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.j2 +0 -0
  815. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.ospfv2-vrf.j2 +0 -0
  816. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.ospfv3-vrf.j2 +0 -0
  817. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/arubacx.j2 +0 -0
  818. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/cumulus.j2 +0 -0
  819. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/cumulus_nvue.j2 +0 -0
  820. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/dellos10.j2 +0 -0
  821. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/eos.j2 +0 -0
  822. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/frr.j2 +0 -0
  823. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/ios.j2 +0 -0
  824. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/nxos.j2 +0 -0
  825. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/srlinux.j2 +0 -0
  826. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/sros.j2 +0 -0
  827. {networklab-26.2 → networklab-26.4}/netsim/ansible/templates/vxlan/vyos.j2 +0 -0
  828. {networklab-26.2 → networklab-26.4}/netsim/api/__init__.py +0 -0
  829. {networklab-26.2 → networklab-26.4}/netsim/augment/__init__.py +0 -0
  830. {networklab-26.2 → networklab-26.4}/netsim/augment/addressing.py +0 -0
  831. {networklab-26.2 → networklab-26.4}/netsim/augment/components.py +0 -0
  832. {networklab-26.2 → networklab-26.4}/netsim/augment/config.py +0 -0
  833. {networklab-26.2 → networklab-26.4}/netsim/augment/devices.py +0 -0
  834. {networklab-26.2 → networklab-26.4}/netsim/augment/groups.py +0 -0
  835. {networklab-26.2 → networklab-26.4}/netsim/augment/links.py +0 -0
  836. {networklab-26.2 → networklab-26.4}/netsim/augment/nodes.py +0 -0
  837. {networklab-26.2 → networklab-26.4}/netsim/augment/plugin.py +0 -0
  838. {networklab-26.2 → networklab-26.4}/netsim/augment/tools.py +0 -0
  839. {networklab-26.2 → networklab-26.4}/netsim/augment/topology.py +0 -0
  840. {networklab-26.2 → networklab-26.4}/netsim/augment/validate.py +0 -0
  841. {networklab-26.2 → networklab-26.4}/netsim/cli/__init__.py +0 -0
  842. {networklab-26.2 → networklab-26.4}/netsim/cli/_nodeset.py +0 -0
  843. {networklab-26.2 → networklab-26.4}/netsim/cli/alias.txt +0 -0
  844. {networklab-26.2 → networklab-26.4}/netsim/cli/api.py +0 -0
  845. {networklab-26.2 → networklab-26.4}/netsim/cli/capture.py +0 -0
  846. {networklab-26.2 → networklab-26.4}/netsim/cli/clab.py +0 -0
  847. {networklab-26.2 → networklab-26.4}/netsim/cli/clab_actions/__init__.py +0 -0
  848. {networklab-26.2 → networklab-26.4}/netsim/cli/clab_actions/build.py +0 -0
  849. {networklab-26.2 → networklab-26.4}/netsim/cli/clab_actions/cleanup.py +0 -0
  850. {networklab-26.2 → networklab-26.4}/netsim/cli/clab_actions/tarball.py +0 -0
  851. {networklab-26.2 → networklab-26.4}/netsim/cli/collect.py +0 -0
  852. {networklab-26.2 → networklab-26.4}/netsim/cli/connect.py +0 -0
  853. {networklab-26.2 → networklab-26.4}/netsim/cli/create.py +0 -0
  854. {networklab-26.2 → networklab-26.4}/netsim/cli/defaults.py +0 -0
  855. {networklab-26.2 → networklab-26.4}/netsim/cli/down.py +0 -0
  856. {networklab-26.2 → networklab-26.4}/netsim/cli/empty.yml +0 -0
  857. {networklab-26.2 → networklab-26.4}/netsim/cli/external_commands.py +0 -0
  858. {networklab-26.2 → networklab-26.4}/netsim/cli/graph.py +0 -0
  859. {networklab-26.2 → networklab-26.4}/netsim/cli/help.py +0 -0
  860. {networklab-26.2 → networklab-26.4}/netsim/cli/initial/__init__.py +0 -0
  861. {networklab-26.2 → networklab-26.4}/netsim/cli/initial/configs.py +0 -0
  862. {networklab-26.2 → networklab-26.4}/netsim/cli/initial/ready.py +0 -0
  863. {networklab-26.2 → networklab-26.4}/netsim/cli/initial/utils.py +0 -0
  864. {networklab-26.2 → networklab-26.4}/netsim/cli/inspect.py +0 -0
  865. {networklab-26.2 → networklab-26.4}/netsim/cli/install.py +0 -0
  866. {networklab-26.2 → networklab-26.4}/netsim/cli/libvirt/__init__.py +0 -0
  867. {networklab-26.2 → networklab-26.4}/netsim/cli/libvirt/config.py +0 -0
  868. {networklab-26.2 → networklab-26.4}/netsim/cli/libvirt/package.py +0 -0
  869. {networklab-26.2 → networklab-26.4}/netsim/cli/libvirt/remove.py +0 -0
  870. {networklab-26.2 → networklab-26.4}/netsim/cli/read.py +0 -0
  871. {networklab-26.2 → networklab-26.4}/netsim/cli/report.py +0 -0
  872. {networklab-26.2 → networklab-26.4}/netsim/cli/restart.py +0 -0
  873. {networklab-26.2 → networklab-26.4}/netsim/cli/show-usage.txt +0 -0
  874. {networklab-26.2 → networklab-26.4}/netsim/cli/tc.py +0 -0
  875. {networklab-26.2 → networklab-26.4}/netsim/cli/test.py +0 -0
  876. {networklab-26.2 → networklab-26.4}/netsim/cli/up.py +0 -0
  877. {networklab-26.2 → networklab-26.4}/netsim/cli/usage.py +0 -0
  878. {networklab-26.2 → networklab-26.4}/netsim/cli/usage.txt +0 -0
  879. {networklab-26.2 → networklab-26.4}/netsim/cli/usage_actions/__init__.py +0 -0
  880. {networklab-26.2 → networklab-26.4}/netsim/cli/usage_actions/show.py +0 -0
  881. {networklab-26.2 → networklab-26.4}/netsim/cli/usage_actions/utils.py +0 -0
  882. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/__init__.py +0 -0
  883. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/devices.py +0 -0
  884. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/parse.py +0 -0
  885. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/plugin.py +0 -0
  886. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/report.py +0 -0
  887. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/source.py +0 -0
  888. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/suzieq.py +0 -0
  889. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/tests.py +0 -0
  890. {networklab-26.2 → networklab-26.4}/netsim/cli/validate/utils.py +0 -0
  891. {networklab-26.2 → networklab-26.4}/netsim/cli/version.py +0 -0
  892. {networklab-26.2 → networklab-26.4}/netsim/common.py +0 -0
  893. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/Dockerfile +0 -0
  894. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/Dockerfile.v3 +0 -0
  895. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/bfd.j2 +0 -0
  896. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/bird.j2 +0 -0
  897. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/protocols.j2 +0 -0
  898. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/radv.j2 +0 -0
  899. {networklab-26.2 → networklab-26.4}/netsim/daemons/bird/routing.j2 +0 -0
  900. {networklab-26.2 → networklab-26.4}/netsim/daemons/dnsmasq/Dockerfile +0 -0
  901. {networklab-26.2 → networklab-26.4}/netsim/daemons/dnsmasq/dhcp.j2 +0 -0
  902. {networklab-26.2 → networklab-26.4}/netsim/daemons/dnsmasq/dnsmasq.j2 +0 -0
  903. {networklab-26.2 → networklab-26.4}/netsim/daemons/dnsmasq.yml +0 -0
  904. {networklab-26.2 → networklab-26.4}/netsim/daemons/kind/initial.j2 +0 -0
  905. {networklab-26.2 → networklab-26.4}/netsim/daemons/kind.yml +0 -0
  906. {networklab-26.2 → networklab-26.4}/netsim/daemons/netscaler/Dockerfile.j2 +0 -0
  907. {networklab-26.2 → networklab-26.4}/netsim/data/__init__.py +0 -0
  908. {networklab-26.2 → networklab-26.4}/netsim/data/filemaps.py +0 -0
  909. {networklab-26.2 → networklab-26.4}/netsim/data/global_vars.py +0 -0
  910. {networklab-26.2 → networklab-26.4}/netsim/defaults/addressing.yml +0 -0
  911. {networklab-26.2 → networklab-26.4}/netsim/defaults/automation.yml +0 -0
  912. {networklab-26.2 → networklab-26.4}/netsim/defaults/const.yml +0 -0
  913. {networklab-26.2 → networklab-26.4}/netsim/defaults/hints.yml +0 -0
  914. {networklab-26.2 → networklab-26.4}/netsim/defaults/multilab.yml +0 -0
  915. {networklab-26.2 → networklab-26.4}/netsim/defaults/netlab.yml +0 -0
  916. {networklab-26.2 → networklab-26.4}/netsim/defaults/paths.yml +0 -0
  917. {networklab-26.2 → networklab-26.4}/netsim/defaults/ports.yml +0 -0
  918. {networklab-26.2 → networklab-26.4}/netsim/defaults/warnings.yml +0 -0
  919. {networklab-26.2 → networklab-26.4}/netsim/devices/__init__.py +0 -0
  920. {networklab-26.2 → networklab-26.4}/netsim/devices/_common.py +0 -0
  921. {networklab-26.2 → networklab-26.4}/netsim/devices/arubacx.py +0 -0
  922. {networklab-26.2 → networklab-26.4}/netsim/devices/asav.py +0 -0
  923. {networklab-26.2 → networklab-26.4}/netsim/devices/asav.yml +0 -0
  924. {networklab-26.2 → networklab-26.4}/netsim/devices/bird.py +0 -0
  925. {networklab-26.2 → networklab-26.4}/netsim/devices/cat8000v.py +0 -0
  926. {networklab-26.2 → networklab-26.4}/netsim/devices/cisco8000v.yml +0 -0
  927. {networklab-26.2 → networklab-26.4}/netsim/devices/csr.py +0 -0
  928. {networklab-26.2 → networklab-26.4}/netsim/devices/cumulus.py +0 -0
  929. {networklab-26.2 → networklab-26.4}/netsim/devices/cumulus_nvue.py +0 -0
  930. {networklab-26.2 → networklab-26.4}/netsim/devices/dellos10.py +0 -0
  931. {networklab-26.2 → networklab-26.4}/netsim/devices/eos.py +0 -0
  932. {networklab-26.2 → networklab-26.4}/netsim/devices/frr.py +0 -0
  933. {networklab-26.2 → networklab-26.4}/netsim/devices/ioll2.py +0 -0
  934. {networklab-26.2 → networklab-26.4}/netsim/devices/ioll2.yml +0 -0
  935. {networklab-26.2 → networklab-26.4}/netsim/devices/iosv.py +0 -0
  936. {networklab-26.2 → networklab-26.4}/netsim/devices/iosv.yml +0 -0
  937. {networklab-26.2 → networklab-26.4}/netsim/devices/iosvl2.py +0 -0
  938. {networklab-26.2 → networklab-26.4}/netsim/devices/iosvl2.yml +0 -0
  939. {networklab-26.2 → networklab-26.4}/netsim/devices/linux.py +0 -0
  940. {networklab-26.2 → networklab-26.4}/netsim/devices/linux.yml +0 -0
  941. {networklab-26.2 → networklab-26.4}/netsim/devices/netscaler.yml +0 -0
  942. {networklab-26.2 → networklab-26.4}/netsim/devices/nxos.py +0 -0
  943. {networklab-26.2 → networklab-26.4}/netsim/devices/openbsd.py +0 -0
  944. {networklab-26.2 → networklab-26.4}/netsim/devices/routeros.yml +0 -0
  945. {networklab-26.2 → networklab-26.4}/netsim/devices/routeros7.yml +0 -0
  946. {networklab-26.2 → networklab-26.4}/netsim/devices/srlinux.py +0 -0
  947. {networklab-26.2 → networklab-26.4}/netsim/devices/srsim.py +0 -0
  948. {networklab-26.2 → networklab-26.4}/netsim/devices/srsim.yml +0 -0
  949. {networklab-26.2 → networklab-26.4}/netsim/devices/unknown.py +0 -0
  950. {networklab-26.2 → networklab-26.4}/netsim/devices/unknown.yml +0 -0
  951. {networklab-26.2 → networklab-26.4}/netsim/devices/vjunos-switch.py +0 -0
  952. {networklab-26.2 → networklab-26.4}/netsim/devices/vmx.yml +0 -0
  953. {networklab-26.2 → networklab-26.4}/netsim/devices/vsrx.yml +0 -0
  954. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.domain/defaults.yml +0 -0
  955. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.domain/plugin.py +0 -0
  956. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/_route_map_ios.j2 +0 -0
  957. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/arubacx.j2 +0 -0
  958. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/cumulus.j2 +0 -0
  959. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/defaults.yml +0 -0
  960. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/dellos10.j2 +0 -0
  961. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/eos.j2 +0 -0
  962. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/frr.j2 +0 -0
  963. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/ios.j2 +0 -0
  964. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/junos.j2 +0 -0
  965. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/simple-attributes.yml +0 -0
  966. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/srlinux.j2 +0 -0
  967. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/sros.j2 +0 -0
  968. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.policy/vyos.j2 +0 -0
  969. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/_sample_bfd_template.j2 +0 -0
  970. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/arubacx.j2 +0 -0
  971. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/bird.j2 +0 -0
  972. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/cumulus.j2 +0 -0
  973. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/cumulus_nvue.j2 +0 -0
  974. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/dellos10.j2 +0 -0
  975. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/eos.j2 +0 -0
  976. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/frr.j2 +0 -0
  977. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/junos.j2 +0 -0
  978. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/nxos.j2 +0 -0
  979. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/routeros7.j2 +0 -0
  980. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/srlinux.j2 +0 -0
  981. {networklab-26.2 → networklab-26.4}/netsim/extra/bgp.session/vyos.j2 +0 -0
  982. {networklab-26.2 → networklab-26.4}/netsim/extra/bonding/defaults.yml +0 -0
  983. {networklab-26.2 → networklab-26.4}/netsim/extra/bonding/frr.j2 +0 -0
  984. {networklab-26.2 → networklab-26.4}/netsim/extra/bonding/linux-clab.j2 +0 -0
  985. {networklab-26.2 → networklab-26.4}/netsim/extra/bonding/linux.j2 +0 -0
  986. {networklab-26.2 → networklab-26.4}/netsim/extra/bonding/plugin.py +0 -0
  987. {networklab-26.2 → networklab-26.4}/netsim/extra/check.config/plugin.py +0 -0
  988. {networklab-26.2 → networklab-26.4}/netsim/extra/ebgp.multihop/cumulus.j2 +0 -0
  989. {networklab-26.2 → networklab-26.4}/netsim/extra/ebgp.multihop/defaults.yml +0 -0
  990. {networklab-26.2 → networklab-26.4}/netsim/extra/ebgp.multihop/ebgp-multihop-load-balancing.yml +0 -0
  991. {networklab-26.2 → networklab-26.4}/netsim/extra/ebgp.multihop/plugin.py +0 -0
  992. {networklab-26.2 → networklab-26.4}/netsim/extra/ebgp.utils/plugin.py +0 -0
  993. {networklab-26.2 → networklab-26.4}/netsim/extra/evpn.multihoming/cumulus_nvue.j2 +0 -0
  994. {networklab-26.2 → networklab-26.4}/netsim/extra/evpn.multihoming/defaults.yml +0 -0
  995. {networklab-26.2 → networklab-26.4}/netsim/extra/evpn.multihoming/eos.j2 +0 -0
  996. {networklab-26.2 → networklab-26.4}/netsim/extra/evpn.multihoming/frr.j2 +0 -0
  997. {networklab-26.2 → networklab-26.4}/netsim/extra/evpn.multihoming/plugin.py +0 -0
  998. {networklab-26.2 → networklab-26.4}/netsim/extra/evpn.multihoming/vjunos-switch.j2 +0 -0
  999. {networklab-26.2 → networklab-26.4}/netsim/extra/fabric/defaults.yml +0 -0
  1000. {networklab-26.2 → networklab-26.4}/netsim/extra/fabric/plugin.py +0 -0
  1001. {networklab-26.2 → networklab-26.4}/netsim/extra/files/defaults.yml +0 -0
  1002. {networklab-26.2 → networklab-26.4}/netsim/extra/files/plugin.py +0 -0
  1003. {networklab-26.2 → networklab-26.4}/netsim/extra/firewall.zonebased/defaults.yml +0 -0
  1004. /networklab-26.2/netsim/extra/firewall.zonebased/deploy.fortinet.fortios.fortios.yml → /networklab-26.4/netsim/extra/firewall.zonebased/deploy.fortios.yml +0 -0
  1005. /networklab-26.2/netsim/extra/firewall.zonebased/fortinet.fortios.fortios.j2 → /networklab-26.4/netsim/extra/firewall.zonebased/fortios.j2 +0 -0
  1006. {networklab-26.2 → networklab-26.4}/netsim/extra/firewall.zonebased/plugin.py +0 -0
  1007. {networklab-26.2 → networklab-26.4}/netsim/extra/firewall.zonebased/vsrx.j2 +0 -0
  1008. {networklab-26.2 → networklab-26.4}/netsim/extra/firewall.zonebased/vyos.j2 +0 -0
  1009. {networklab-26.2 → networklab-26.4}/netsim/extra/kind/defaults.yml +0 -0
  1010. {networklab-26.2 → networklab-26.4}/netsim/extra/kind/plugin.py +0 -0
  1011. {networklab-26.2 → networklab-26.4}/netsim/extra/mlag.vtep/defaults.yml +0 -0
  1012. {networklab-26.2 → networklab-26.4}/netsim/extra/mlag.vtep/plugin.py +0 -0
  1013. {networklab-26.2 → networklab-26.4}/netsim/extra/multilab/__init__.py +0 -0
  1014. {networklab-26.2 → networklab-26.4}/netsim/extra/node.clone/defaults.yml +0 -0
  1015. {networklab-26.2 → networklab-26.4}/netsim/extra/node.clone/plugin.py +0 -0
  1016. {networklab-26.2 → networklab-26.4}/netsim/extra/none/none.j2 +0 -0
  1017. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/arubacx.j2 +0 -0
  1018. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/cumulus_nvue.j2 +0 -0
  1019. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/defaults.yml +0 -0
  1020. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/dellos10.j2 +0 -0
  1021. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/eos.j2 +0 -0
  1022. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/frr.j2 +0 -0
  1023. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/ios.j2 +0 -0
  1024. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/junos.j2 +0 -0
  1025. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/plugin.py +0 -0
  1026. {networklab-26.2 → networklab-26.4}/netsim/extra/ospf.areas/srlinux.j2 +0 -0
  1027. {networklab-26.2 → networklab-26.4}/netsim/extra/proxy-arp/plugin.py +0 -0
  1028. {networklab-26.2 → networklab-26.4}/netsim/extra/proxy-arp/srlinux.j2 +0 -0
  1029. {networklab-26.2 → networklab-26.4}/netsim/extra/proxy-arp/sros.j2 +0 -0
  1030. {networklab-26.2 → networklab-26.4}/netsim/extra/test.fixup/plugin.py +0 -0
  1031. {networklab-26.2 → networklab-26.4}/netsim/extra/test.vrf_check/plugin.py +0 -0
  1032. {networklab-26.2 → networklab-26.4}/netsim/extra/vrrp.version/cumulus_nvue.j2 +0 -0
  1033. {networklab-26.2 → networklab-26.4}/netsim/extra/vrrp.version/defaults.yml +0 -0
  1034. {networklab-26.2 → networklab-26.4}/netsim/extra/vrrp.version/dellos10.j2 +0 -0
  1035. {networklab-26.2 → networklab-26.4}/netsim/extra/vrrp.version/plugin.py +0 -0
  1036. {networklab-26.2 → networklab-26.4}/netsim/install/ansible.sh +0 -0
  1037. {networklab-26.2 → networklab-26.4}/netsim/install/apt-get-update.sh +0 -0
  1038. {networklab-26.2 → networklab-26.4}/netsim/install/containerlab.sh +0 -0
  1039. {networklab-26.2 → networklab-26.4}/netsim/install/graph.sh +0 -0
  1040. {networklab-26.2 → networklab-26.4}/netsim/install/grpc.sh +0 -0
  1041. {networklab-26.2 → networklab-26.4}/netsim/install/install.yml +0 -0
  1042. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/arubacx.txt +0 -0
  1043. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/asav/day0-config +0 -0
  1044. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/asav.txt +0 -0
  1045. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/asav.xml.j2 +0 -0
  1046. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/cat8000v/iosxe_config.txt +0 -0
  1047. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/cat8000v.txt +0 -0
  1048. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/cat8000v.xml.j2 +0 -0
  1049. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/csr.txt +0 -0
  1050. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/dellos10/run.sh +0 -0
  1051. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/dellos10.txt +0 -0
  1052. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/eos.txt +0 -0
  1053. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/eos.xml.j2 +0 -0
  1054. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/fortios.txt +0 -0
  1055. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/fortios.xml.j2 +0 -0
  1056. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/frr/meta-data +0 -0
  1057. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/frr/user-data.j2 +0 -0
  1058. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/frr.xml.j2 +0 -0
  1059. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/iosv.txt +0 -0
  1060. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/iosv.xml.j2 +0 -0
  1061. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/iosvl2.txt +0 -0
  1062. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/iosxr/iosxr_config.txt +0 -0
  1063. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/iosxr.txt +0 -0
  1064. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/nxos.txt +0 -0
  1065. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/nxos.xml.j2 +0 -0
  1066. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/openbsd/meta-data +0 -0
  1067. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/openbsd/network-config +0 -0
  1068. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/openbsd/user-data +0 -0
  1069. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/openbsd.txt +0 -0
  1070. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/openbsd.xml.j2 +0 -0
  1071. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/routeros7.txt +0 -0
  1072. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/sonic.txt +0 -0
  1073. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/sonic.xml.j2 +0 -0
  1074. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vptx/juniper.conf +0 -0
  1075. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vptx/make-config.sh +0 -0
  1076. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vptx/run.sh +0 -0
  1077. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vptx.txt +0 -0
  1078. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vptx.xml.j2 +0 -0
  1079. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vsrx/juniper.conf +0 -0
  1080. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt/vsrx.txt +0 -0
  1081. {networklab-26.2 → networklab-26.4}/netsim/install/libvirt.sh +0 -0
  1082. {networklab-26.2 → networklab-26.4}/netsim/install/ubuntu.sh +0 -0
  1083. {networklab-26.2 → networklab-26.4}/netsim/modules/_dataplane.py +0 -0
  1084. {networklab-26.2 → networklab-26.4}/netsim/modules/bfd.py +0 -0
  1085. {networklab-26.2 → networklab-26.4}/netsim/modules/bfd.yml +0 -0
  1086. {networklab-26.2 → networklab-26.4}/netsim/modules/dhcp.py +0 -0
  1087. {networklab-26.2 → networklab-26.4}/netsim/modules/dhcp.yml +0 -0
  1088. {networklab-26.2 → networklab-26.4}/netsim/modules/eigrp.py +0 -0
  1089. {networklab-26.2 → networklab-26.4}/netsim/modules/eigrp.yml +0 -0
  1090. {networklab-26.2 → networklab-26.4}/netsim/modules/gateway.py +0 -0
  1091. {networklab-26.2 → networklab-26.4}/netsim/modules/gateway.yml +0 -0
  1092. {networklab-26.2 → networklab-26.4}/netsim/modules/initial.yml +0 -0
  1093. {networklab-26.2 → networklab-26.4}/netsim/modules/isis.py +0 -0
  1094. {networklab-26.2 → networklab-26.4}/netsim/modules/isis.yml +0 -0
  1095. {networklab-26.2 → networklab-26.4}/netsim/modules/lag.py +0 -0
  1096. {networklab-26.2 → networklab-26.4}/netsim/modules/lag.yml +0 -0
  1097. {networklab-26.2 → networklab-26.4}/netsim/modules/ospf.py +0 -0
  1098. {networklab-26.2 → networklab-26.4}/netsim/modules/ospf.yml +0 -0
  1099. {networklab-26.2 → networklab-26.4}/netsim/modules/ripv2.py +0 -0
  1100. {networklab-26.2 → networklab-26.4}/netsim/modules/ripv2.yml +0 -0
  1101. {networklab-26.2 → networklab-26.4}/netsim/modules/routing/static.py +0 -0
  1102. {networklab-26.2 → networklab-26.4}/netsim/modules/routing.yml +0 -0
  1103. {networklab-26.2 → networklab-26.4}/netsim/modules/srv6.yml +0 -0
  1104. {networklab-26.2 → networklab-26.4}/netsim/modules/stp.py +0 -0
  1105. {networklab-26.2 → networklab-26.4}/netsim/modules/stp.yml +0 -0
  1106. {networklab-26.2 → networklab-26.4}/netsim/modules/vlan.py +0 -0
  1107. {networklab-26.2 → networklab-26.4}/netsim/modules/vlan.yml +0 -0
  1108. {networklab-26.2 → networklab-26.4}/netsim/modules/vrf.yml +0 -0
  1109. {networklab-26.2 → networklab-26.4}/netsim/modules/vxlan.yml +0 -0
  1110. {networklab-26.2 → networklab-26.4}/netsim/outputs/__init__.py +0 -0
  1111. {networklab-26.2 → networklab-26.4}/netsim/outputs/_graph.py +0 -0
  1112. {networklab-26.2 → networklab-26.4}/netsim/outputs/ansible.yml +0 -0
  1113. {networklab-26.2 → networklab-26.4}/netsim/outputs/common.py +0 -0
  1114. {networklab-26.2 → networklab-26.4}/netsim/outputs/d2.py +0 -0
  1115. {networklab-26.2 → networklab-26.4}/netsim/outputs/d2.yml +0 -0
  1116. {networklab-26.2 → networklab-26.4}/netsim/outputs/devices.py +0 -0
  1117. {networklab-26.2 → networklab-26.4}/netsim/outputs/format.py +0 -0
  1118. {networklab-26.2 → networklab-26.4}/netsim/outputs/graph.py +0 -0
  1119. {networklab-26.2 → networklab-26.4}/netsim/outputs/graph.yml +0 -0
  1120. {networklab-26.2 → networklab-26.4}/netsim/outputs/graphite.py +0 -0
  1121. {networklab-26.2 → networklab-26.4}/netsim/outputs/json.py +0 -0
  1122. {networklab-26.2 → networklab-26.4}/netsim/outputs/none.py +0 -0
  1123. {networklab-26.2 → networklab-26.4}/netsim/outputs/pickle.py +0 -0
  1124. {networklab-26.2 → networklab-26.4}/netsim/outputs/provider.py +0 -0
  1125. {networklab-26.2 → networklab-26.4}/netsim/outputs/report.py +0 -0
  1126. {networklab-26.2 → networklab-26.4}/netsim/outputs/tools.py +0 -0
  1127. {networklab-26.2 → networklab-26.4}/netsim/outputs/yaml.py +0 -0
  1128. {networklab-26.2 → networklab-26.4}/netsim/providers/clab.py +0 -0
  1129. {networklab-26.2 → networklab-26.4}/netsim/providers/external.py +0 -0
  1130. {networklab-26.2 → networklab-26.4}/netsim/providers/external.yml +0 -0
  1131. {networklab-26.2 → networklab-26.4}/netsim/providers/libvirt.py +0 -0
  1132. {networklab-26.2 → networklab-26.4}/netsim/providers/libvirt.yml +0 -0
  1133. {networklab-26.2 → networklab-26.4}/netsim/providers/virtualbox.py +0 -0
  1134. {networklab-26.2 → networklab-26.4}/netsim/providers/virtualbox.yml +0 -0
  1135. {networklab-26.2 → networklab-26.4}/netsim/py.typed +0 -0
  1136. {networklab-26.2 → networklab-26.4}/netsim/reports/addressing-link.html.j2 +0 -0
  1137. {networklab-26.2 → networklab-26.4}/netsim/reports/addressing-node.html.j2 +0 -0
  1138. {networklab-26.2 → networklab-26.4}/netsim/reports/addressing.html.j2 +0 -0
  1139. {networklab-26.2 → networklab-26.4}/netsim/reports/addressing.j2 +0 -0
  1140. {networklab-26.2 → networklab-26.4}/netsim/reports/addressing.md.j2 +0 -0
  1141. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp-asn.html.j2 +0 -0
  1142. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp-asn.md.j2 +0 -0
  1143. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp-neighbor-short.md.j2 +0 -0
  1144. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp-neighbor.html.j2 +0 -0
  1145. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp-neighbor.md.j2 +0 -0
  1146. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp-prefix.include.j2 +0 -0
  1147. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp.html.j2 +0 -0
  1148. {networklab-26.2 → networklab-26.4}/netsim/reports/bgp.j2 +0 -0
  1149. {networklab-26.2 → networklab-26.4}/netsim/reports/isis-nodes.html.j2 +0 -0
  1150. {networklab-26.2 → networklab-26.4}/netsim/reports/isis-nodes.j2 +0 -0
  1151. {networklab-26.2 → networklab-26.4}/netsim/reports/isis-nodes.md.j2 +0 -0
  1152. {networklab-26.2 → networklab-26.4}/netsim/reports/mgmt.html.j2 +0 -0
  1153. {networklab-26.2 → networklab-26.4}/netsim/reports/mgmt.j2 +0 -0
  1154. {networklab-26.2 → networklab-26.4}/netsim/reports/nodes.j2 +0 -0
  1155. {networklab-26.2 → networklab-26.4}/netsim/reports/ospf-areas.html.j2 +0 -0
  1156. {networklab-26.2 → networklab-26.4}/netsim/reports/ospf-areas.j2 +0 -0
  1157. {networklab-26.2 → networklab-26.4}/netsim/reports/ospf-areas.md.j2 +0 -0
  1158. {networklab-26.2 → networklab-26.4}/netsim/reports/ospf-utils.include.j2 +0 -0
  1159. {networklab-26.2 → networklab-26.4}/netsim/reports/ospfv3.html.j2 +0 -0
  1160. {networklab-26.2 → networklab-26.4}/netsim/reports/ospfv3.j2 +0 -0
  1161. {networklab-26.2 → networklab-26.4}/netsim/reports/ospfv3.md.j2 +0 -0
  1162. {networklab-26.2 → networklab-26.4}/netsim/reports/page.html.j2 +0 -0
  1163. {networklab-26.2 → networklab-26.4}/netsim/reports/ssh_config.j2 +0 -0
  1164. {networklab-26.2 → networklab-26.4}/netsim/reports/wiring-columns.include.j2 +0 -0
  1165. {networklab-26.2 → networklab-26.4}/netsim/reports/wiring.html.j2 +0 -0
  1166. {networklab-26.2 → networklab-26.4}/netsim/reports/wiring.j2 +0 -0
  1167. {networklab-26.2 → networklab-26.4}/netsim/reports/wiring.md.j2 +0 -0
  1168. {networklab-26.2 → networklab-26.4}/netsim/roles/__init__.py +0 -0
  1169. {networklab-26.2 → networklab-26.4}/netsim/roles/bridge.py +0 -0
  1170. {networklab-26.2 → networklab-26.4}/netsim/roles/host.py +0 -0
  1171. {networklab-26.2 → networklab-26.4}/netsim/roles/router.py +0 -0
  1172. {networklab-26.2 → networklab-26.4}/netsim/templates/ansible.cfg.j2 +0 -0
  1173. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/clab/clab.j2 +0 -0
  1174. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/clab/cumulus/interfaces.j2 +0 -0
  1175. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/clab/eos/ceos-config.j2 +0 -0
  1176. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/clab/frr/daemons.j2 +0 -0
  1177. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/clab/iol/ifstate.j2 +0 -0
  1178. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/clab/ioll2/ifstate.j2 +0 -0
  1179. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/external/external.j2 +0 -0
  1180. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/Vagrantfile.j2 +0 -0
  1181. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/_debian_vagrant_password.j2 +0 -0
  1182. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/arcos-domain.j2 +0 -0
  1183. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/arubacx-domain.j2 +0 -0
  1184. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/asav-domain.j2 +0 -0
  1185. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/cat8000v-domain.j2 +0 -0
  1186. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/csr-domain.j2 +0 -0
  1187. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/cumulus-domain.j2 +0 -0
  1188. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/cumulus_nvue-domain.j2 +0 -0
  1189. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/define-domain.j2 +0 -0
  1190. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/dellos10-domain.j2 +0 -0
  1191. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/eos-domain.j2 +0 -0
  1192. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/fortios-domain.j2 +0 -0
  1193. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/forwarded-ports.j2 +0 -0
  1194. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/frr-domain.j2 +0 -0
  1195. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/iosv-domain.j2 +0 -0
  1196. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/iosvl2-domain.j2 +0 -0
  1197. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/iosxr-domain.j2 +0 -0
  1198. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/libvirt-bridge.j2 +0 -0
  1199. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/libvirt-tunnel.j2 +0 -0
  1200. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/linux-domain.j2 +0 -0
  1201. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/none-domain.j2 +0 -0
  1202. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/nxos-domain.j2 +0 -0
  1203. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/openbsd-domain.j2 +0 -0
  1204. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/routeros-domain.j2 +0 -0
  1205. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/routeros7-domain.j2 +0 -0
  1206. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/sonic-domain.j2 +0 -0
  1207. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/vagrant-libvirt.xml +0 -0
  1208. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/vptx-domain.j2 +0 -0
  1209. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/vsrx-domain.j2 +0 -0
  1210. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/libvirt/vyos-domain.j2 +0 -0
  1211. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/Vagrantfile.j2 +0 -0
  1212. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/arcos-domain.j2 +0 -0
  1213. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/cumulus-domain.j2 +0 -0
  1214. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/eos-domain.j2 +0 -0
  1215. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/frr-domain.j2 +0 -0
  1216. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/linux-domain.j2 +0 -0
  1217. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/nxos-domain.j2 +0 -0
  1218. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/virtualbox-network.j2 +0 -0
  1219. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/virtualbox-ports.j2 +0 -0
  1220. {networklab-26.2 → networklab-26.4}/netsim/templates/provider/virtualbox/vsrx-domain.j2 +0 -0
  1221. {networklab-26.2 → networklab-26.4}/netsim/templates/tests/clab.yml +0 -0
  1222. {networklab-26.2 → networklab-26.4}/netsim/templates/tests/grpc.yml +0 -0
  1223. {networklab-26.2 → networklab-26.4}/netsim/templates/tests/libvirt.yml +0 -0
  1224. {networklab-26.2 → networklab-26.4}/netsim/templates/tests/virtualbox.yml +0 -0
  1225. {networklab-26.2 → networklab-26.4}/netsim/tools/__init__.py +0 -0
  1226. {networklab-26.2 → networklab-26.4}/netsim/tools/edgeshark.yml +0 -0
  1227. {networklab-26.2 → networklab-26.4}/netsim/tools/graphite.py +0 -0
  1228. {networklab-26.2 → networklab-26.4}/netsim/tools/graphite.yml +0 -0
  1229. {networklab-26.2 → networklab-26.4}/netsim/tools/nso.yml +0 -0
  1230. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts/inventory/groups.yaml +0 -0
  1231. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts/inventory/hosts.j2 +0 -0
  1232. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts/nr-config.yaml +0 -0
  1233. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts/tests/test_bgp.j2 +0 -0
  1234. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts/tests/test_interfaces.j2 +0 -0
  1235. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts/tests/test_ospf.j2 +0 -0
  1236. {networklab-26.2 → networklab-26.4}/netsim/tools/nuts.yml +0 -0
  1237. {networklab-26.2 → networklab-26.4}/netsim/tools/suzieq/suzieq-cfg.yml +0 -0
  1238. {networklab-26.2 → networklab-26.4}/netsim/tools/suzieq/suzieq.inventory.j2 +0 -0
  1239. {networklab-26.2 → networklab-26.4}/netsim/topology-defaults.yml +0 -0
  1240. {networklab-26.2 → networklab-26.4}/netsim/utils/__init__.py +0 -0
  1241. {networklab-26.2 → networklab-26.4}/netsim/utils/callback.py +0 -0
  1242. {networklab-26.2 → networklab-26.4}/netsim/utils/files.py +0 -0
  1243. {networklab-26.2 → networklab-26.4}/netsim/utils/filters.py +0 -0
  1244. {networklab-26.2 → networklab-26.4}/netsim/utils/linuxbridge.py +0 -0
  1245. {networklab-26.2 → networklab-26.4}/netsim/utils/log.py +0 -0
  1246. {networklab-26.2 → networklab-26.4}/netsim/utils/read.py +0 -0
  1247. {networklab-26.2 → networklab-26.4}/netsim/utils/sort.py +0 -0
  1248. {networklab-26.2 → networklab-26.4}/netsim/utils/stats.py +0 -0
  1249. {networklab-26.2 → networklab-26.4}/netsim/utils/status.py +0 -0
  1250. {networklab-26.2 → networklab-26.4}/netsim/utils/strings.py +0 -0
  1251. {networklab-26.2 → networklab-26.4}/netsim/utils/versioning.py +0 -0
  1252. {networklab-26.2 → networklab-26.4}/netsim/validate/__init__.py +0 -0
  1253. {networklab-26.2 → networklab-26.4}/netsim/validate/bgp/__init__.py +0 -0
  1254. {networklab-26.2 → networklab-26.4}/netsim/validate/cumulus.py +0 -0
  1255. {networklab-26.2 → networklab-26.4}/netsim/validate/eos.py +0 -0
  1256. {networklab-26.2 → networklab-26.4}/netsim/validate/frr.py +0 -0
  1257. {networklab-26.2 → networklab-26.4}/netsim/validate/isis/__init__.py +0 -0
  1258. {networklab-26.2 → networklab-26.4}/netsim/validate/isis/frr.py +0 -0
  1259. {networklab-26.2 → networklab-26.4}/netsim/validate/linux.py +0 -0
  1260. {networklab-26.2 → networklab-26.4}/netsim/validate/ospf/__init__.py +0 -0
  1261. {networklab-26.2 → networklab-26.4}/netsim/validate/route/__init__.py +0 -0
  1262. {networklab-26.2 → networklab-26.4}/netsim/validate/route/frr.py +0 -0
  1263. {networklab-26.2 → networklab-26.4}/networklab.egg-info/dependency_links.txt +0 -0
  1264. {networklab-26.2 → networklab-26.4}/networklab.egg-info/requires.txt +0 -0
  1265. {networklab-26.2 → networklab-26.4}/networklab.egg-info/top_level.txt +0 -0
  1266. {networklab-26.2 → networklab-26.4}/requirements.txt +0 -0
  1267. {networklab-26.2 → networklab-26.4}/setup.cfg +0 -0
  1268. {networklab-26.2 → networklab-26.4}/setup.py +0 -0
  1269. {networklab-26.2 → networklab-26.4}/tests/test_transformation.py +0 -0
@@ -0,0 +1,113 @@
1
+ Metadata-Version: 2.4
2
+ Name: networklab
3
+ Version: 26.4
4
+ Summary: CLI-based Virtual Networking Lab Abstraction Layer
5
+ Home-page: https://github.com/ipspace/netlab
6
+ Author: Ivan Pepelnjak
7
+ Author-email: ip@ipspace.net
8
+ Classifier: Topic :: Utilities
9
+ Classifier: Programming Language :: Python
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Operating System :: POSIX :: Linux
19
+ Classifier: Operating System :: MacOS
20
+ Requires-Python: >=3.8
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE.md
23
+ Requires-Dist: Jinja2>=3.1.4
24
+ Requires-Dist: PyYAML>=5.0.0
25
+ Requires-Dist: netaddr>=0.8.0
26
+ Requires-Dist: python-box!=7.3.1,~=7.2
27
+ Requires-Dist: importlib_resources
28
+ Requires-Dist: typing-extensions>=4.3.0
29
+ Requires-Dist: filelock>=3.16.1
30
+ Requires-Dist: packaging
31
+ Requires-Dist: requests
32
+ Requires-Dist: rich
33
+ Dynamic: author
34
+ Dynamic: author-email
35
+ Dynamic: classifier
36
+ Dynamic: description
37
+ Dynamic: description-content-type
38
+ Dynamic: home-page
39
+ Dynamic: license-file
40
+ Dynamic: requires-dist
41
+ Dynamic: requires-python
42
+ Dynamic: summary
43
+
44
+ # Overview
45
+
46
+ *[netlab](https://netlab.tools)* is bringing infrastructure-as-code concepts to networking labs. You'll describe your high-level network topology and routing design in a YAML file, and the tools in this repository will
47
+
48
+ * Create *Vagrantfile* configuration file for *libvirt/KVM* environment
49
+ * Create *containerlab* configuration file to run Docker containers
50
+ * Create Ansible inventory and configuration file
51
+ * Create IPv4 and IPv6 addressing plan and OSPFv2, OSPFv3, EIGRP, IS-IS, RIPv2, RIPng, and BGP routing design
52
+ * Configure IPv4, IPv6, DHCP, DHCPv6, VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, IS-IS, BGP, RIPv2, RIPng, VRRP, LACP, LAG, MLAG, link bonding, STP, anycast gateways, static routes, route maps, prefix lists, AS-path prefix lists, route redistribution, default route origination, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
53
+ * Create graphs and reports of your lab topology and BGP, IS-IS, and OSPF routing
54
+ * Configure and manage (virtual) link impairment
55
+ * Provide local- or remote traffic capture capabilities
56
+
57
+ Instead of wasting time creating a lab topology in a GUI and configuring tedious details, you'll start with a preconfigured lab that meets your high-level specifications (aka _intent_).
58
+
59
+ Interested? [Read the documentation](https://netlab.tools) (also available on [GitHub Pages](https://ipspace.github.io/netlab/)) and [installation guidelines](https://netlab.tools/install/).
60
+
61
+ ## Releases
62
+
63
+ The latest release is [release 26.04](https://github.com/ipspace/netlab/releases/tag/release_26.04). It should be pretty stable, but if you encounter bugs, please report them as [GitHub issues](https://github.com/ipspace/netlab/issues/new/choose) and use [release 26.03](https://github.com/ipspace/netlab/releases/tag/release_26.03).
64
+
65
+ <!--
66
+ or [1.8.4-post2](https://github.com/ipspace/netlab/releases/tag/release_1.8.4-post2).
67
+
68
+ If you encounter bugs using release 1.7.x, please downgrade to [1.6.4](https://github.com/ipspace/netlab/releases/tag/release_1.6.4) and [open a GitHub issue](https://github.com/ipspace/netlab/issues).
69
+ -->
70
+
71
+ ## An Overview of CLI Commands
72
+
73
+ **netlab up**
74
+ : Uses **[netlab create](https://netlab.tools/netlab/create/)** to create configuration files, starts the virtual lab, and uses **[netlab initial](https://netlab.tools/netlab/initial/)** to deploy device configurations, including IP addressing, LLDP, OSPF, BGP, IS-IS, EIGRP, VRRP, VLANs, VRFs, MPLS, SR-MPLS, VXLAN, EVPN, and SRv6. [More details](https://netlab.tools/netlab/up/)
75
+
76
+ **netlab down**
77
+ : Destroys the virtual lab. [More details](https://netlab.tools/netlab/down/)
78
+
79
+ **netlab restart**
80
+ : Restart and/or reconfigure the virtual lab. [More details](https://netlab.tools/netlab/restart/)
81
+
82
+ **netlab config**
83
+ : [Applies additional Jinja2 configuration templates](https://netlab.tools/netlab/config/) to network devices.
84
+
85
+ **netlab collect**
86
+ : Using Ansible fact gathering or other device-specific Ansible modules, [collects device configurations](https://netlab.tools/netlab/collect/) and saves them in the specified directory (default: **config**).
87
+
88
+ **netlab connect**
89
+ : Use SSH or **docker exec** to [connect to a lab device](https://netlab.tools/netlab/connect/) using device names, management network IP addresses (**ansible_host**), SSH port, and username/passwords specified in lab topology or *netlab* device defaults.
90
+
91
+ **netlab exec**
92
+ : Use SSH or **docker exec** to [execute a command on one or more network devices](https://netlab.tools/netlab/exec/) using device names, management network IP addresses (**ansible_host**), SSH port, and username/passwords specified in lab topology or *netlab* device defaults.
93
+
94
+ **netlab capture**
95
+ : [Perform packet capture](https://netlab.tools/netlab/capture/) on VM- and container interfaces
96
+
97
+ **netlab tc**
98
+ : Disable, enable, display, or modify [link impairment](https://netlab.tools/links/#links-netem) parameters
99
+
100
+ **netlab report**
101
+ : Creates a report from the transformed lab topology data. [More details](https://netlab.tools/netlab/report/)
102
+
103
+ **netlab graph**
104
+ : Creates a lab topology graph description in Graphviz or D2 format. [More details](https://netlab.tools/netlab/graph/)
105
+
106
+ **netlab show**
107
+ : Display system settings in tabular, text, or YAML format. [More details](https://netlab.tools/netlab/show/)
108
+
109
+ **netlab defaults**
110
+ : Display and manage system defaults. [More details](https://netlab.tools/netlab/defaults/)
111
+
112
+ **netlab usage**
113
+ : Display and manage usage statistics. [More details](https://netlab.tools/netlab/usage/)
@@ -0,0 +1,70 @@
1
+ # Overview
2
+
3
+ *[netlab](https://netlab.tools)* is bringing infrastructure-as-code concepts to networking labs. You'll describe your high-level network topology and routing design in a YAML file, and the tools in this repository will
4
+
5
+ * Create *Vagrantfile* configuration file for *libvirt/KVM* environment
6
+ * Create *containerlab* configuration file to run Docker containers
7
+ * Create Ansible inventory and configuration file
8
+ * Create IPv4 and IPv6 addressing plan and OSPFv2, OSPFv3, EIGRP, IS-IS, RIPv2, RIPng, and BGP routing design
9
+ * Configure IPv4, IPv6, DHCP, DHCPv6, VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, IS-IS, BGP, RIPv2, RIPng, VRRP, LACP, LAG, MLAG, link bonding, STP, anycast gateways, static routes, route maps, prefix lists, AS-path prefix lists, route redistribution, default route origination, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
10
+ * Create graphs and reports of your lab topology and BGP, IS-IS, and OSPF routing
11
+ * Configure and manage (virtual) link impairment
12
+ * Provide local- or remote traffic capture capabilities
13
+
14
+ Instead of wasting time creating a lab topology in a GUI and configuring tedious details, you'll start with a preconfigured lab that meets your high-level specifications (aka _intent_).
15
+
16
+ Interested? [Read the documentation](https://netlab.tools) (also available on [GitHub Pages](https://ipspace.github.io/netlab/)) and [installation guidelines](https://netlab.tools/install/).
17
+
18
+ ## Releases
19
+
20
+ The latest release is [release 26.04](https://github.com/ipspace/netlab/releases/tag/release_26.04). It should be pretty stable, but if you encounter bugs, please report them as [GitHub issues](https://github.com/ipspace/netlab/issues/new/choose) and use [release 26.03](https://github.com/ipspace/netlab/releases/tag/release_26.03).
21
+
22
+ <!--
23
+ or [1.8.4-post2](https://github.com/ipspace/netlab/releases/tag/release_1.8.4-post2).
24
+
25
+ If you encounter bugs using release 1.7.x, please downgrade to [1.6.4](https://github.com/ipspace/netlab/releases/tag/release_1.6.4) and [open a GitHub issue](https://github.com/ipspace/netlab/issues).
26
+ -->
27
+
28
+ ## An Overview of CLI Commands
29
+
30
+ **netlab up**
31
+ : Uses **[netlab create](https://netlab.tools/netlab/create/)** to create configuration files, starts the virtual lab, and uses **[netlab initial](https://netlab.tools/netlab/initial/)** to deploy device configurations, including IP addressing, LLDP, OSPF, BGP, IS-IS, EIGRP, VRRP, VLANs, VRFs, MPLS, SR-MPLS, VXLAN, EVPN, and SRv6. [More details](https://netlab.tools/netlab/up/)
32
+
33
+ **netlab down**
34
+ : Destroys the virtual lab. [More details](https://netlab.tools/netlab/down/)
35
+
36
+ **netlab restart**
37
+ : Restart and/or reconfigure the virtual lab. [More details](https://netlab.tools/netlab/restart/)
38
+
39
+ **netlab config**
40
+ : [Applies additional Jinja2 configuration templates](https://netlab.tools/netlab/config/) to network devices.
41
+
42
+ **netlab collect**
43
+ : Using Ansible fact gathering or other device-specific Ansible modules, [collects device configurations](https://netlab.tools/netlab/collect/) and saves them in the specified directory (default: **config**).
44
+
45
+ **netlab connect**
46
+ : Use SSH or **docker exec** to [connect to a lab device](https://netlab.tools/netlab/connect/) using device names, management network IP addresses (**ansible_host**), SSH port, and username/passwords specified in lab topology or *netlab* device defaults.
47
+
48
+ **netlab exec**
49
+ : Use SSH or **docker exec** to [execute a command on one or more network devices](https://netlab.tools/netlab/exec/) using device names, management network IP addresses (**ansible_host**), SSH port, and username/passwords specified in lab topology or *netlab* device defaults.
50
+
51
+ **netlab capture**
52
+ : [Perform packet capture](https://netlab.tools/netlab/capture/) on VM- and container interfaces
53
+
54
+ **netlab tc**
55
+ : Disable, enable, display, or modify [link impairment](https://netlab.tools/links/#links-netem) parameters
56
+
57
+ **netlab report**
58
+ : Creates a report from the transformed lab topology data. [More details](https://netlab.tools/netlab/report/)
59
+
60
+ **netlab graph**
61
+ : Creates a lab topology graph description in Graphviz or D2 format. [More details](https://netlab.tools/netlab/graph/)
62
+
63
+ **netlab show**
64
+ : Display system settings in tabular, text, or YAML format. [More details](https://netlab.tools/netlab/show/)
65
+
66
+ **netlab defaults**
67
+ : Display and manage system defaults. [More details](https://netlab.tools/netlab/defaults/)
68
+
69
+ **netlab usage**
70
+ : Display and manage usage statistics. [More details](https://netlab.tools/netlab/usage/)
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env python3
2
+
3
+ import sys
4
+
5
+ __version__ = "26.04"
6
+
7
+ abort = False
8
+
9
+ try:
10
+ import box
11
+ if box.__version__ < '7.2.0': # netlab needs Python Box version 7.2.0 or higher
12
+ print("FATAL ERROR: python-box version 7.2.0 or higher required, use 'pip3 install --upgrade python-box' to install")
13
+ abort = True
14
+ except: # box is not installed, something else is bound to fail ;)
15
+ pass
16
+
17
+ if abort:
18
+ sys.exit(1)
@@ -0,0 +1,4 @@
1
+ - name: "exos_config: deploying {{ netsim_action }} from {{ config_template }}"
2
+ community.network.exos_config:
3
+ src: "{{ config_template }}"
4
+ tags: [ print_action, always ]
@@ -0,0 +1,85 @@
1
+ #
2
+ # Deploy module-specific configuration (specified in "item") to a device
3
+ #
4
+
5
+ # Find configuration template. Search in paths_custom.dirs (user defaults, package:extra) for
6
+ # template name specified in paths_custom.files (tons of variations on inventory_hostname, netlab_device_type,
7
+ # node_provider and ansible_network_os
8
+ #
9
+ ---
10
+ - name: Find configuration template
11
+ set_fact:
12
+ config_module: "{{ custom_config }}"
13
+ config_template: "{{ lookup('first_found',params,errors='ignore') }}"
14
+ tags: [ always ]
15
+ vars:
16
+ node_provider: "{{ provider|default(netlab_provider) }}"
17
+ params:
18
+ paths: "{{ paths_custom.dirs }}"
19
+ files: "{{ [ custom_config ] if custom_config.endswith('.j2') else paths_custom.files }}"
20
+
21
+ - fail: msg="Cannot find configuration template {{ custom_config }} for device {{ inventory_hostname }}"
22
+ when: config_template == ''
23
+ tags: [ always ]
24
+
25
+ - name: Check is the configuration template is a file
26
+ stat:
27
+ path: "{{ config_template }}"
28
+ register: config_stat
29
+ delegate_to: localhost
30
+
31
+ - fail:
32
+ msg: Cannot find template for device {{ netlab_device_type }} in custom config directory {{ config_template }}
33
+ when:
34
+ config_stat.stat.isdir|default(False)
35
+
36
+ - name: "Process template {{ config_template }} for {{ inventory_hostname }}"
37
+ debug:
38
+ msg: |
39
+ {{ config_template }} configuration for {{ inventory_hostname }}
40
+ =========================================
41
+ {{ lookup('template',config_template) }}
42
+ verbosity: 1
43
+ tags: [ test, custom ]
44
+
45
+ # Find deployment task list. It could be a config-specific tasklist (somewhere
46
+ # in paths_custom directories with file name from paths_custom.tasks list) or a
47
+ # generic deployment tasklist from deployment directories and using generic
48
+ # deployment task names (a combination of ansible_network_os and
49
+ # netlab_provider). missing.yml in the deployment directory is the catch-all of
50
+ # last resort.
51
+ #
52
+ # Please note that the 'paths_custom.dirs' is changed by netlab initial/config.
53
+ # 'paths_custom.task_dirs' is a copy of the original 'paths_custom.dirs'
54
+ #
55
+ - block:
56
+ - debug: var=paths_custom.task_dirs
57
+ - debug: var=paths_custom.tasks
58
+ when: ansible_verbosity > 1
59
+ - name: Find custom configuration deployment script
60
+ set_fact:
61
+ deploy_task:
62
+ "{{ lookup('first_found',c_params,errors='ignore')
63
+ or lookup('first_found',d_params,errors='ignore') }}"
64
+ vars:
65
+ node_provider: "{{ provider|default(netlab_provider) }}"
66
+ c_params:
67
+ paths: "{{ paths_custom.task_dirs }}"
68
+ files: "{{ paths_custom.tasks }}"
69
+ d_params:
70
+ paths: "{{ paths_deploy.dirs }}"
71
+ files: "{{ paths_deploy.tasks_generic }}"
72
+
73
+ # Now that we have the name of the deployment task list, include it and let it run
74
+ #
75
+ - name: Run the configuration deployment script
76
+ include_tasks: "{{ deploy_task }}"
77
+ tags: [ custom ]
78
+ when: deploy_task is string and deploy_task != ''
79
+ vars:
80
+ node_provider: "{{ provider|default(netlab_provider) }}"
81
+ args:
82
+ apply:
83
+ vars:
84
+ netsim_action: "{{ custom_config|basename }}"
85
+ tags: [ always ]
@@ -0,0 +1,3 @@
1
+ ---
2
+ - community.network.exos_facts:
3
+ gather_subset: config
@@ -0,0 +1,55 @@
1
+ ---
2
+ - name: Set netlab_vdom_enabled variable
3
+ ansible.builtin.set_fact:
4
+ netlab_vdom_is_enabled: "{{ netlab_vdom is defined and netlab_vdom != vdom }}"
5
+
6
+ - name: Enable multi-VDOM mode if a traffic VDOM is defined
7
+ fortinet.fortios.fortios_system_global:
8
+ vdom: "{{ vdom }}"
9
+ system_global:
10
+ management_vdom: "{{ vdom }}"
11
+ vdom_mode: multi-vdom
12
+ hostname: '{{ inventory_hostname.replace("_","-") }}'
13
+ register: vdom_mode_result
14
+ when: netlab_vdom_is_enabled
15
+
16
+ - name: Ensure FortiGate is ready after VDOM mode change
17
+ block:
18
+ - name: Wait 60 seconds after VDOM mode change
19
+ ansible.builtin.wait_for:
20
+ host: "{{ ansible_host }}"
21
+ port: 443
22
+ timeout: 180
23
+ sleep: 10 # time in seconds between checks
24
+ delay: 60 # Initial delay in seconds before first check
25
+ state: started
26
+ - name: Test FortiGate API readiness after VDOM mode change
27
+ fortinet.fortios.fortios_system_global:
28
+ vdom: "{{ vdom }}"
29
+ system_global:
30
+ hostname: '{{ inventory_hostname.replace("_","-") }}'
31
+ register: hostname_result
32
+ retries: 5
33
+ delay: 10 # Initial delay and waiting time between retries
34
+ until: hostname_result is not failed and hostname_result.meta.http_status == 200
35
+ when: >-
36
+ vdom_mode_result.meta is defined and
37
+ (vdom_mode_result.meta.http_status == 200 and vdom_mode_result.meta.revision_changed)
38
+
39
+ - name: Ensure `{{ vdom }}` VDOM is set as admin
40
+ fortinet.fortios.fortios_system_settings:
41
+ vdom: "{{ vdom }}"
42
+ system_settings:
43
+ vdom_type: admin
44
+ when: netlab_vdom_is_enabled
45
+
46
+ - name: Configure `{{ netlab_vdom }}` virtual domain
47
+ fortinet.fortios.fortios_system_vdom:
48
+ vdom: "{{ vdom }}"
49
+ state: present
50
+ system_vdom:
51
+ name: "{{ netlab_vdom }}"
52
+ when: netlab_vdom_is_enabled
53
+
54
+ - name: Deploy initial configuration from template
55
+ include_tasks: tasks/deploy-config/fortios.yml
@@ -0,0 +1,40 @@
1
+ {% import "arubacx.macro.j2" as bgpcfg %}
2
+ !
3
+ !
4
+ router bgp {{ bgp.as }}
5
+ bgp log-neighbor-changes
6
+ timers bgp connect-retry 10
7
+ {% if bgp.router_id is defined %}
8
+ bgp router-id {{ bgp.router_id }}
9
+ {% endif %}
10
+ {% if bgp.rr|default(False) and bgp.rr_cluster_id|default(False) %}
11
+ bgp cluster-id {{ bgp.rr_cluster_id }}
12
+ {% endif %}
13
+ {#
14
+ Configure IPv4 and IPv6 BGP neighbors
15
+ #}
16
+ {% for n in bgp.neighbors %}
17
+ {% for af in ['ipv4','ipv6'] if n[af] is defined %}
18
+ {{ bgpcfg.neighbor_global(n,n[af]) }}
19
+ {% endfor %}
20
+ {% endfor %}
21
+ !
22
+ {# Configure BGP address families #}
23
+ {% for af in ['ipv4','ipv6'] if bgp[af] is defined %}
24
+ address-family {{ af }} unicast
25
+ !
26
+ {% if bgp.import is defined %}
27
+ {% for s_proto,s_data in bgp.import.items() %}
28
+ redistribute {{ s_proto }}{%
29
+ if s_proto == 'ospf' and af == 'ipv6' %}v3{% endif %}{%
30
+ if 'policy' in s_data %} route-map {{ s_data.policy }}-{{ af }}{% endif +%}
31
+ {% endfor %}
32
+ {% endif %}
33
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
34
+ network {{ pfx[af] }}
35
+ {% endfor %}
36
+ !
37
+ {% for n in bgp.neighbors if n[af] is defined and n.activate[af] is defined and n.activate[af] %}
38
+ {{ bgpcfg.neighbor_af(n,n[af],bgp) }}
39
+ {% endfor %}
40
+ {% endfor %}
@@ -0,0 +1,40 @@
1
+ {% macro community(list) -%}
2
+ {{ "both" if list|length >= 2 else list[0] }}
3
+ {%- endmacro %}
4
+ !
5
+ {#
6
+ Global BGP neighbor definition
7
+ #}
8
+ {% macro neighbor_global(n,ip) %}
9
+ neighbor {{ ip }} remote-as {{ n.as }}
10
+ {% if n.local_as is defined %}
11
+ neighbor {{ ip }} local-as {{ n.local_as }}{%
12
+ if n.replace_global_as|default(True) and n.type != 'localas_ibgp' %} no-prepend replace-as{% endif +%}
13
+ {% endif %}
14
+ neighbor {{ ip }} description {{ n.name }}
15
+ {% if n._source_intf is defined %}
16
+ neighbor {{ ip }} update-source {{ n._source_intf.ifname }}
17
+ {% endif %}
18
+ {%- endmacro %}
19
+ {#
20
+ Address family BGP neighbor definition
21
+ #}
22
+ {% macro neighbor_af(n,ip,bgp) %}
23
+ neighbor {{ ip }} activate
24
+ neighbor {{ ip }} advertisement-interval 1
25
+ {% if 'ibgp' in n.type %}
26
+ {% if bgp.community.ibgp|default([]) %}
27
+ neighbor {{ ip }} send-community {{ community(bgp.community.ibgp) }}
28
+ {% endif %}
29
+ {% if bgp.next_hop_self is defined and bgp.next_hop_self %}
30
+ neighbor {{ ip }} next-hop-self
31
+ {% endif %}
32
+ {% if bgp.rr|default('') and (not n.rr|default('') or n.type == 'localas_ibgp') %}
33
+ neighbor {{ ip }} route-reflector-client
34
+ {% endif %}
35
+ {% else %}{# EBGP IPv4 neighbor #}
36
+ {% if bgp.community.ebgp|default([]) %}
37
+ neighbor {{ ip }} send-community {{ community(bgp.community.ebgp) }}
38
+ {% endif %}
39
+ {% endif %}
40
+ {%- endmacro -%}
@@ -0,0 +1,108 @@
1
+ {% import "templates/routing/_redistribute.cumulus_nvue.j2" as redistribute with context %}
2
+ {% macro advertise_communities(comms) %}
3
+ community-advertise:
4
+ {% for c in ['standard', 'extended', 'large'] %}
5
+ {{ c.replace("standard","regular") }}: {{ 'on' if c in comms else 'off' }}
6
+ {% endfor %}
7
+ {% endmacro %}
8
+ {% macro bgp_in_vrf(vrf_name,vrf) %}
9
+ {% set vrf_bgp = vrf.bgp %}
10
+ - set:
11
+ vrf:
12
+ {{ vrf_name }}:
13
+ router:
14
+ bgp:
15
+ enable: on
16
+ autonomous-system: {{ bgp.as }}
17
+ router-id: {{ vrf_bgp.router_id|default(bgp.router_id) }}
18
+ {% if vrf.rd is defined %}
19
+ rd: {{ vrf.rd }}
20
+ {% endif %}
21
+ {% if vrf_bgp.rr|default(False) %}
22
+ route-reflection:
23
+ enable: on
24
+ {% if vrf_bgp.rr_cluster_id is defined %}
25
+ cluster-id: {{ vrf_bgp.rr_cluster_id }}
26
+ {% endif %}
27
+ {% endif %}
28
+ {% for af in ['ipv4','ipv6'] if vrf.af[af] is defined %}
29
+ {% if loop.first %}
30
+ address-family:
31
+ {% endif %}
32
+ {{ af }}-unicast:
33
+ enable: on
34
+ {% if vrf_bgp.import is defined %}
35
+ {{ redistribute.config(vrf_bgp,af=af)|indent(16,first=True) }}
36
+ {% endif %}
37
+ {% set _loopback = [ vrf.loopback[af]|ansible.utils.ipaddr(0) ] if vrf.loopback[af] is defined and bgp.advertise_loopback|default(True) else [] %}
38
+ {% for pfx in vrf_bgp.advertise|default([]) if af in pfx %}
39
+ {% if loop.first %}
40
+ network:
41
+ {% endif %}
42
+ {{ pfx[af] }}: {}
43
+ {% endfor %}
44
+ {% endfor %}
45
+ {% for n in vrf_bgp.neighbors|default([]) %}
46
+ {% if loop.first %}
47
+ neighbor:
48
+ {% endif %}
49
+ {% if n.local_if is defined %}
50
+ {{ n.local_if }}:
51
+ type: unnumbered
52
+ remote-as: {{ n.as }}
53
+ {% if n.ipv4_rfc8950|default(False) %}
54
+ capabilities:
55
+ extended-nexthop: on
56
+ {% endif %}
57
+ address-family:
58
+ ipv4-unicast:
59
+ enable: {{ 'on' if n.ipv4_rfc8950|default(False) else 'off' }}
60
+ community-advertise:
61
+ extended: on
62
+ ipv6-unicast:
63
+ enable: {{ 'on' if n.ipv6|default(False) and ('activate' not in n or n.activate.ipv6|default(False)) else 'off' }}
64
+ community-advertise:
65
+ extended: on
66
+ {% endif %}
67
+ {% for af in ('ipv4','ipv6') if af in n and n[af] is string %}
68
+ {{ n[af] }}:
69
+ description: "{{ n.name }}"
70
+ {% if af=='ipv6' and n.ipv4_rfc8950|default(False) %}
71
+ capabilities:
72
+ extended-nexthop: on
73
+ {% endif %}
74
+ {% if n._source_intf is defined %}
75
+ update-source: {{ n._source_intf.ifname }}
76
+ {% endif %}
77
+ remote-as: {{ 'internal' if n.as==bgp.as else n.as }}
78
+ {% if n.local_as is defined %}
79
+ local-as:
80
+ asn: {{ n.local_as }}
81
+ enable: on
82
+ {% if n.replace_global_as|default(True) %}
83
+ replace: on
84
+ prepend: off
85
+ {% endif %}
86
+ {% endif %}
87
+ address-family:
88
+ {# NVUE cannot turn off default IPv4 activation, so we have to implement a fix for IPv6 #}
89
+ {% if af == 'ipv6' %}
90
+ ipv4-unicast:
91
+ enable: {{ 'on' if n.ipv4_rfc8950|default(False) else 'off' }}
92
+ {% endif %}
93
+ {{ af }}-unicast:
94
+ enable: {{ 'on' if 'activate' not in n or n.activate[af]|default(False) else 'off' }}
95
+ {% if 'ibgp' in n.type %}
96
+ {% if vrf_bgp.next_hop_self|default(False) %}
97
+ nexthop-setting: self
98
+ {% endif %}
99
+ {% if vrf_bgp.rr|default('') and not n.rr|default('') %}
100
+ route-reflector-client: on
101
+ {% endif %}
102
+ {% endif %}
103
+ {% if n.type in vrf_bgp.community|default({}) %}
104
+ {{ advertise_communities( vrf_bgp.community[n.type] ) }}
105
+ {% endif %}
106
+ {% endfor %}
107
+ {% endfor %}
108
+ {% endmacro %}
@@ -0,0 +1,45 @@
1
+ {% import "dellos10.macro.j2" as bgpcfg %}
2
+ {% import "templates/routing/_redistribute.dellos10.j2" as redistribute %}
3
+ {% set ospf_pid = ospf.process|default(1) %}
4
+ !
5
+ router bgp {{ bgp.as }}
6
+ log-neighbor-changes
7
+
8
+ ! define a generic unnumbered template to be used for eBGP unnumbered...
9
+ ! additionally, need to define link-local-only-nexthop as per Dell suggested "Cumulus workaround"
10
+ ! WTF Dell...
11
+ template unnumbered_ebgp
12
+ link-local-only-nexthop
13
+ exit
14
+
15
+ {% if bgp.router_id is defined %}
16
+ router-id {{ bgp.router_id }}
17
+ {% endif %}
18
+ {% if bgp.confederation is defined %}
19
+ confederation identifier {{ bgp.confederation.as }}
20
+ confederation peers {{ bgp.confederation.peers|join(' ') }}
21
+ {% endif %}
22
+ {% if bgp.rr|default(False) and bgp.rr_cluster_id|default(False) %}
23
+ cluster-id {{ bgp.rr_cluster_id }}
24
+ {% endif %}
25
+ {% if bgp.rr|default('') %}
26
+ client-to-client reflection
27
+ {% endif %}
28
+ {% for n in bgp.neighbors %}
29
+ {% for af in ['ipv4','ipv6'] if n[af] is defined %}
30
+ {{ bgpcfg.neighbor(n,n[af],bgp,af) }}
31
+ {% endfor %}
32
+ {% endfor %}
33
+ !
34
+ {% for af in ['ipv4','ipv6'] %}
35
+ {% if bgp[af] is defined %}
36
+ !
37
+ address-family {{ af }} unicast
38
+ !
39
+ {{ redistribute.config(bgp,af=af,ospf_pid=ospf_pid) }}
40
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
41
+ network {{ pfx[af] }}
42
+ {% endfor %}
43
+ !
44
+ {% endif %}
45
+ {% endfor %}
@@ -0,0 +1,87 @@
1
+ {% import "eos.macro.j2" as bgpcfg %}
2
+ {% import "templates/routing/_redistribute.eos.j2" as redistribute with context %}
3
+ !
4
+ {% set opts = namespace(nhs_ipv4=false,nhs_ipv6=false,intf=false) %}
5
+ {% for n in bgp.neighbors if n.type == 'ibgp' and bgp.next_hop_self|default(False) %}
6
+ {% if 'ipv4' in n %}
7
+ {% set opts.nhs_ipv4 = true %}
8
+ {% endif %}
9
+ {% if 'ipv6' in n %}
10
+ {% set opts.nhs_ipv6 = true %}
11
+ {% endif %}
12
+ {% endfor %}
13
+ {% if opts.nhs_ipv4 %}
14
+ route-map next-hop-self-ipv4 permit 10
15
+ match route-type external
16
+ set ip next-hop peer-address
17
+ !
18
+ route-map next-hop-self-ipv4 permit 20
19
+ !
20
+ {% endif %}
21
+ {% if opts.nhs_ipv6 %}
22
+ route-map next-hop-self-ipv6 permit 10
23
+ match route-type external
24
+ set ipv6 next-hop peer-address
25
+ !
26
+ route-map next-hop-self-ipv6 permit 20
27
+ !
28
+ {% endif %}
29
+ {% for n in bgp.neighbors if 'local_if' in n %}
30
+ {% set opts.intf = true %}
31
+ {% if loop.first %}
32
+ ipv6 unicast-routing
33
+ ip routing ipv6 interfaces
34
+ !
35
+ {% endif %}
36
+ interface {{ n.local_if }}
37
+ ipv6 enable
38
+ !
39
+ {% endfor %}
40
+ !
41
+ router bgp {{ bgp.as }}
42
+ bgp advertise-inactive
43
+ bgp log-neighbor-changes
44
+ no bgp default ipv4-unicast
45
+ no bgp default ipv6-unicast
46
+ {% if bgp.confederation is defined %}
47
+ bgp confederation identifier {{ bgp.confederation.as }}
48
+ bgp confederation peers {{ bgp.confederation.peers|join(' ') }}
49
+ {% endif %}
50
+ {% if bgp.router_id is defined %}
51
+ router-id {{ bgp.router_id }}
52
+ {% endif %}
53
+ {% if bgp.rr|default(False) and bgp.rr_cluster_id|default(False) %}
54
+ bgp cluster-id {{ bgp.rr_cluster_id }}
55
+ {% endif %}
56
+ {% for n in bgp.neighbors %}
57
+ {% for af in ['ipv4','ipv6'] if n[af] is defined %}
58
+ {{ bgpcfg.neighbor(n,af,bgp) }}
59
+ {% endfor %}
60
+ {% endfor %}
61
+ !
62
+ {# Activate address families #}
63
+ {% for af in ['ipv4','ipv6'] %}
64
+ {% if bgp[af] is defined %}
65
+ !
66
+ address-family {{ af }}
67
+ {{ redistribute.config(bgp,af=af) }}
68
+ !
69
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
70
+ network {{ pfx[af] }}
71
+ {% endfor %}
72
+ !
73
+ {% for n in bgp.neighbors if n.activate[af]|default(false) %}
74
+ {% set peer = 'ebgp_intf_' + n.local_if if n.local_if is defined else n[af] %}
75
+ neighbor {{ peer }} activate
76
+ {% set nhs = n.next_hop_self|default(False) %}
77
+ {% if nhs == 'ebgp' %}
78
+ neighbor {{ peer }} route-map next-hop-self-{{ af }} out
79
+ {% else %}
80
+ neighbor {{ peer }} next-hop-self
81
+ {% endif %}
82
+ {% if n.local_if is defined and af == 'ipv4' %}
83
+ neighbor {{ peer }} next-hop address-family ipv6 originate
84
+ {% endif %}
85
+ {% endfor %}
86
+ {% endif %}
87
+ {% endfor %}