networklab 26.3__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 (1093) hide show
  1. {networklab-26.3/networklab.egg-info → networklab-26.4}/PKG-INFO +2 -2
  2. {networklab-26.3 → networklab-26.4}/README.md +1 -1
  3. {networklab-26.3 → networklab-26.4}/netsim/__init__.py +1 -1
  4. networklab-26.4/netsim/ansible/tasks/deploy-config/exos.yml +4 -0
  5. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-custom-config.yml +14 -5
  6. networklab-26.4/netsim/ansible/tasks/fetch-config/exos.yml +3 -0
  7. {networklab-26.3/netsim/ansible/tasks/fortinet.fortios.fortios → networklab-26.4/netsim/ansible/tasks/fortios}/initial.yml +1 -1
  8. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/arubacx.j2 +5 -20
  9. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/arubacx.macro.j2 +0 -6
  10. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/cumulus_nvue.macro.j2 +5 -22
  11. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/dellos10.j2 +2 -14
  12. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/eos.j2 +2 -20
  13. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/frr.j2 +2 -22
  14. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/ios.j2 +2 -22
  15. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/iosxr.j2 +2 -13
  16. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/junos.j2 +3 -7
  17. networklab-26.4/netsim/ansible/templates/bgp/junos.macro.j2 +112 -0
  18. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/junos.policy.j2 +6 -70
  19. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/nxos.j2 +2 -10
  20. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/openbsd.j2 +5 -13
  21. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/srlinux.macro.j2 +2 -27
  22. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/sros.gnmi.macro.j2 +4 -25
  23. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/vyos.j2 +5 -21
  24. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/ios-common.j2 +3 -0
  25. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/junos/common.j2 +7 -2
  26. networklab-26.4/netsim/ansible/templates/gateway/exos.j2 +26 -0
  27. networklab-26.4/netsim/ansible/templates/initial/exos.j2 +94 -0
  28. networklab-26.4/netsim/ansible/templates/initial/exos.vlan.j2 +5 -0
  29. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/srlinux.j2 +1 -1
  30. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/srlinux.macro.j2 +1 -1
  31. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/sros.j2 +1 -1
  32. networklab-26.4/netsim/ansible/templates/normalize/dellos10.j2 +5 -0
  33. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/normalize/eos.j2 +3 -0
  34. networklab-26.4/netsim/ansible/templates/ospf/exos.j2 +9 -0
  35. networklab-26.4/netsim/ansible/templates/ospf/exos.ospfv2.j2 +32 -0
  36. networklab-26.4/netsim/ansible/templates/ospf/exos.ospfv3.j2 +32 -0
  37. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/srlinux.macro.j2 +1 -1
  38. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/sros.j2 +1 -1
  39. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.iosxr.j2 +1 -1
  40. networklab-26.4/netsim/ansible/templates/routing/fortios.j2 +36 -0
  41. networklab-26.4/netsim/ansible/templates/routing/junos/aspath.j2 +27 -0
  42. networklab-26.4/netsim/ansible/templates/routing/junos/community.j2 +32 -0
  43. networklab-26.4/netsim/ansible/templates/routing/junos/static.j2 +36 -0
  44. networklab-26.4/netsim/ansible/templates/routing/junos.j2 +19 -0
  45. networklab-26.4/netsim/ansible/templates/routing/nxos/static.j2 +18 -0
  46. networklab-26.4/netsim/ansible/templates/routing/nxos.j2 +3 -0
  47. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/openbsd.j2 +14 -0
  48. networklab-26.3/netsim/ansible/templates/routing/srlinux.j2 → networklab-26.4/netsim/ansible/templates/routing/srlinux/policy.j2 +6 -23
  49. networklab-26.4/netsim/ansible/templates/routing/srlinux/prefix.j2 +17 -0
  50. networklab-26.4/netsim/ansible/templates/routing/srlinux/static.j2 +100 -0
  51. networklab-26.4/netsim/ansible/templates/routing/srlinux.j2 +10 -0
  52. networklab-26.3/netsim/ansible/templates/routing/sros.j2 → networklab-26.4/netsim/ansible/templates/routing/sros/policy.j2 +2 -3
  53. networklab-26.4/netsim/ansible/templates/routing/sros/static.j2 +61 -0
  54. networklab-26.4/netsim/ansible/templates/routing/sros.j2 +7 -0
  55. networklab-26.4/netsim/ansible/templates/srv6/iosxr.bgp.j2 +16 -0
  56. networklab-26.4/netsim/ansible/templates/srv6/iosxr.j2 +19 -0
  57. networklab-26.4/netsim/ansible/templates/vlan/exos.j2 +15 -0
  58. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.bgp.j2 +6 -6
  59. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/dellos10.bgp.j2 +2 -2
  60. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/eos.bgp.j2 +2 -2
  61. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/frr.bgp.j2 +1 -1
  62. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/ios.bgp.j2 +1 -1
  63. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/iosxr.bgp.j2 +2 -2
  64. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/junos.bgp.j2 +3 -42
  65. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/nxos.bgp.j2 +2 -2
  66. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/srlinux.j2 +7 -0
  67. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.bgp.j2 +3 -3
  68. {networklab-26.3 → networklab-26.4}/netsim/augment/main.py +3 -2
  69. {networklab-26.3 → networklab-26.4}/netsim/cli/ansible.py +26 -0
  70. {networklab-26.3 → networklab-26.4}/netsim/cli/config.py +2 -18
  71. {networklab-26.3 → networklab-26.4}/netsim/cli/exec.py +1 -0
  72. {networklab-26.3 → networklab-26.4}/netsim/cli/initial/deploy.py +1 -19
  73. networklab-26.3/netsim/cli/show.py → networklab-26.4/netsim/cli/show/__init__.py +20 -17
  74. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/attributes.py +1 -1
  75. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/defaults.py +1 -1
  76. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/devices.py +1 -1
  77. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/images.py +1 -1
  78. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/module_support.py +1 -1
  79. networklab-26.4/netsim/cli/show/modules.py +285 -0
  80. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/outputs.py +1 -1
  81. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/providers.py +1 -1
  82. {networklab-26.3/netsim/cli/show_commands → networklab-26.4/netsim/cli/show}/reports.py +1 -1
  83. networklab-26.3/netsim/cli/show_commands/__init__.py → networklab-26.4/netsim/cli/show/utils.py +30 -1
  84. {networklab-26.3 → networklab-26.4}/netsim/cli/status.py +24 -2
  85. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/bgp.j2 +24 -19
  86. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/ospf.j2 +37 -20
  87. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird.yml +3 -0
  88. {networklab-26.3 → networklab-26.4}/netsim/data/types.py +3 -2
  89. {networklab-26.3 → networklab-26.4}/netsim/defaults/attributes.yml +1 -0
  90. {networklab-26.3 → networklab-26.4}/netsim/devices/arubacx.yml +2 -0
  91. {networklab-26.3 → networklab-26.4}/netsim/devices/crpd.yml +2 -5
  92. {networklab-26.3 → networklab-26.4}/netsim/devices/cumulus.yml +3 -1
  93. {networklab-26.3 → networklab-26.4}/netsim/devices/cumulus_nvue.yml +2 -0
  94. {networklab-26.3 → networklab-26.4}/netsim/devices/dellos10.yml +3 -0
  95. {networklab-26.3 → networklab-26.4}/netsim/devices/eos.yml +1 -0
  96. networklab-26.4/netsim/devices/exos.py +70 -0
  97. networklab-26.4/netsim/devices/exos.yml +55 -0
  98. networklab-26.4/netsim/devices/fortios.py +14 -0
  99. {networklab-26.3 → networklab-26.4}/netsim/devices/fortios.yml +4 -0
  100. {networklab-26.3 → networklab-26.4}/netsim/devices/frr.yml +4 -1
  101. {networklab-26.3 → networklab-26.4}/netsim/devices/ios.yml +2 -1
  102. {networklab-26.3 → networklab-26.4}/netsim/devices/iosxr.yml +6 -4
  103. {networklab-26.3 → networklab-26.4}/netsim/devices/junos.py +9 -9
  104. {networklab-26.3 → networklab-26.4}/netsim/devices/junos.yml +8 -5
  105. {networklab-26.3 → networklab-26.4}/netsim/devices/none.yml +3 -2
  106. {networklab-26.3 → networklab-26.4}/netsim/devices/nxos.yml +6 -0
  107. {networklab-26.3 → networklab-26.4}/netsim/devices/openbsd.yml +3 -1
  108. {networklab-26.3 → networklab-26.4}/netsim/devices/sonic.yml +1 -0
  109. {networklab-26.3 → networklab-26.4}/netsim/devices/srlinux.yml +10 -4
  110. {networklab-26.3 → networklab-26.4}/netsim/devices/sros.py +26 -10
  111. {networklab-26.3 → networklab-26.4}/netsim/devices/sros.yml +9 -3
  112. {networklab-26.3 → networklab-26.4}/netsim/devices/vjunos-router.py +9 -9
  113. {networklab-26.3 → networklab-26.4}/netsim/devices/vjunos-router.yml +1 -0
  114. {networklab-26.3 → networklab-26.4}/netsim/devices/vjunos-switch.yml +1 -0
  115. {networklab-26.3 → networklab-26.4}/netsim/devices/vmx.py +9 -9
  116. {networklab-26.3 → networklab-26.4}/netsim/devices/vptx.yml +1 -0
  117. {networklab-26.3 → networklab-26.4}/netsim/devices/vsrx.py +9 -9
  118. networklab-26.4/netsim/devices/vyos.py +26 -0
  119. {networklab-26.3 → networklab-26.4}/netsim/devices/vyos.yml +2 -0
  120. {networklab-26.3 → networklab-26.4}/netsim/devices/xr.yml +1 -0
  121. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.originate/plugin.py +15 -4
  122. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/plugin.py +2 -2
  123. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/ios.j2 +1 -1
  124. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/sros.j2 +4 -5
  125. networklab-26.4/netsim/extra/ospf.areas/bird.j2 +1 -0
  126. networklab-26.4/netsim/install/libvirt/exos.txt +61 -0
  127. networklab-26.4/netsim/install/libvirt/exos.xml.j2 +52 -0
  128. {networklab-26.3 → networklab-26.4}/netsim/modules/__init__.py +0 -1
  129. {networklab-26.3 → networklab-26.4}/netsim/modules/_routing.py +1 -1
  130. {networklab-26.3 → networklab-26.4}/netsim/modules/bgp.py +116 -25
  131. {networklab-26.3 → networklab-26.4}/netsim/modules/bgp.yml +44 -12
  132. {networklab-26.3 → networklab-26.4}/netsim/modules/evpn.py +38 -19
  133. {networklab-26.3 → networklab-26.4}/netsim/modules/evpn.yml +1 -0
  134. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/normalize.py +1 -0
  135. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/policy.py +2 -0
  136. {networklab-26.3 → networklab-26.4}/netsim/modules/sr.yml +1 -0
  137. {networklab-26.3 → networklab-26.4}/netsim/modules/srv6.py +3 -0
  138. {networklab-26.3 → networklab-26.4}/netsim/modules/vrf.py +28 -19
  139. {networklab-26.3 → networklab-26.4}/netsim/modules/vxlan.py +3 -3
  140. {networklab-26.3 → networklab-26.4}/netsim/providers/clab.yml +3 -3
  141. networklab-26.4/netsim/reports/devices.html.j2 +20 -0
  142. networklab-26.4/netsim/reports/devices.j2 +17 -0
  143. networklab-26.4/netsim/reports/devices.md.j2 +10 -0
  144. networklab-26.4/netsim/templates/provider/libvirt/exos-domain.j2 +15 -0
  145. {networklab-26.3 → networklab-26.4}/netsim/tools/suzieq.yml +1 -1
  146. {networklab-26.3 → networklab-26.4}/netsim/utils/routing.py +8 -3
  147. {networklab-26.3 → networklab-26.4}/netsim/utils/templates.py +2 -1
  148. {networklab-26.3 → networklab-26.4/networklab.egg-info}/PKG-INFO +2 -2
  149. {networklab-26.3 → networklab-26.4}/networklab.egg-info/SOURCES.txt +57 -24
  150. networklab-26.3/netsim/ansible/templates/bgp/junos.macro.j2 +0 -12
  151. networklab-26.3/netsim/ansible/templates/routing/junos.j2 +0 -115
  152. networklab-26.3/netsim/cli/show_commands/modules.py +0 -183
  153. networklab-26.3/netsim/extra/bgp.originate/defaults.yml +0 -12
  154. {networklab-26.3 → networklab-26.4}/LICENSE.md +0 -0
  155. {networklab-26.3 → networklab-26.4}/MANIFEST.in +0 -0
  156. {networklab-26.3 → networklab-26.4}/netlab +0 -0
  157. {networklab-26.3 → networklab-26.4}/netsim/ansible/collect-configs.ansible +0 -0
  158. {networklab-26.3 → networklab-26.4}/netsim/ansible/config.ansible +0 -0
  159. {networklab-26.3 → networklab-26.4}/netsim/ansible/create-config.ansible +0 -0
  160. {networklab-26.3 → networklab-26.4}/netsim/ansible/device-ready.ansible +0 -0
  161. {networklab-26.3 → networklab-26.4}/netsim/ansible/initial-config.ansible +0 -0
  162. {networklab-26.3 → networklab-26.4}/netsim/ansible/missing.yml +0 -0
  163. {networklab-26.3 → networklab-26.4}/netsim/ansible/reload-config.ansible +0 -0
  164. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/create-config.yml +0 -0
  165. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/create-custom-config.yml +0 -0
  166. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/arcos.yml +0 -0
  167. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/arubacx.yml +0 -0
  168. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/asa.yml +0 -0
  169. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/cumulus.yml +0 -0
  170. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml +0 -0
  171. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/dellos10.yml +0 -0
  172. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/eos.yml +0 -0
  173. /networklab-26.3/netsim/ansible/tasks/deploy-config/fortinet.fortios.fortios.yml → /networklab-26.4/netsim/ansible/tasks/deploy-config/fortios.yml +0 -0
  174. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/frr.yml +0 -0
  175. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/ios.yml +0 -0
  176. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/iosxr.yml +0 -0
  177. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/junos.yml +0 -0
  178. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/linux-clab.yml +0 -0
  179. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/linux.yml +0 -0
  180. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/missing.yml +0 -0
  181. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/netscaler.yml +0 -0
  182. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/none.yml +0 -0
  183. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/nxos.yml +0 -0
  184. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/openbsd.yml +0 -0
  185. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/routeros.yml +0 -0
  186. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/routeros7.yml +0 -0
  187. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/sonic.yml +0 -0
  188. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/srlinux.yml +0 -0
  189. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/sros.yml +0 -0
  190. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/vyos-script.j2 +0 -0
  191. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-config/vyos.yml +0 -0
  192. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/deploy-module.yml +0 -0
  193. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/_config_cleanup.j2 +0 -0
  194. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/arcos.yml +0 -0
  195. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/arubacx.yml +0 -0
  196. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/asa.yml +0 -0
  197. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/cumulus.yml +0 -0
  198. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/cumulus_nvue.yml +0 -0
  199. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/dellos10.yml +0 -0
  200. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/eos.yml +0 -0
  201. /networklab-26.3/netsim/ansible/tasks/fetch-config/fortinet.fortios.fortios.yml → /networklab-26.4/netsim/ansible/tasks/fetch-config/fortios.yml +0 -0
  202. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/frr.yml +0 -0
  203. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/ios.yml +0 -0
  204. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/iosxr.yml +0 -0
  205. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/junos.yml +0 -0
  206. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/nxos.yml +0 -0
  207. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/routeros.yml +0 -0
  208. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/routeros7.yml +0 -0
  209. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/sonic.yml +0 -0
  210. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/srlinux.yml +0 -0
  211. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/sros.yml +0 -0
  212. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/fetch-config/vyos.yml +0 -0
  213. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/frr/deploy-config.yml +0 -0
  214. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/frr/initial-clab.yml +0 -0
  215. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/initial-config.yml +0 -0
  216. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/linux/dhcp.yml +0 -0
  217. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/cumulus_nvue.yml +0 -0
  218. /networklab-26.3/netsim/ansible/tasks/readiness-check/fortinet.fortios.fortios-clab.yml → /networklab-26.4/netsim/ansible/tasks/readiness-check/fortios-clab.yml +0 -0
  219. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/junos.yml +0 -0
  220. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/netscaler.yml +0 -0
  221. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/nxos.yml +0 -0
  222. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/sros.yml +0 -0
  223. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/srsim-hardware.j2 +0 -0
  224. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/srsim.yml +0 -0
  225. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/ssh.yml +0 -0
  226. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/readiness-check/vyos-clab.yml +0 -0
  227. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/reload-config/_copy_config.yml +0 -0
  228. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/reload-config/eos.yml +0 -0
  229. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/reload-config/ios.yml +0 -0
  230. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/reload-config/srlinux.yml +0 -0
  231. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/vmx/initial.yml +0 -0
  232. {networklab-26.3 → networklab-26.4}/netsim/ansible/tasks/wait-for-ready.yml +0 -0
  233. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/arubacx.j2 +0 -0
  234. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/cumulus.j2 +0 -0
  235. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/dellos10.j2 +0 -0
  236. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/eos.j2 +0 -0
  237. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/frr.j2 +0 -0
  238. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/ios.j2 +0 -0
  239. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/junos.j2 +0 -0
  240. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/none.j2 +0 -0
  241. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/nxos.j2 +0 -0
  242. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/srlinux.j2 +0 -0
  243. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/sros.j2 +0 -0
  244. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bfd/vyos.j2 +0 -0
  245. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/asa.j2 +0 -0
  246. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/asa.macro.j2 +0 -0
  247. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/cumulus.j2 +0 -0
  248. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/cumulus_nvue.j2 +0 -0
  249. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/dellos10.macro.j2 +0 -0
  250. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/eos.macro.j2 +0 -0
  251. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/ios.macro.j2 +0 -0
  252. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/none.j2 +0 -0
  253. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/routeros.j2 +0 -0
  254. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/routeros.macro.j2 +0 -0
  255. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/routeros7.j2 +0 -0
  256. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/routeros7.macro.j2 +0 -0
  257. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/sonic.j2 +0 -0
  258. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/srlinux.j2 +0 -0
  259. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/sros.j2 +0 -0
  260. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/bgp/vyos.macro.j2 +0 -0
  261. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/cumulus.j2 +0 -0
  262. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/dnsmasq.j2 +0 -0
  263. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/eos.j2 +0 -0
  264. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/eos.server.j2 +0 -0
  265. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/ios.j2 +0 -0
  266. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/ios.server.j2 +0 -0
  267. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/linux-isc-dhcp-relay.j2 +0 -0
  268. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/dhcp/linux.j2 +0 -0
  269. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/eigrp/ios.j2 +0 -0
  270. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/eigrp/nxos.j2 +0 -0
  271. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/arubacx.j2 +0 -0
  272. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/crpd.j2 +0 -0
  273. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/cumulus.j2 +0 -0
  274. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/cumulus_nvue.j2 +0 -0
  275. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/dellos10.j2 +0 -0
  276. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/eos.j2 +0 -0
  277. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/frr.evpn-config.j2 +0 -0
  278. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/frr.j2 +0 -0
  279. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/ioll2.j2 +0 -0
  280. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/ios.j2 +0 -0
  281. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/iosxr.j2 +0 -0
  282. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/junos/vlan.j2 +0 -0
  283. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/nxos.j2 +0 -0
  284. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/srlinux.j2 +0 -0
  285. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/sros.j2 +0 -0
  286. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/vjunos-router.j2 +0 -0
  287. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/vjunos-switch.j2 +0 -0
  288. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/vptx.j2 +0 -0
  289. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/evpn/vyos.j2 +0 -0
  290. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/arubacx.j2 +0 -0
  291. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/crpd.j2 +0 -0
  292. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/cumulus.j2 +0 -0
  293. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/cumulus_nvue.j2 +0 -0
  294. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/dellos10.j2 +0 -0
  295. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/eos.j2 +0 -0
  296. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/frr.j2 +0 -0
  297. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/frr.vrrp-config.j2 +0 -0
  298. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/ios.j2 +0 -0
  299. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/iosxr.j2 +0 -0
  300. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/junos.j2 +0 -0
  301. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/nxos.j2 +0 -0
  302. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/srlinux.j2 +0 -0
  303. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/sros.j2 +0 -0
  304. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/gateway/vyos.j2 +0 -0
  305. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/_debug_commands.j2 +0 -0
  306. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/arcos.j2 +0 -0
  307. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/arubacx.j2 +0 -0
  308. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/arubacx.vlan.j2 +0 -0
  309. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/arubacx.vrf.j2 +0 -0
  310. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/asa.j2 +0 -0
  311. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/bird-clab.j2 +0 -0
  312. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/cat8000v.vlan.j2 +0 -0
  313. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/crpd.j2 +0 -0
  314. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/csr.vlan.j2 +0 -0
  315. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/cumulus.j2 +0 -0
  316. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/cumulus_nvue.j2 +0 -0
  317. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/dellos10.j2 +0 -0
  318. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/dellos10.vrf.j2 +0 -0
  319. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/eos.j2 +0 -0
  320. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/eos.vrf.j2 +0 -0
  321. /networklab-26.3/netsim/ansible/templates/initial/fortinet.fortios.fortios.j2 → /networklab-26.4/netsim/ansible/templates/initial/fortios.j2 +0 -0
  322. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/frr/daemons.j2 +0 -0
  323. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/frr.j2 +0 -0
  324. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/iol.j2 +0 -0
  325. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/iol.vlan.j2 +0 -0
  326. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/ioll2.vlan.j2 +0 -0
  327. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/ios.j2 +0 -0
  328. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/ios.vlan.j2 +0 -0
  329. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/ios.vrf.j2 +0 -0
  330. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/iosvl2.vlan.j2 +0 -0
  331. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/iosxr.j2 +0 -0
  332. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/junos.j2 +0 -0
  333. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/junos.vlan.j2 +0 -0
  334. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/junos.vrf.j2 +0 -0
  335. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/bash_profile.j2 +0 -0
  336. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/create-bond.j2 +0 -0
  337. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/hosts-common.j2 +0 -0
  338. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/hosts.j2 +0 -0
  339. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/packages.j2 +0 -0
  340. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/ubuntu.j2 +0 -0
  341. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/vanilla-ifconfig.j2 +0 -0
  342. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux/vanilla.j2 +0 -0
  343. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux-clab.j2 +0 -0
  344. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/linux.j2 +0 -0
  345. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/netscaler.j2 +0 -0
  346. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/nxos.j2 +0 -0
  347. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/nxos.vrf.j2 +0 -0
  348. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/openbsd.j2 +0 -0
  349. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/routeros.j2 +0 -0
  350. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/routeros.vlan.j2 +0 -0
  351. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/routeros.vrf.j2 +0 -0
  352. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/routeros7.j2 +0 -0
  353. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/routeros7.vlan.j2 +0 -0
  354. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/routeros7.vrf.j2 +0 -0
  355. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/sonic.j2 +0 -0
  356. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/srlinux.j2 +0 -0
  357. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/sros.j2 +0 -0
  358. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/sros.openconfig.j2 +0 -0
  359. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/vyos.j2 +0 -0
  360. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/vyos.vlan.j2 +0 -0
  361. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/initial/vyos.vrf.j2 +0 -0
  362. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/asa.j2 +0 -0
  363. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/crpd.j2 +0 -0
  364. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/eos.j2 +0 -0
  365. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/eos.macro.j2 +0 -0
  366. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/frr.j2 +0 -0
  367. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/frr.macro.j2 +0 -0
  368. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/ios.j2 +0 -0
  369. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/iosxr.j2 +0 -0
  370. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/junos.isis.j2 +0 -0
  371. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/junos.j2 +0 -0
  372. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/nxos.j2 +0 -0
  373. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/sros.openconfig.j2 +0 -0
  374. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/vsrx.j2 +0 -0
  375. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/isis/vyos.j2 +0 -0
  376. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/arubacx.j2 +0 -0
  377. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/cumulus.j2 +0 -0
  378. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/cumulus_nvue.j2 +0 -0
  379. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/dellos10.j2 +0 -0
  380. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/eos.j2 +0 -0
  381. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/frr.j2 +0 -0
  382. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/ios.j2 +0 -0
  383. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/junos.j2 +0 -0
  384. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/linux-clab.j2 +0 -0
  385. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/linux.j2 +0 -0
  386. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/lag/vyos.j2 +0 -0
  387. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/missing.j2 +0 -0
  388. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/arubacx.j2 +0 -0
  389. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/arubacx.ldp.j2 +0 -0
  390. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/arubacx.mplsvpn.j2 +0 -0
  391. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/eos.6pe.j2 +0 -0
  392. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/eos.bgp-lu.j2 +0 -0
  393. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/eos.j2 +0 -0
  394. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/eos.ldp.j2 +0 -0
  395. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/eos.mplsvpn.j2 +0 -0
  396. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/frr.frr-config.j2 +0 -0
  397. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/frr.j2 +0 -0
  398. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/frr.ldp.j2 +0 -0
  399. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/frr.mplsvpn.j2 +0 -0
  400. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/ios.6pe.j2 +0 -0
  401. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/ios.bgp-lu.j2 +0 -0
  402. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/ios.j2 +0 -0
  403. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/ios.ldp.j2 +0 -0
  404. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/ios.mplsvpn.j2 +0 -0
  405. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/iosxr/6pe.j2 +0 -0
  406. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/iosxr/ldp.j2 +0 -0
  407. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/iosxr/mplsvpn.j2 +0 -0
  408. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/iosxr.j2 +0 -0
  409. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/junos.j2 +0 -0
  410. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/junos.ldp.j2 +0 -0
  411. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/junos.mplsvpn.j2 +0 -0
  412. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/routeros.j2 +0 -0
  413. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/routeros.ldp.j2 +0 -0
  414. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/routeros.mplsvpn.j2 +0 -0
  415. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/routeros7.j2 +0 -0
  416. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/routeros7.ldp.j2 +0 -0
  417. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/routeros7.mplsvpn.j2 +0 -0
  418. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/srlinux.j2 +0 -0
  419. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/srlinux.ldp.j2 +0 -0
  420. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/sros.bgp.j2 +0 -0
  421. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/sros.j2 +0 -0
  422. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/sros.ldp.j2 +0 -0
  423. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/sros.mplsvpn.j2 +0 -0
  424. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/vyos.j2 +0 -0
  425. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/vyos.ldp.j2 +0 -0
  426. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/mpls/vyos.mplsvpn.j2 +0 -0
  427. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/normalize/ioll2.j2 +0 -0
  428. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/normalize/iosvl2.j2 +0 -0
  429. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/arcos.j2 +0 -0
  430. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/arubacx.j2 +0 -0
  431. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/arubacx.ospfv2.j2 +0 -0
  432. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/arubacx.ospfv3.j2 +0 -0
  433. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/asa.j2 +0 -0
  434. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/asa.ospfv2.j2 +0 -0
  435. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus.j2 +0 -0
  436. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus.ospfv2.j2 +0 -0
  437. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus.ospfv3.j2 +0 -0
  438. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/cumulus_nvue.j2 +0 -0
  439. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.j2 +0 -0
  440. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.macro.j2 +0 -0
  441. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.ospfv2.j2 +0 -0
  442. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/dellos10.ospfv3.j2 +0 -0
  443. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/eos.j2 +0 -0
  444. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/eos.ospfv2.j2 +0 -0
  445. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/eos.ospfv3.j2 +0 -0
  446. /networklab-26.3/netsim/ansible/templates/ospf/fortinet.fortios.fortios.j2 → /networklab-26.4/netsim/ansible/templates/ospf/fortios.j2 +0 -0
  447. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/frr.j2 +0 -0
  448. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/frr.ospfv2.j2 +0 -0
  449. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/frr.ospfv3.j2 +0 -0
  450. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/ios.j2 +0 -0
  451. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/ios.ospfv2.j2 +0 -0
  452. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/ios.ospfv3.j2 +0 -0
  453. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/iosxr.j2 +0 -0
  454. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/junos.j2 +0 -0
  455. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/junos.macro.j2 +0 -0
  456. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/none.j2 +0 -0
  457. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/nxos.j2 +0 -0
  458. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/nxos.ospfv2.j2 +0 -0
  459. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/nxos.ospfv3.j2 +0 -0
  460. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/openbsd.j2 +0 -0
  461. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/openbsd.ospfv2.j2 +0 -0
  462. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/openbsd.ospfv3.j2 +0 -0
  463. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/routeros.j2 +0 -0
  464. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/routeros7.j2 +0 -0
  465. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/routeros7.ospf-include.j2 +0 -0
  466. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/srlinux.j2 +0 -0
  467. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/sros.openconfig.j2 +0 -0
  468. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.default.j2 +0 -0
  469. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.j2 +0 -0
  470. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.ospfv2.j2 +0 -0
  471. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ospf/vyos.ospfv3.j2 +0 -0
  472. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/cumulus.j2 +0 -0
  473. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/eos.j2 +0 -0
  474. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/frr.j2 +0 -0
  475. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/frr.macro.j2 +0 -0
  476. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/ios.j2 +0 -0
  477. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/ios.macro.j2 +0 -0
  478. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/openbsd.j2 +0 -0
  479. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/openbsd.ripng.j2 +0 -0
  480. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/openbsd.ripv2.j2 +0 -0
  481. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/sros.j2 +0 -0
  482. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/ripv2/vyos.j2 +0 -0
  483. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_default.ios.j2 +0 -0
  484. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_prefix_list_ios.j2 +0 -0
  485. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_prefix_list_vyos.j2 +0 -0
  486. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.cumulus_nvue.j2 +0 -0
  487. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.dellos10.j2 +0 -0
  488. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.eos.j2 +0 -0
  489. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.frr.j2 +0 -0
  490. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_redistribute.ios.j2 +0 -0
  491. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_route_map_ios.j2 +0 -0
  492. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/_route_policy_vyos.j2 +0 -0
  493. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/arubacx.j2 +0 -0
  494. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/cumulus.j2 +0 -0
  495. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/cumulus_nvue.j2 +0 -0
  496. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/dellos10.j2 +0 -0
  497. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/eos.j2 +0 -0
  498. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/frr.j2 +0 -0
  499. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/ios.j2 +0 -0
  500. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/aspath.j2 +0 -0
  501. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/clist.j2 +0 -0
  502. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/policy-delete.j2 +0 -0
  503. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/policy-match.j2 +0 -0
  504. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/policy-set.j2 +0 -0
  505. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/policy.j2 +0 -0
  506. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/prefix.j2 +0 -0
  507. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr/static.j2 +0 -0
  508. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/iosxr.j2 +0 -0
  509. /networklab-26.3/netsim/ansible/templates/routing/_prefix_list_junos.j2 → /networklab-26.4/netsim/ansible/templates/routing/junos/prefix_list.j2 +0 -0
  510. /networklab-26.3/netsim/ansible/templates/routing/_route_policy_junos.j2 → /networklab-26.4/netsim/ansible/templates/routing/junos/route_policy.j2 +0 -0
  511. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/linux/ubuntu.j2 +0 -0
  512. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/linux/vanilla.j2 +0 -0
  513. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/linux-clab.j2 +0 -0
  514. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/linux.j2 +0 -0
  515. /networklab-26.3/netsim/ansible/templates/routing/_redistribute.srlinux.j2 → /networklab-26.4/netsim/ansible/templates/routing/srlinux/redistribute.j2 +0 -0
  516. /networklab-26.3/netsim/ansible/templates/routing/_redistribute.sros.j2 → /networklab-26.4/netsim/ansible/templates/routing/sros/redistribute.j2 +0 -0
  517. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/routing/vyos.j2 +0 -0
  518. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/eos.j2 +0 -0
  519. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/frr.j2 +0 -0
  520. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/ios.j2 +0 -0
  521. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/iosxr.j2 +0 -0
  522. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/junos.j2 +0 -0
  523. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/srlinux.j2 +0 -0
  524. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/sr/sros.j2 +0 -0
  525. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/srv6/frr.bgp.j2 +0 -0
  526. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/srv6/frr.j2 +0 -0
  527. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/srv6/ios.bgp.j2 +0 -0
  528. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/srv6/ios.j2 +0 -0
  529. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/srv6/sros.j2 +0 -0
  530. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/arubacx.j2 +0 -0
  531. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/cumulus.j2 +0 -0
  532. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/cumulus_nvue.j2 +0 -0
  533. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/dellos10.j2 +0 -0
  534. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/eos.j2 +0 -0
  535. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/frr.j2 +0 -0
  536. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/stp/ios.j2 +0 -0
  537. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/arubacx.j2 +0 -0
  538. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/cat8000v.essentials.j2 +0 -0
  539. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/cat8000v.j2 +0 -0
  540. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/cisco8000v.j2 +0 -0
  541. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/csr.j2 +0 -0
  542. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/cumulus.j2 +0 -0
  543. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/cumulus_nvue.j2 +0 -0
  544. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/dellos10.j2 +0 -0
  545. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/eos.j2 +0 -0
  546. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/frr.j2 +0 -0
  547. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/iol.j2 +0 -0
  548. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/ioll2.j2 +0 -0
  549. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/ios.j2 +0 -0
  550. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/iosvl2.j2 +0 -0
  551. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/linux-clab.j2 +0 -0
  552. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/nxos.j2 +0 -0
  553. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/routeros.j2 +0 -0
  554. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/routeros7.j2 +0 -0
  555. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/srlinux.j2 +0 -0
  556. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/sros.j2 +0 -0
  557. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/vjunos-router.j2 +0 -0
  558. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/vjunos-switch.j2 +0 -0
  559. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/vmx.j2 +0 -0
  560. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/vptx.j2 +0 -0
  561. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/vsrx.j2 +0 -0
  562. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vlan/vyos.j2 +0 -0
  563. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.j2 +0 -0
  564. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.ospfv2-vrf.j2 +0 -0
  565. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/arubacx.ospfv3-vrf.j2 +0 -0
  566. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/cumulus.j2 +0 -0
  567. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/cumulus_nvue.j2 +0 -0
  568. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/dellos10.j2 +0 -0
  569. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/dellos10.ospfv2-vrf.j2 +0 -0
  570. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/eos.j2 +0 -0
  571. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/frr.frr-config.j2 +0 -0
  572. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/frr.j2 +0 -0
  573. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/ios.j2 +0 -0
  574. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/iosxr.j2 +0 -0
  575. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/junos.j2 +0 -0
  576. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/nxos.j2 +0 -0
  577. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/nxos.ospfv2-vrf.j2 +0 -0
  578. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/routeros.bgp.j2 +0 -0
  579. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/routeros.j2 +0 -0
  580. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/routeros.ospfv2-vrf.j2 +0 -0
  581. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/routeros7.bgp.j2 +0 -0
  582. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/routeros7.j2 +0 -0
  583. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/routeros7.ospfv2-vrf.j2 +0 -0
  584. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/sros.j2 +0 -0
  585. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.j2 +0 -0
  586. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.ospfv2-vrf.j2 +0 -0
  587. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vrf/vyos.ospfv3-vrf.j2 +0 -0
  588. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/arubacx.j2 +0 -0
  589. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/cumulus.j2 +0 -0
  590. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/cumulus_nvue.j2 +0 -0
  591. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/dellos10.j2 +0 -0
  592. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/eos.j2 +0 -0
  593. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/frr.j2 +0 -0
  594. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/ios.j2 +0 -0
  595. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/nxos.j2 +0 -0
  596. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/srlinux.j2 +0 -0
  597. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/sros.j2 +0 -0
  598. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/vjunos-router.j2 +0 -0
  599. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/vjunos-switch.j2 +0 -0
  600. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/vptx.j2 +0 -0
  601. {networklab-26.3 → networklab-26.4}/netsim/ansible/templates/vxlan/vyos.j2 +0 -0
  602. {networklab-26.3 → networklab-26.4}/netsim/api/__init__.py +0 -0
  603. {networklab-26.3 → networklab-26.4}/netsim/augment/__init__.py +0 -0
  604. {networklab-26.3 → networklab-26.4}/netsim/augment/addressing.py +0 -0
  605. {networklab-26.3 → networklab-26.4}/netsim/augment/components.py +0 -0
  606. {networklab-26.3 → networklab-26.4}/netsim/augment/config.py +0 -0
  607. {networklab-26.3 → networklab-26.4}/netsim/augment/devices.py +0 -0
  608. {networklab-26.3 → networklab-26.4}/netsim/augment/groups.py +0 -0
  609. {networklab-26.3 → networklab-26.4}/netsim/augment/links.py +0 -0
  610. {networklab-26.3 → networklab-26.4}/netsim/augment/nodes.py +0 -0
  611. {networklab-26.3 → networklab-26.4}/netsim/augment/plugin.py +0 -0
  612. {networklab-26.3 → networklab-26.4}/netsim/augment/tools.py +0 -0
  613. {networklab-26.3 → networklab-26.4}/netsim/augment/topology.py +0 -0
  614. {networklab-26.3 → networklab-26.4}/netsim/augment/validate.py +0 -0
  615. {networklab-26.3 → networklab-26.4}/netsim/cli/__init__.py +0 -0
  616. {networklab-26.3 → networklab-26.4}/netsim/cli/_nodeset.py +0 -0
  617. {networklab-26.3 → networklab-26.4}/netsim/cli/alias.txt +0 -0
  618. {networklab-26.3 → networklab-26.4}/netsim/cli/api.py +0 -0
  619. {networklab-26.3 → networklab-26.4}/netsim/cli/capture.py +0 -0
  620. {networklab-26.3 → networklab-26.4}/netsim/cli/clab.py +0 -0
  621. {networklab-26.3 → networklab-26.4}/netsim/cli/clab_actions/__init__.py +0 -0
  622. {networklab-26.3 → networklab-26.4}/netsim/cli/clab_actions/build.py +0 -0
  623. {networklab-26.3 → networklab-26.4}/netsim/cli/clab_actions/cleanup.py +0 -0
  624. {networklab-26.3 → networklab-26.4}/netsim/cli/clab_actions/tarball.py +0 -0
  625. {networklab-26.3 → networklab-26.4}/netsim/cli/collect.py +0 -0
  626. {networklab-26.3 → networklab-26.4}/netsim/cli/connect.py +0 -0
  627. {networklab-26.3 → networklab-26.4}/netsim/cli/create.py +0 -0
  628. {networklab-26.3 → networklab-26.4}/netsim/cli/defaults.py +0 -0
  629. {networklab-26.3 → networklab-26.4}/netsim/cli/down.py +0 -0
  630. {networklab-26.3 → networklab-26.4}/netsim/cli/empty.yml +0 -0
  631. {networklab-26.3 → networklab-26.4}/netsim/cli/external_commands.py +0 -0
  632. {networklab-26.3 → networklab-26.4}/netsim/cli/graph.py +0 -0
  633. {networklab-26.3 → networklab-26.4}/netsim/cli/help.py +0 -0
  634. {networklab-26.3 → networklab-26.4}/netsim/cli/initial/__init__.py +0 -0
  635. {networklab-26.3 → networklab-26.4}/netsim/cli/initial/configs.py +0 -0
  636. {networklab-26.3 → networklab-26.4}/netsim/cli/initial/ready.py +0 -0
  637. {networklab-26.3 → networklab-26.4}/netsim/cli/initial/utils.py +0 -0
  638. {networklab-26.3 → networklab-26.4}/netsim/cli/inspect.py +0 -0
  639. {networklab-26.3 → networklab-26.4}/netsim/cli/install.py +0 -0
  640. {networklab-26.3 → networklab-26.4}/netsim/cli/libvirt/__init__.py +0 -0
  641. {networklab-26.3 → networklab-26.4}/netsim/cli/libvirt/config.py +0 -0
  642. {networklab-26.3 → networklab-26.4}/netsim/cli/libvirt/package.py +0 -0
  643. {networklab-26.3 → networklab-26.4}/netsim/cli/libvirt/remove.py +0 -0
  644. {networklab-26.3 → networklab-26.4}/netsim/cli/read.py +0 -0
  645. {networklab-26.3 → networklab-26.4}/netsim/cli/report.py +0 -0
  646. {networklab-26.3 → networklab-26.4}/netsim/cli/restart.py +0 -0
  647. {networklab-26.3 → networklab-26.4}/netsim/cli/show-usage.txt +0 -0
  648. {networklab-26.3 → networklab-26.4}/netsim/cli/tc.py +0 -0
  649. {networklab-26.3 → networklab-26.4}/netsim/cli/test.py +0 -0
  650. {networklab-26.3 → networklab-26.4}/netsim/cli/up.py +0 -0
  651. {networklab-26.3 → networklab-26.4}/netsim/cli/usage.py +0 -0
  652. {networklab-26.3 → networklab-26.4}/netsim/cli/usage.txt +0 -0
  653. {networklab-26.3 → networklab-26.4}/netsim/cli/usage_actions/__init__.py +0 -0
  654. {networklab-26.3 → networklab-26.4}/netsim/cli/usage_actions/show.py +0 -0
  655. {networklab-26.3 → networklab-26.4}/netsim/cli/usage_actions/utils.py +0 -0
  656. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/__init__.py +0 -0
  657. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/devices.py +0 -0
  658. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/parse.py +0 -0
  659. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/plugin.py +0 -0
  660. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/report.py +0 -0
  661. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/source.py +0 -0
  662. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/suzieq.py +0 -0
  663. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/tests.py +0 -0
  664. {networklab-26.3 → networklab-26.4}/netsim/cli/validate/utils.py +0 -0
  665. {networklab-26.3 → networklab-26.4}/netsim/cli/version.py +0 -0
  666. {networklab-26.3 → networklab-26.4}/netsim/common.py +0 -0
  667. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/Dockerfile +0 -0
  668. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/Dockerfile.v3 +0 -0
  669. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/bfd.j2 +0 -0
  670. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/bird.j2 +0 -0
  671. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/protocols.j2 +0 -0
  672. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/radv.j2 +0 -0
  673. {networklab-26.3 → networklab-26.4}/netsim/daemons/bird/routing.j2 +0 -0
  674. {networklab-26.3 → networklab-26.4}/netsim/daemons/dnsmasq/Dockerfile +0 -0
  675. {networklab-26.3 → networklab-26.4}/netsim/daemons/dnsmasq/dhcp.j2 +0 -0
  676. {networklab-26.3 → networklab-26.4}/netsim/daemons/dnsmasq/dnsmasq.j2 +0 -0
  677. {networklab-26.3 → networklab-26.4}/netsim/daemons/dnsmasq.yml +0 -0
  678. {networklab-26.3 → networklab-26.4}/netsim/daemons/kind/initial.j2 +0 -0
  679. {networklab-26.3 → networklab-26.4}/netsim/daemons/kind.yml +0 -0
  680. {networklab-26.3 → networklab-26.4}/netsim/daemons/netscaler/Dockerfile.j2 +0 -0
  681. {networklab-26.3 → networklab-26.4}/netsim/data/__init__.py +0 -0
  682. {networklab-26.3 → networklab-26.4}/netsim/data/filemaps.py +0 -0
  683. {networklab-26.3 → networklab-26.4}/netsim/data/global_vars.py +0 -0
  684. {networklab-26.3 → networklab-26.4}/netsim/data/validate.py +0 -0
  685. {networklab-26.3 → networklab-26.4}/netsim/defaults/addressing.yml +0 -0
  686. {networklab-26.3 → networklab-26.4}/netsim/defaults/automation.yml +0 -0
  687. {networklab-26.3 → networklab-26.4}/netsim/defaults/const.yml +0 -0
  688. {networklab-26.3 → networklab-26.4}/netsim/defaults/hints.yml +0 -0
  689. {networklab-26.3 → networklab-26.4}/netsim/defaults/multilab.yml +0 -0
  690. {networklab-26.3 → networklab-26.4}/netsim/defaults/netlab.yml +0 -0
  691. {networklab-26.3 → networklab-26.4}/netsim/defaults/paths.yml +0 -0
  692. {networklab-26.3 → networklab-26.4}/netsim/defaults/ports.yml +0 -0
  693. {networklab-26.3 → networklab-26.4}/netsim/defaults/warnings.yml +0 -0
  694. {networklab-26.3 → networklab-26.4}/netsim/devices/__init__.py +0 -0
  695. {networklab-26.3 → networklab-26.4}/netsim/devices/_common.py +0 -0
  696. {networklab-26.3 → networklab-26.4}/netsim/devices/arubacx.py +0 -0
  697. {networklab-26.3 → networklab-26.4}/netsim/devices/asav.py +0 -0
  698. {networklab-26.3 → networklab-26.4}/netsim/devices/asav.yml +0 -0
  699. {networklab-26.3 → networklab-26.4}/netsim/devices/bird.py +0 -0
  700. {networklab-26.3 → networklab-26.4}/netsim/devices/cat8000v.py +0 -0
  701. {networklab-26.3 → networklab-26.4}/netsim/devices/cat8000v.yml +0 -0
  702. {networklab-26.3 → networklab-26.4}/netsim/devices/cisco8000v.py +0 -0
  703. {networklab-26.3 → networklab-26.4}/netsim/devices/cisco8000v.yml +0 -0
  704. {networklab-26.3 → networklab-26.4}/netsim/devices/crpd.py +0 -0
  705. {networklab-26.3 → networklab-26.4}/netsim/devices/csr.py +0 -0
  706. {networklab-26.3 → networklab-26.4}/netsim/devices/csr.yml +0 -0
  707. {networklab-26.3 → networklab-26.4}/netsim/devices/cumulus.py +0 -0
  708. {networklab-26.3 → networklab-26.4}/netsim/devices/cumulus_nvue.py +0 -0
  709. {networklab-26.3 → networklab-26.4}/netsim/devices/dellos10.py +0 -0
  710. {networklab-26.3 → networklab-26.4}/netsim/devices/eos.py +0 -0
  711. {networklab-26.3 → networklab-26.4}/netsim/devices/frr.py +0 -0
  712. {networklab-26.3 → networklab-26.4}/netsim/devices/iol.py +0 -0
  713. {networklab-26.3 → networklab-26.4}/netsim/devices/iol.yml +0 -0
  714. {networklab-26.3 → networklab-26.4}/netsim/devices/ioll2.py +0 -0
  715. {networklab-26.3 → networklab-26.4}/netsim/devices/ioll2.yml +0 -0
  716. {networklab-26.3 → networklab-26.4}/netsim/devices/iosv.py +0 -0
  717. {networklab-26.3 → networklab-26.4}/netsim/devices/iosv.yml +0 -0
  718. {networklab-26.3 → networklab-26.4}/netsim/devices/iosvl2.py +0 -0
  719. {networklab-26.3 → networklab-26.4}/netsim/devices/iosvl2.yml +0 -0
  720. {networklab-26.3 → networklab-26.4}/netsim/devices/iosxr.py +0 -0
  721. {networklab-26.3 → networklab-26.4}/netsim/devices/linux.py +0 -0
  722. {networklab-26.3 → networklab-26.4}/netsim/devices/linux.yml +0 -0
  723. {networklab-26.3 → networklab-26.4}/netsim/devices/netscaler.yml +0 -0
  724. {networklab-26.3 → networklab-26.4}/netsim/devices/nxos.py +0 -0
  725. {networklab-26.3 → networklab-26.4}/netsim/devices/openbsd.py +0 -0
  726. {networklab-26.3 → networklab-26.4}/netsim/devices/routeros.yml +0 -0
  727. {networklab-26.3 → networklab-26.4}/netsim/devices/routeros7.yml +0 -0
  728. {networklab-26.3 → networklab-26.4}/netsim/devices/srlinux.py +0 -0
  729. {networklab-26.3 → networklab-26.4}/netsim/devices/srsim.py +0 -0
  730. {networklab-26.3 → networklab-26.4}/netsim/devices/srsim.yml +0 -0
  731. {networklab-26.3 → networklab-26.4}/netsim/devices/unknown.py +0 -0
  732. {networklab-26.3 → networklab-26.4}/netsim/devices/unknown.yml +0 -0
  733. {networklab-26.3 → networklab-26.4}/netsim/devices/vjunos-switch.py +0 -0
  734. {networklab-26.3 → networklab-26.4}/netsim/devices/vmx.yml +0 -0
  735. {networklab-26.3 → networklab-26.4}/netsim/devices/vptx.py +0 -0
  736. {networklab-26.3 → networklab-26.4}/netsim/devices/vsrx.yml +0 -0
  737. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.domain/defaults.yml +0 -0
  738. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.domain/plugin.py +0 -0
  739. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/_route_map_ios.j2 +0 -0
  740. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/arubacx.j2 +0 -0
  741. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/cumulus.j2 +0 -0
  742. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/defaults.yml +0 -0
  743. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/dellos10.j2 +0 -0
  744. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/eos.j2 +0 -0
  745. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/frr.j2 +0 -0
  746. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/ios.j2 +0 -0
  747. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/iosxr.j2 +0 -0
  748. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/junos.j2 +0 -0
  749. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/simple-attributes.yml +0 -0
  750. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/srlinux.j2 +0 -0
  751. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/sros.j2 +0 -0
  752. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.policy/vyos.j2 +0 -0
  753. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/_sample_bfd_template.j2 +0 -0
  754. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/arubacx.j2 +0 -0
  755. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/bird.j2 +0 -0
  756. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/cumulus.j2 +0 -0
  757. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/cumulus_nvue.j2 +0 -0
  758. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/defaults.yml +0 -0
  759. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/dellos10.j2 +0 -0
  760. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/eos.j2 +0 -0
  761. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/frr.j2 +0 -0
  762. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/iosxr.j2 +0 -0
  763. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/junos.j2 +0 -0
  764. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/nxos.j2 +0 -0
  765. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/openbsd.j2 +0 -0
  766. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/plugin.py +0 -0
  767. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/routeros7.j2 +0 -0
  768. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/srlinux.j2 +0 -0
  769. {networklab-26.3 → networklab-26.4}/netsim/extra/bgp.session/vyos.j2 +0 -0
  770. {networklab-26.3 → networklab-26.4}/netsim/extra/bonding/defaults.yml +0 -0
  771. {networklab-26.3 → networklab-26.4}/netsim/extra/bonding/frr.j2 +0 -0
  772. {networklab-26.3 → networklab-26.4}/netsim/extra/bonding/linux-clab.j2 +0 -0
  773. {networklab-26.3 → networklab-26.4}/netsim/extra/bonding/linux.j2 +0 -0
  774. {networklab-26.3 → networklab-26.4}/netsim/extra/bonding/plugin.py +0 -0
  775. {networklab-26.3 → networklab-26.4}/netsim/extra/check.config/plugin.py +0 -0
  776. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/arubacx.j2 +0 -0
  777. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/cumulus.j2 +0 -0
  778. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/cumulus_nvue.j2 +0 -0
  779. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/defaults.yml +0 -0
  780. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/dellos10.j2 +0 -0
  781. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/ebgp-multihop-load-balancing.yml +0 -0
  782. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/eos.j2 +0 -0
  783. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/frr.j2 +0 -0
  784. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/ios.j2 +0 -0
  785. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/iosxr.j2 +0 -0
  786. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/junos.j2 +0 -0
  787. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/plugin.py +0 -0
  788. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/srlinux.j2 +0 -0
  789. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.multihop/sros.j2 +0 -0
  790. {networklab-26.3 → networklab-26.4}/netsim/extra/ebgp.utils/plugin.py +0 -0
  791. {networklab-26.3 → networklab-26.4}/netsim/extra/evpn.multihoming/cumulus_nvue.j2 +0 -0
  792. {networklab-26.3 → networklab-26.4}/netsim/extra/evpn.multihoming/defaults.yml +0 -0
  793. {networklab-26.3 → networklab-26.4}/netsim/extra/evpn.multihoming/eos.j2 +0 -0
  794. {networklab-26.3 → networklab-26.4}/netsim/extra/evpn.multihoming/frr.j2 +0 -0
  795. {networklab-26.3 → networklab-26.4}/netsim/extra/evpn.multihoming/plugin.py +0 -0
  796. {networklab-26.3 → networklab-26.4}/netsim/extra/evpn.multihoming/vjunos-switch.j2 +0 -0
  797. {networklab-26.3 → networklab-26.4}/netsim/extra/fabric/defaults.yml +0 -0
  798. {networklab-26.3 → networklab-26.4}/netsim/extra/fabric/plugin.py +0 -0
  799. {networklab-26.3 → networklab-26.4}/netsim/extra/files/defaults.yml +0 -0
  800. {networklab-26.3 → networklab-26.4}/netsim/extra/files/plugin.py +0 -0
  801. {networklab-26.3 → networklab-26.4}/netsim/extra/firewall.zonebased/defaults.yml +0 -0
  802. /networklab-26.3/netsim/extra/firewall.zonebased/deploy.fortinet.fortios.fortios.yml → /networklab-26.4/netsim/extra/firewall.zonebased/deploy.fortios.yml +0 -0
  803. /networklab-26.3/netsim/extra/firewall.zonebased/fortinet.fortios.fortios.j2 → /networklab-26.4/netsim/extra/firewall.zonebased/fortios.j2 +0 -0
  804. {networklab-26.3 → networklab-26.4}/netsim/extra/firewall.zonebased/plugin.py +0 -0
  805. {networklab-26.3 → networklab-26.4}/netsim/extra/firewall.zonebased/vsrx.j2 +0 -0
  806. {networklab-26.3 → networklab-26.4}/netsim/extra/firewall.zonebased/vyos.j2 +0 -0
  807. {networklab-26.3 → networklab-26.4}/netsim/extra/kind/defaults.yml +0 -0
  808. {networklab-26.3 → networklab-26.4}/netsim/extra/kind/plugin.py +0 -0
  809. {networklab-26.3 → networklab-26.4}/netsim/extra/mlag.vtep/defaults.yml +0 -0
  810. {networklab-26.3 → networklab-26.4}/netsim/extra/mlag.vtep/plugin.py +0 -0
  811. {networklab-26.3 → networklab-26.4}/netsim/extra/multilab/__init__.py +0 -0
  812. {networklab-26.3 → networklab-26.4}/netsim/extra/node.clone/defaults.yml +0 -0
  813. {networklab-26.3 → networklab-26.4}/netsim/extra/node.clone/plugin.py +0 -0
  814. {networklab-26.3 → networklab-26.4}/netsim/extra/none/none.j2 +0 -0
  815. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/arubacx.j2 +0 -0
  816. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/cumulus_nvue.j2 +0 -0
  817. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/defaults.yml +0 -0
  818. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/dellos10.j2 +0 -0
  819. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/eos.j2 +0 -0
  820. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/frr.j2 +0 -0
  821. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/ios.j2 +0 -0
  822. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/junos.j2 +0 -0
  823. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/plugin.py +0 -0
  824. {networklab-26.3 → networklab-26.4}/netsim/extra/ospf.areas/srlinux.j2 +0 -0
  825. {networklab-26.3 → networklab-26.4}/netsim/extra/proxy-arp/plugin.py +0 -0
  826. {networklab-26.3 → networklab-26.4}/netsim/extra/proxy-arp/srlinux.j2 +0 -0
  827. {networklab-26.3 → networklab-26.4}/netsim/extra/proxy-arp/sros.j2 +0 -0
  828. {networklab-26.3 → networklab-26.4}/netsim/extra/test.fixup/plugin.py +0 -0
  829. {networklab-26.3 → networklab-26.4}/netsim/extra/test.vrf_check/plugin.py +0 -0
  830. {networklab-26.3 → networklab-26.4}/netsim/extra/vrrp.version/cumulus_nvue.j2 +0 -0
  831. {networklab-26.3 → networklab-26.4}/netsim/extra/vrrp.version/defaults.yml +0 -0
  832. {networklab-26.3 → networklab-26.4}/netsim/extra/vrrp.version/dellos10.j2 +0 -0
  833. {networklab-26.3 → networklab-26.4}/netsim/extra/vrrp.version/plugin.py +0 -0
  834. {networklab-26.3 → networklab-26.4}/netsim/install/ansible.sh +0 -0
  835. {networklab-26.3 → networklab-26.4}/netsim/install/apt-get-update.sh +0 -0
  836. {networklab-26.3 → networklab-26.4}/netsim/install/containerlab.sh +0 -0
  837. {networklab-26.3 → networklab-26.4}/netsim/install/graph.sh +0 -0
  838. {networklab-26.3 → networklab-26.4}/netsim/install/grpc.sh +0 -0
  839. {networklab-26.3 → networklab-26.4}/netsim/install/install.yml +0 -0
  840. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/arubacx.txt +0 -0
  841. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/asav/day0-config +0 -0
  842. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/asav.txt +0 -0
  843. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/asav.xml.j2 +0 -0
  844. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/cat8000v/iosxe_config.txt +0 -0
  845. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/cat8000v.txt +0 -0
  846. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/cat8000v.xml.j2 +0 -0
  847. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/csr.txt +0 -0
  848. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/dellos10/run.sh +0 -0
  849. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/dellos10.txt +0 -0
  850. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/eos.txt +0 -0
  851. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/eos.xml.j2 +0 -0
  852. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/fortios/openstack/latest/user_data +0 -0
  853. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/fortios.txt +0 -0
  854. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/fortios.xml.j2 +0 -0
  855. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/frr/meta-data +0 -0
  856. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/frr/user-data.j2 +0 -0
  857. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/frr.xml.j2 +0 -0
  858. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/iosv.txt +0 -0
  859. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/iosv.xml.j2 +0 -0
  860. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/iosvl2.txt +0 -0
  861. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/iosxr/iosxr_config.txt +0 -0
  862. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/iosxr.txt +0 -0
  863. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/nxos.txt +0 -0
  864. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/nxos.xml.j2 +0 -0
  865. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/openbsd/meta-data +0 -0
  866. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/openbsd/network-config +0 -0
  867. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/openbsd/user-data +0 -0
  868. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/openbsd.txt +0 -0
  869. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/openbsd.xml.j2 +0 -0
  870. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/routeros7.txt +0 -0
  871. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/sonic.txt +0 -0
  872. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/sonic.xml.j2 +0 -0
  873. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vptx/juniper.conf +0 -0
  874. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vptx/make-config.sh +0 -0
  875. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vptx/run.sh +0 -0
  876. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vptx.txt +0 -0
  877. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vptx.xml.j2 +0 -0
  878. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vsrx/juniper.conf +0 -0
  879. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt/vsrx.txt +0 -0
  880. {networklab-26.3 → networklab-26.4}/netsim/install/libvirt.sh +0 -0
  881. {networklab-26.3 → networklab-26.4}/netsim/install/ubuntu.sh +0 -0
  882. {networklab-26.3 → networklab-26.4}/netsim/modules/_dataplane.py +0 -0
  883. {networklab-26.3 → networklab-26.4}/netsim/modules/bfd.py +0 -0
  884. {networklab-26.3 → networklab-26.4}/netsim/modules/bfd.yml +0 -0
  885. {networklab-26.3 → networklab-26.4}/netsim/modules/dhcp.py +0 -0
  886. {networklab-26.3 → networklab-26.4}/netsim/modules/dhcp.yml +0 -0
  887. {networklab-26.3 → networklab-26.4}/netsim/modules/eigrp.py +0 -0
  888. {networklab-26.3 → networklab-26.4}/netsim/modules/eigrp.yml +0 -0
  889. {networklab-26.3 → networklab-26.4}/netsim/modules/gateway.py +0 -0
  890. {networklab-26.3 → networklab-26.4}/netsim/modules/gateway.yml +0 -0
  891. {networklab-26.3 → networklab-26.4}/netsim/modules/initial.yml +0 -0
  892. {networklab-26.3 → networklab-26.4}/netsim/modules/isis.py +0 -0
  893. {networklab-26.3 → networklab-26.4}/netsim/modules/isis.yml +0 -0
  894. {networklab-26.3 → networklab-26.4}/netsim/modules/lag.py +0 -0
  895. {networklab-26.3 → networklab-26.4}/netsim/modules/lag.yml +0 -0
  896. {networklab-26.3 → networklab-26.4}/netsim/modules/mpls.py +0 -0
  897. {networklab-26.3 → networklab-26.4}/netsim/modules/mpls.yml +0 -0
  898. {networklab-26.3 → networklab-26.4}/netsim/modules/ospf.py +0 -0
  899. {networklab-26.3 → networklab-26.4}/netsim/modules/ospf.yml +0 -0
  900. {networklab-26.3 → networklab-26.4}/netsim/modules/ripv2.py +0 -0
  901. {networklab-26.3 → networklab-26.4}/netsim/modules/ripv2.yml +0 -0
  902. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/__init__.py +0 -0
  903. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/aspath.py +0 -0
  904. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/clist.py +0 -0
  905. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/prefix.py +0 -0
  906. {networklab-26.3 → networklab-26.4}/netsim/modules/routing/static.py +0 -0
  907. {networklab-26.3 → networklab-26.4}/netsim/modules/routing.yml +0 -0
  908. {networklab-26.3 → networklab-26.4}/netsim/modules/sr.py +0 -0
  909. {networklab-26.3 → networklab-26.4}/netsim/modules/srv6.yml +0 -0
  910. {networklab-26.3 → networklab-26.4}/netsim/modules/stp.py +0 -0
  911. {networklab-26.3 → networklab-26.4}/netsim/modules/stp.yml +0 -0
  912. {networklab-26.3 → networklab-26.4}/netsim/modules/vlan.py +0 -0
  913. {networklab-26.3 → networklab-26.4}/netsim/modules/vlan.yml +0 -0
  914. {networklab-26.3 → networklab-26.4}/netsim/modules/vrf.yml +0 -0
  915. {networklab-26.3 → networklab-26.4}/netsim/modules/vxlan.yml +0 -0
  916. {networklab-26.3 → networklab-26.4}/netsim/outputs/__init__.py +0 -0
  917. {networklab-26.3 → networklab-26.4}/netsim/outputs/_graph.py +0 -0
  918. {networklab-26.3 → networklab-26.4}/netsim/outputs/ansible.py +0 -0
  919. {networklab-26.3 → networklab-26.4}/netsim/outputs/ansible.yml +0 -0
  920. {networklab-26.3 → networklab-26.4}/netsim/outputs/common.py +0 -0
  921. {networklab-26.3 → networklab-26.4}/netsim/outputs/config.py +0 -0
  922. {networklab-26.3 → networklab-26.4}/netsim/outputs/d2.py +0 -0
  923. {networklab-26.3 → networklab-26.4}/netsim/outputs/d2.yml +0 -0
  924. {networklab-26.3 → networklab-26.4}/netsim/outputs/devices.py +0 -0
  925. {networklab-26.3 → networklab-26.4}/netsim/outputs/format.py +0 -0
  926. {networklab-26.3 → networklab-26.4}/netsim/outputs/graph.py +0 -0
  927. {networklab-26.3 → networklab-26.4}/netsim/outputs/graph.yml +0 -0
  928. {networklab-26.3 → networklab-26.4}/netsim/outputs/graphite.py +0 -0
  929. {networklab-26.3 → networklab-26.4}/netsim/outputs/json.py +0 -0
  930. {networklab-26.3 → networklab-26.4}/netsim/outputs/none.py +0 -0
  931. {networklab-26.3 → networklab-26.4}/netsim/outputs/pickle.py +0 -0
  932. {networklab-26.3 → networklab-26.4}/netsim/outputs/provider.py +0 -0
  933. {networklab-26.3 → networklab-26.4}/netsim/outputs/report.py +0 -0
  934. {networklab-26.3 → networklab-26.4}/netsim/outputs/tools.py +0 -0
  935. {networklab-26.3 → networklab-26.4}/netsim/outputs/yaml.py +0 -0
  936. {networklab-26.3 → networklab-26.4}/netsim/providers/__init__.py +0 -0
  937. {networklab-26.3 → networklab-26.4}/netsim/providers/clab.py +0 -0
  938. {networklab-26.3 → networklab-26.4}/netsim/providers/external.py +0 -0
  939. {networklab-26.3 → networklab-26.4}/netsim/providers/external.yml +0 -0
  940. {networklab-26.3 → networklab-26.4}/netsim/providers/libvirt.py +0 -0
  941. {networklab-26.3 → networklab-26.4}/netsim/providers/libvirt.yml +0 -0
  942. {networklab-26.3 → networklab-26.4}/netsim/providers/virtualbox.py +0 -0
  943. {networklab-26.3 → networklab-26.4}/netsim/providers/virtualbox.yml +0 -0
  944. {networklab-26.3 → networklab-26.4}/netsim/py.typed +0 -0
  945. {networklab-26.3 → networklab-26.4}/netsim/reports/addressing-link.html.j2 +0 -0
  946. {networklab-26.3 → networklab-26.4}/netsim/reports/addressing-node.html.j2 +0 -0
  947. {networklab-26.3 → networklab-26.4}/netsim/reports/addressing.html.j2 +0 -0
  948. {networklab-26.3 → networklab-26.4}/netsim/reports/addressing.j2 +0 -0
  949. {networklab-26.3 → networklab-26.4}/netsim/reports/addressing.md.j2 +0 -0
  950. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp-asn.html.j2 +0 -0
  951. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp-asn.md.j2 +0 -0
  952. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp-neighbor-short.md.j2 +0 -0
  953. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp-neighbor.html.j2 +0 -0
  954. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp-neighbor.md.j2 +0 -0
  955. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp-prefix.include.j2 +0 -0
  956. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp.html.j2 +0 -0
  957. {networklab-26.3 → networklab-26.4}/netsim/reports/bgp.j2 +0 -0
  958. {networklab-26.3 → networklab-26.4}/netsim/reports/isis-interfaces.html.j2 +0 -0
  959. {networklab-26.3 → networklab-26.4}/netsim/reports/isis-interfaces.md.j2 +0 -0
  960. {networklab-26.3 → networklab-26.4}/netsim/reports/isis-nodes.html.j2 +0 -0
  961. {networklab-26.3 → networklab-26.4}/netsim/reports/isis-nodes.j2 +0 -0
  962. {networklab-26.3 → networklab-26.4}/netsim/reports/isis-nodes.md.j2 +0 -0
  963. {networklab-26.3 → networklab-26.4}/netsim/reports/mgmt.html.j2 +0 -0
  964. {networklab-26.3 → networklab-26.4}/netsim/reports/mgmt.j2 +0 -0
  965. {networklab-26.3 → networklab-26.4}/netsim/reports/nodes.j2 +0 -0
  966. {networklab-26.3 → networklab-26.4}/netsim/reports/ospf-areas.html.j2 +0 -0
  967. {networklab-26.3 → networklab-26.4}/netsim/reports/ospf-areas.j2 +0 -0
  968. {networklab-26.3 → networklab-26.4}/netsim/reports/ospf-areas.md.j2 +0 -0
  969. {networklab-26.3 → networklab-26.4}/netsim/reports/ospf-utils.include.j2 +0 -0
  970. {networklab-26.3 → networklab-26.4}/netsim/reports/ospfv3.html.j2 +0 -0
  971. {networklab-26.3 → networklab-26.4}/netsim/reports/ospfv3.j2 +0 -0
  972. {networklab-26.3 → networklab-26.4}/netsim/reports/ospfv3.md.j2 +0 -0
  973. {networklab-26.3 → networklab-26.4}/netsim/reports/page.html.j2 +0 -0
  974. {networklab-26.3 → networklab-26.4}/netsim/reports/ssh_config.j2 +0 -0
  975. {networklab-26.3 → networklab-26.4}/netsim/reports/wiring-columns.include.j2 +0 -0
  976. {networklab-26.3 → networklab-26.4}/netsim/reports/wiring.html.j2 +0 -0
  977. {networklab-26.3 → networklab-26.4}/netsim/reports/wiring.j2 +0 -0
  978. {networklab-26.3 → networklab-26.4}/netsim/reports/wiring.md.j2 +0 -0
  979. {networklab-26.3 → networklab-26.4}/netsim/roles/__init__.py +0 -0
  980. {networklab-26.3 → networklab-26.4}/netsim/roles/bridge.py +0 -0
  981. {networklab-26.3 → networklab-26.4}/netsim/roles/host.py +0 -0
  982. {networklab-26.3 → networklab-26.4}/netsim/roles/router.py +0 -0
  983. {networklab-26.3 → networklab-26.4}/netsim/templates/ansible.cfg.j2 +0 -0
  984. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/clab.j2 +0 -0
  985. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/crpd/hosts.j2 +0 -0
  986. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/crpd/netlab-config.j2 +0 -0
  987. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/cumulus/hosts.j2 +0 -0
  988. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/cumulus/interfaces.j2 +0 -0
  989. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/eos/ceos-config.j2 +0 -0
  990. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/frr/daemons.j2 +0 -0
  991. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/frr/hosts.j2 +0 -0
  992. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/iol/ifstate.j2 +0 -0
  993. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/ioll2/ifstate.j2 +0 -0
  994. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/iosxr/netlab-config.j2 +0 -0
  995. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/linux/hosts.j2 +0 -0
  996. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/clab/srlinux/hosts.j2 +0 -0
  997. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/external/external.j2 +0 -0
  998. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/Vagrantfile.j2 +0 -0
  999. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/_debian_vagrant_password.j2 +0 -0
  1000. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/arcos-domain.j2 +0 -0
  1001. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/arubacx-domain.j2 +0 -0
  1002. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/asav-domain.j2 +0 -0
  1003. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/cat8000v-domain.j2 +0 -0
  1004. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/csr-domain.j2 +0 -0
  1005. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/cumulus-domain.j2 +0 -0
  1006. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/cumulus_nvue-domain.j2 +0 -0
  1007. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/define-domain.j2 +0 -0
  1008. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/dellos10-domain.j2 +0 -0
  1009. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/eos-domain.j2 +0 -0
  1010. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/fortios-domain.j2 +0 -0
  1011. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/forwarded-ports.j2 +0 -0
  1012. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/frr-domain.j2 +0 -0
  1013. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/iosv-domain.j2 +0 -0
  1014. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/iosvl2-domain.j2 +0 -0
  1015. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/iosxr-domain.j2 +0 -0
  1016. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/libvirt-bridge.j2 +0 -0
  1017. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/libvirt-tunnel.j2 +0 -0
  1018. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/linux-domain.j2 +0 -0
  1019. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/none-domain.j2 +0 -0
  1020. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/nxos-domain.j2 +0 -0
  1021. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/openbsd-domain.j2 +0 -0
  1022. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/routeros-domain.j2 +0 -0
  1023. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/routeros7-domain.j2 +0 -0
  1024. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/sonic-domain.j2 +0 -0
  1025. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/vagrant-libvirt.xml +0 -0
  1026. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/vptx-domain.j2 +0 -0
  1027. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/vsrx-domain.j2 +0 -0
  1028. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/libvirt/vyos-domain.j2 +0 -0
  1029. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/Vagrantfile.j2 +0 -0
  1030. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/arcos-domain.j2 +0 -0
  1031. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/cumulus-domain.j2 +0 -0
  1032. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/eos-domain.j2 +0 -0
  1033. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/frr-domain.j2 +0 -0
  1034. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/linux-domain.j2 +0 -0
  1035. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/nxos-domain.j2 +0 -0
  1036. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/virtualbox-network.j2 +0 -0
  1037. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/virtualbox-ports.j2 +0 -0
  1038. {networklab-26.3 → networklab-26.4}/netsim/templates/provider/virtualbox/vsrx-domain.j2 +0 -0
  1039. {networklab-26.3 → networklab-26.4}/netsim/templates/tests/clab.yml +0 -0
  1040. {networklab-26.3 → networklab-26.4}/netsim/templates/tests/grpc.yml +0 -0
  1041. {networklab-26.3 → networklab-26.4}/netsim/templates/tests/libvirt.yml +0 -0
  1042. {networklab-26.3 → networklab-26.4}/netsim/templates/tests/virtualbox.yml +0 -0
  1043. {networklab-26.3 → networklab-26.4}/netsim/tools/__init__.py +0 -0
  1044. {networklab-26.3 → networklab-26.4}/netsim/tools/edgeshark.yml +0 -0
  1045. {networklab-26.3 → networklab-26.4}/netsim/tools/graphite.py +0 -0
  1046. {networklab-26.3 → networklab-26.4}/netsim/tools/graphite.yml +0 -0
  1047. {networklab-26.3 → networklab-26.4}/netsim/tools/nso.yml +0 -0
  1048. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts/inventory/groups.yaml +0 -0
  1049. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts/inventory/hosts.j2 +0 -0
  1050. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts/nr-config.yaml +0 -0
  1051. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts/tests/test_bgp.j2 +0 -0
  1052. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts/tests/test_interfaces.j2 +0 -0
  1053. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts/tests/test_ospf.j2 +0 -0
  1054. {networklab-26.3 → networklab-26.4}/netsim/tools/nuts.yml +0 -0
  1055. {networklab-26.3 → networklab-26.4}/netsim/tools/suzieq/suzieq-cfg.yml +0 -0
  1056. {networklab-26.3 → networklab-26.4}/netsim/tools/suzieq/suzieq.inventory.j2 +0 -0
  1057. {networklab-26.3 → networklab-26.4}/netsim/topology-defaults.yml +0 -0
  1058. {networklab-26.3 → networklab-26.4}/netsim/utils/__init__.py +0 -0
  1059. {networklab-26.3 → networklab-26.4}/netsim/utils/callback.py +0 -0
  1060. {networklab-26.3 → networklab-26.4}/netsim/utils/files.py +0 -0
  1061. {networklab-26.3 → networklab-26.4}/netsim/utils/filters.py +0 -0
  1062. {networklab-26.3 → networklab-26.4}/netsim/utils/linuxbridge.py +0 -0
  1063. {networklab-26.3 → networklab-26.4}/netsim/utils/log.py +0 -0
  1064. {networklab-26.3 → networklab-26.4}/netsim/utils/read.py +0 -0
  1065. {networklab-26.3 → networklab-26.4}/netsim/utils/sort.py +0 -0
  1066. {networklab-26.3 → networklab-26.4}/netsim/utils/stats.py +0 -0
  1067. {networklab-26.3 → networklab-26.4}/netsim/utils/status.py +0 -0
  1068. {networklab-26.3 → networklab-26.4}/netsim/utils/strings.py +0 -0
  1069. {networklab-26.3 → networklab-26.4}/netsim/utils/versioning.py +0 -0
  1070. {networklab-26.3 → networklab-26.4}/netsim/validate/__init__.py +0 -0
  1071. {networklab-26.3 → networklab-26.4}/netsim/validate/_common.py +0 -0
  1072. {networklab-26.3 → networklab-26.4}/netsim/validate/bgp/__init__.py +0 -0
  1073. {networklab-26.3 → networklab-26.4}/netsim/validate/bgp/eos.py +0 -0
  1074. {networklab-26.3 → networklab-26.4}/netsim/validate/bgp/frr.py +0 -0
  1075. {networklab-26.3 → networklab-26.4}/netsim/validate/crpd.py +0 -0
  1076. {networklab-26.3 → networklab-26.4}/netsim/validate/cumulus.py +0 -0
  1077. {networklab-26.3 → networklab-26.4}/netsim/validate/eos.py +0 -0
  1078. {networklab-26.3 → networklab-26.4}/netsim/validate/frr.py +0 -0
  1079. {networklab-26.3 → networklab-26.4}/netsim/validate/isis/__init__.py +0 -0
  1080. {networklab-26.3 → networklab-26.4}/netsim/validate/isis/frr.py +0 -0
  1081. {networklab-26.3 → networklab-26.4}/netsim/validate/linux.py +0 -0
  1082. {networklab-26.3 → networklab-26.4}/netsim/validate/ospf/__init__.py +0 -0
  1083. {networklab-26.3 → networklab-26.4}/netsim/validate/ospf/eos.py +0 -0
  1084. {networklab-26.3 → networklab-26.4}/netsim/validate/ospf/frr.py +0 -0
  1085. {networklab-26.3 → networklab-26.4}/netsim/validate/route/__init__.py +0 -0
  1086. {networklab-26.3 → networklab-26.4}/netsim/validate/route/frr.py +0 -0
  1087. {networklab-26.3 → networklab-26.4}/networklab.egg-info/dependency_links.txt +0 -0
  1088. {networklab-26.3 → networklab-26.4}/networklab.egg-info/requires.txt +0 -0
  1089. {networklab-26.3 → networklab-26.4}/networklab.egg-info/top_level.txt +0 -0
  1090. {networklab-26.3 → networklab-26.4}/requirements.txt +0 -0
  1091. {networklab-26.3 → networklab-26.4}/setup.cfg +0 -0
  1092. {networklab-26.3 → networklab-26.4}/setup.py +0 -0
  1093. {networklab-26.3 → networklab-26.4}/tests/test_transformation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: networklab
3
- Version: 26.3
3
+ Version: 26.4
4
4
  Summary: CLI-based Virtual Networking Lab Abstraction Layer
5
5
  Home-page: https://github.com/ipspace/netlab
6
6
  Author: Ivan Pepelnjak
@@ -60,7 +60,7 @@ Interested? [Read the documentation](https://netlab.tools) (also available on [G
60
60
 
61
61
  ## Releases
62
62
 
63
- The latest release is [release 26.03](https://github.com/ipspace/netlab/releases/tag/release_26.03). 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.02](https://github.com/ipspace/netlab/releases/tag/release_26.02).
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
64
 
65
65
  <!--
66
66
  or [1.8.4-post2](https://github.com/ipspace/netlab/releases/tag/release_1.8.4-post2).
@@ -17,7 +17,7 @@ Interested? [Read the documentation](https://netlab.tools) (also available on [G
17
17
 
18
18
  ## Releases
19
19
 
20
- The latest release is [release 26.03](https://github.com/ipspace/netlab/releases/tag/release_26.03). 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.02](https://github.com/ipspace/netlab/releases/tag/release_26.02).
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
21
 
22
22
  <!--
23
23
  or [1.8.4-post2](https://github.com/ipspace/netlab/releases/tag/release_1.8.4-post2).
@@ -2,7 +2,7 @@
2
2
 
3
3
  import sys
4
4
 
5
- __version__ = "26.03"
5
+ __version__ = "26.04"
6
6
 
7
7
  abort = False
8
8
 
@@ -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 ]
@@ -42,11 +42,20 @@
42
42
  verbosity: 1
43
43
  tags: [ test, custom ]
44
44
 
45
- # Find deployment task list. It could be a config-specific tasklist (somewhere in paths_custom directories with
46
- # file name from paths_custom.tasks list) or a generic deployment tasklist from deployment directories and
47
- # using generic deployment task names (a combination of ansible_network_os and netlab_provider). missing.yml
48
- # in the deployment directory is the catch-all of last resort.
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.
49
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
50
59
  - name: Find custom configuration deployment script
51
60
  set_fact:
52
61
  deploy_task:
@@ -55,7 +64,7 @@
55
64
  vars:
56
65
  node_provider: "{{ provider|default(netlab_provider) }}"
57
66
  c_params:
58
- paths: "{{ paths_custom.dirs }}"
67
+ paths: "{{ paths_custom.task_dirs }}"
59
68
  files: "{{ paths_custom.tasks }}"
60
69
  d_params:
61
70
  paths: "{{ paths_deploy.dirs }}"
@@ -0,0 +1,3 @@
1
+ ---
2
+ - community.network.exos_facts:
3
+ gather_subset: config
@@ -52,4 +52,4 @@
52
52
  when: netlab_vdom_is_enabled
53
53
 
54
54
  - name: Deploy initial configuration from template
55
- include_tasks: tasks/deploy-config/fortinet.fortios.fortios.yml
55
+ include_tasks: tasks/deploy-config/fortios.yml
@@ -23,33 +23,18 @@ router bgp {{ bgp.as }}
23
23
  {% for af in ['ipv4','ipv6'] if bgp[af] is defined %}
24
24
  address-family {{ af }} unicast
25
25
  !
26
- {% if bgp.import is defined %}
27
- {% for s_proto,s_data in bgp.import.items() %}
26
+ {% if bgp.import is defined %}
27
+ {% for s_proto,s_data in bgp.import.items() %}
28
28
  redistribute {{ s_proto }}{%
29
29
  if s_proto == 'ospf' and af == 'ipv6' %}v3{% endif %}{%
30
30
  if 'policy' in s_data %} route-map {{ s_data.policy }}-{{ af }}{% endif +%}
31
- {% endfor %}
32
- {% endif %}
33
-
34
- {% if loopback[af] is defined and bgp.advertise_loopback %}
35
- {{ bgpcfg.bgp_network(af,loopback[af]) }}
31
+ {% endfor %}
36
32
  {% endif %}
37
- !
38
- {% for l in interfaces|default([]) if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
39
- {{ bgpcfg.bgp_network(af,l[af]) }}
40
- {% endfor %}
41
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
42
- {{ bgpcfg.bgp_network(af,pfx) }}
33
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
34
+ network {{ pfx[af] }}
43
35
  {% endfor %}
44
36
  !
45
37
  {% for n in bgp.neighbors if n[af] is defined and n.activate[af] is defined and n.activate[af] %}
46
38
  {{ bgpcfg.neighbor_af(n,n[af],bgp) }}
47
39
  {% endfor %}
48
40
  {% endfor %}
49
- !
50
- {#
51
- Add extra IPv4 prefixes
52
- #}
53
- {% for pfx in bgp.originate|default([]) %}
54
- ip route {{ pfx|ansible.utils.ipaddr('network') }} {{ pfx|ansible.utils.ipaddr('netmask') }} nullroute
55
- {% endfor %}
@@ -38,9 +38,3 @@
38
38
  {% endif %}
39
39
  {% endif %}
40
40
  {%- endmacro -%}
41
- {#
42
- BGP network statement
43
- #}
44
- {% macro bgp_network(af,pfx) %}
45
- network {{ pfx|ansible.utils.ipaddr('0') }}
46
- {%- endmacro %}
@@ -35,19 +35,12 @@
35
35
  {{ redistribute.config(vrf_bgp,af=af)|indent(16,first=True) }}
36
36
  {% endif %}
37
37
  {% set _loopback = [ vrf.loopback[af]|ansible.utils.ipaddr(0) ] if vrf.loopback[af] is defined and bgp.advertise_loopback|default(True) else [] %}
38
- {% set data = namespace(networks=_loopback) %}
39
- {% for l in interfaces|default([]) if l.bgp.advertise|default("") and l[af] is defined and l.vrf|default('default')==vrf_name %}
40
- {% set data.networks = data.networks + [ l[af]|ansible.utils.ipaddr(0) ] %}
41
- {% endfor %}
42
- {% for pfx in vrf_bgp.originate|default([]) if af == 'ipv4' %}
43
- {% set data.networks = data.networks + [ pfx|ansible.utils.ipaddr(0) ] %}
44
- {% endfor %}
45
- {% if data.networks!=[] %}
38
+ {% for pfx in vrf_bgp.advertise|default([]) if af in pfx %}
39
+ {% if loop.first %}
46
40
  network:
47
- {% for pfx in data.networks|unique %}
48
- {{ pfx }}: {}
49
- {% endfor %}
50
- {% endif %}
41
+ {% endif %}
42
+ {{ pfx[af] }}: {}
43
+ {% endfor %}
51
44
  {% endfor %}
52
45
  {% for n in vrf_bgp.neighbors|default([]) %}
53
46
  {% if loop.first %}
@@ -112,14 +105,4 @@
112
105
  {% endif %}
113
106
  {% endfor %}
114
107
  {% endfor %}
115
- {% if vrf_bgp.originate is defined %}
116
- static:
117
- {% for pfx in vrf_bgp.originate|default([]) %}
118
- {{ pfx|ansible.utils.ipaddr('0') }}:
119
- address-family: ipv4-unicast
120
- via:
121
- blackhole:
122
- type: blackhole
123
- {% endfor %}
124
- {% endif %}
125
108
  {% endmacro %}
@@ -37,21 +37,9 @@ router bgp {{ bgp.as }}
37
37
  address-family {{ af }} unicast
38
38
  !
39
39
  {{ redistribute.config(bgp,af=af,ospf_pid=ospf_pid) }}
40
- {% if loopback[af] is defined and bgp.advertise_loopback %}
41
- network {{ loopback[af]|ansible.utils.ipaddr('0') }}
42
- {% endif %}
43
- !
44
- {% for l in interfaces|default([]) if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
45
- network {{ l[af]|ansible.utils.ipaddr('0') }}
46
- {% endfor %}
47
- !
48
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
49
- network {{ pfx|ansible.utils.ipaddr('0') }}
40
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
41
+ network {{ pfx[af] }}
50
42
  {% endfor %}
51
43
  !
52
44
  {% endif %}
53
45
  {% endfor %}
54
- !
55
- {% for pfx in bgp.originate|default([]) %}
56
- ip route {{ pfx|ansible.utils.ipaddr('0') }} interface null 0
57
- {% endfor %}
@@ -66,22 +66,8 @@ router bgp {{ bgp.as }}
66
66
  address-family {{ af }}
67
67
  {{ redistribute.config(bgp,af=af) }}
68
68
  !
69
- {% for l in netlab_interfaces if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
70
- {% if loop.first %}
71
- !
72
- ! Originate networks from connected subnets
73
- !
74
- {% endif %}
75
- network {{ l[af]|ansible.utils.ipaddr('0') }}
76
- {% endfor %}
77
- !
78
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
79
- {% if loop.first %}
80
- !
81
- ! Originate networks from static routes
82
- !
83
- {% endif %}
84
- network {{ pfx|ansible.utils.ipaddr('0') }}
69
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
70
+ network {{ pfx[af] }}
85
71
  {% endfor %}
86
72
  !
87
73
  {% for n in bgp.neighbors if n.activate[af]|default(false) %}
@@ -99,7 +85,3 @@ router bgp {{ bgp.as }}
99
85
  {% endfor %}
100
86
  {% endif %}
101
87
  {% endfor %}
102
- !
103
- {% for pfx in bgp.originate|default([]) %}
104
- ip route {{ pfx|ansible.utils.ipaddr('0') }} Null0
105
- {% endfor %}
@@ -46,21 +46,8 @@ router bgp {{ bgp.as }}
46
46
  address-family {{ af }} unicast
47
47
  !
48
48
  {{ redistribute.config(bgp,af=af) }}
49
- {% for l in netlab_interfaces if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
50
- {% if loop.first %}
51
- !
52
- ! Originate networks from connected subnets
53
- !
54
- {% endif %}
55
- network {{ l[af]|ansible.utils.ipaddr(0) }}
56
- {% endfor %}
57
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
58
- {% if loop.first %}
59
- !
60
- ! Originate networks from static routes
61
- !
62
- {% endif %}
63
- network {{ pfx|ansible.utils.ipaddr('0') }}
49
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
50
+ network {{ pfx[af] }}
64
51
  {% endfor %}
65
52
  !
66
53
  {% for n in bgp.neighbors if n.activate[af]|default(false) %}
@@ -87,11 +74,4 @@ router bgp {{ bgp.as }}
87
74
  {% endfor %}
88
75
  {% endfor %}
89
76
  !
90
- {#
91
- Advertise extra networks
92
- #}
93
- {% for pfx in bgp.originate|default([]) %}
94
- ip route {{ pfx|ansible.utils.ipaddr('0') }} Null0
95
- {% endfor %}
96
- !
97
77
  do write
@@ -36,31 +36,11 @@ router bgp {{ bgp.as }}
36
36
  {{ redistribute.config(bgp,af=af,ospf_pid=ospf_pid)|indent(1,first=True) }}
37
37
  {% endif %}
38
38
  !
39
- {% for l in netlab_interfaces if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
40
- {% if loop.first %}
41
- !
42
- ! Originate networks from connected subnets
43
- !
44
- {% endif %}
45
- {{ bgpcfg.bgp_network(af,l[af]) }}
46
- {% endfor %}
47
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
48
- {% if loop.first %}
49
- !
50
- ! Originate networks from static routes
51
- !
52
- {% endif %}
53
- {{ bgpcfg.bgp_network(af,pfx) }}
39
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
40
+ {{ bgpcfg.bgp_network(af,pfx[af]) }}
54
41
  {% endfor %}
55
42
  !
56
43
  {% for n in bgp.neighbors if n.activate[af]|default(false) %}
57
44
  {{ bgpcfg.neighbor_af(n,n[af],bgp) }}
58
45
  {% endfor %}
59
46
  {% endfor %}
60
- !
61
- {#
62
- Add extra IPv4 prefixes
63
- #}
64
- {% for pfx in bgp.originate|default([]) %}
65
- ip route {{ pfx|ansible.utils.ipaddr('network') }} {{ pfx|ansible.utils.ipaddr('netmask') }} null 0
66
- {% endfor %}
@@ -57,14 +57,6 @@
57
57
  {% endif %}
58
58
  {% endmacro -%}
59
59
  !
60
- {% if bgp.originate|default([]) %}
61
- router static
62
- address-family ipv4 unicast
63
- {% for pfx in bgp.originate|default([]) %}
64
- {{ pfx|ansible.utils.ipaddr('0') }} Null0
65
- {% endfor %}
66
- {% endif %}
67
- !
68
60
  router bgp {{ bgp.as }}
69
61
  {{ bgp_common(bgp) }}
70
62
  {% if bgp.confederation is defined %}
@@ -79,15 +71,12 @@ router bgp {{ bgp.as }}
79
71
  address-family {{ af }} unicast
80
72
  bgp scan-time 5
81
73
  !
82
- {% for l in netlab_interfaces if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
83
- network {{ l[af]|ansible.utils.ipaddr(0) }}
84
- {% endfor %}
85
74
  {% if bgp.import is defined %}
86
75
  {{ redistribute.config(bgp,af=af,ospf_pid=ospf_pid,t_proto='bgp')|indent(1,first=True) }}
87
76
  {% endif %}
88
77
  !
89
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
90
- network {{ pfx|ansible.utils.ipaddr('0') }}
78
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
79
+ network {{ pfx[af] }}
91
80
  {% endfor %}
92
81
  {% endfor %}
93
82
  {% for af in ['ipv4','ipv6'] %}
@@ -6,12 +6,8 @@ routing-options {
6
6
  {% if bgp.router_id is defined %}
7
7
  router-id {{ bgp.router_id }}
8
8
  {% endif %}
9
- {% if bgp.originate is defined %}
10
- static {
11
- {% for pfx in bgp.originate|default([]) %}
12
- route {{ pfx|ansible.utils.ipaddr('0') }} discard;
13
- {% endfor %}
14
- }
9
+ {% if bgp.confederation is defined %}
10
+ confederation {{ bgp.confederation.as }} members [ {{ bgp.as }} {{ bgp.confederation.peers|join(' ') }} ]
15
11
  {% endif %}
16
12
  }
17
13
 
@@ -57,7 +53,7 @@ protocols {
57
53
  ];
58
54
  advertise-inactive;
59
55
  {# treat localas_ibgp as ebgp session --> no usage of local address #}
60
- {% for n in bgp.neighbors if (n.type == 'ebgp' or n.type == 'localas_ibgp') %}
56
+ {% for n in bgp.neighbors if n.type in ['ebgp','confed_ebgp','localas_ibgp'] %}
61
57
  {% for af in ['ipv4','ipv6'] if n[af] is defined %}
62
58
  neighbor {{ n[af] }} {
63
59
  {# apply per-neighbor policies, if defined #}
@@ -0,0 +1,112 @@
1
+ {#
2
+ Macro to create the common objects (mark community, bgp-final policy)
3
+ #}
4
+ {% macro common(vname) %}
5
+ delete: policy-statement bgp-{{ vname }}-redistribute;
6
+ delete: route-filter-list bgp-{{ vname }}-announce-ipv4;
7
+ delete: route-filter-list bgp-{{ vname }}-announce-ipv6;
8
+
9
+ community x-route-permit-mark members large:65535:0:65536;
10
+
11
+ policy-statement bgp-final {
12
+ term final-option {
13
+ from community x-route-permit-mark;
14
+ then {
15
+ community delete x-route-permit-mark;
16
+ accept;
17
+ }
18
+ }
19
+ term default-reject {
20
+ then reject;
21
+ }
22
+ }
23
+ {% endmacro %}
24
+ {#
25
+ Macro for BGP neighbor policy application
26
+ Uses custom neigh._junos_policy.xxx attributes
27
+ #}
28
+ {% macro bgp_neighbor_policy(n) %}
29
+ {% for p_direction in ['import', 'export'] %}
30
+ {% if n._junos_policy[p_direction]|default([]) %}
31
+ {{p_direction}} [ {{ n._junos_policy[p_direction]|join(' ') }} ];
32
+ {% endif %}
33
+ {% endfor %}
34
+ {%- endmacro %}
35
+ {#
36
+ Macro to create the per-routing-instance advertise prefix lists
37
+ #}
38
+ {% macro advertise_list(bgp,vname) %}
39
+ {% for bgp_af in ['ipv4','ipv6'] %}
40
+ {% for pfx in bgp.advertise|default([]) if bgp_af in pfx %}
41
+ {% if loop.first %}
42
+ route-filter-list bgp-{{ vname }}-announce-{{ bgp_af }} {
43
+ {% endif %}
44
+ {{ pfx[bgp_af] }} exact;
45
+ {% if loop.last %}
46
+ }
47
+ {% endif %}
48
+ {% endfor %}
49
+ {% endfor %}
50
+ {% endmacro +%}
51
+ {#
52
+ Macro to create per-routing-instance advertise terms
53
+ #}
54
+ {% macro advertise_terms(bgp,vname) %}
55
+ {% for bgp_af in af %}
56
+ {% for pfx in bgp.advertise|default([]) if bgp_af in pfx %}
57
+ {% if loop.first %}
58
+ term advertise-{{ bgp_af }} {
59
+ from {
60
+ route-filter-list bgp-{{ vname }}-announce-{{ bgp_af }};
61
+ }
62
+ then {
63
+ community add x-route-permit-mark;
64
+ next policy;
65
+ }
66
+ }
67
+ {% endif %}
68
+ {% endfor %}
69
+ {% endfor %}
70
+ {% endmacro +%}
71
+ {#
72
+ Macro to create terms for route redistribution
73
+ #}
74
+ {% macro import_terms(pdata) %}
75
+ {% set protomap = {
76
+ 'connected': 'direct'
77
+ }
78
+ %}
79
+ {% for proto in pdata.import|default({}) %}
80
+ term redist_{{ proto }} {
81
+ from {
82
+ protocol {{ protomap[proto]|default(proto) }};
83
+ {% if pdata.import[proto].policy is defined %}
84
+ policy [ {{ pdata.import[proto].policy }} bgp-final ];
85
+ {% endif %}
86
+ }
87
+ then {
88
+ community add x-route-permit-mark;
89
+ next policy;
90
+ }
91
+ }
92
+ {% endfor %}
93
+ {% endmacro +%}
94
+ {#
95
+ Macro to create per-routing-instance import/propagate/advertise policy
96
+ #}
97
+ {% macro redistribute(bgp,vname) %}
98
+ policy-statement bgp-{{ vname }}-redistribute {
99
+ {{ advertise_terms(bgp,vname) }}
100
+ term redis_bgp {
101
+ from protocol bgp;
102
+ then {
103
+ community add x-route-permit-mark;
104
+ next policy;
105
+ }
106
+ }
107
+ {{ import_terms(bgp) }}
108
+ term default {
109
+ then reject;
110
+ }
111
+ }
112
+ {% endmacro +%}
@@ -1,3 +1,4 @@
1
+ {% import "junos.macro.j2" as bgpcfg with context %}
1
2
  {# initialize default policies #}
2
3
 
3
4
  {# internal community to handle policy flows #}
@@ -12,26 +13,16 @@
12
13
  # - (custom policies - which may force accept/reject)
13
14
  # - default final policy
14
15
  #}
15
- policy-options community x-route-permit-mark members large:65535:0:65536;
16
-
17
16
  policy-options {
18
- delete: policy-statement bgp-advertise;
19
- delete: policy-statement bgp-redistribute;
20
17
  {% for af in ['ipv4','ipv6'] %}
21
18
  {% for nhs_type in ['ebgp','all'] %}
22
19
  delete: policy-statement next-hop-{{ nhs_type }}-{{ af }};
23
20
  {% endfor %}
24
21
  {% endfor %}
25
- delete: route-filter-list bgp-announce;
26
- }
27
-
28
- policy-options {
29
22
 
30
- route-filter-list bgp-announce {
31
- {% for pfx in bgp.originate|default([]) %}
32
- {{ pfx|ansible.utils.ipaddr('0') }} exact;
33
- {% endfor %}
34
- }
23
+ {{ bgpcfg.common('default') }}
24
+ {{ bgpcfg.advertise_list(bgp,'default') }}
25
+ {{ bgpcfg.redistribute(bgp,'default') }}
35
26
 
36
27
  {% for af in ('ipv4','ipv6') %}
37
28
  {% for nh in ['ebgp','all'] %}
@@ -48,62 +39,9 @@ policy-options {
48
39
  }
49
40
  }
50
41
  }
51
-
52
42
  {% endfor %}
53
43
  {% endfor %}
54
44
 
55
- policy-statement bgp-advertise {
56
- term advertise {
57
- from {
58
- protocol direct;
59
- interface [
60
- {% if bgp.advertise_loopback %} lo0.0 {% endif %}
61
- {%- for l in interfaces if l.bgp.advertise|default("") and not 'vrf' in l %}
62
- {{ l.ifname }}
63
- {% endfor %} ];
64
- }
65
- then {
66
- community add x-route-permit-mark;
67
- next policy;
68
- }
69
- }
70
-
71
- term originate {
72
- from {
73
- protocol static;
74
- route-filter-list bgp-announce;
75
- }
76
- then {
77
- community add x-route-permit-mark;
78
- next policy;
79
- }
80
- }
81
-
82
- }
83
-
84
- policy-statement bgp-redistribute {
85
- term redis_bgp {
86
- from protocol bgp;
87
- then {
88
- community add x-route-permit-mark;
89
- next policy;
90
- }
91
- }
92
- }
93
-
94
- policy-statement bgp-final {
95
- term final-option {
96
- from community x-route-permit-mark;
97
- then {
98
- community delete x-route-permit-mark;
99
- accept;
100
- }
101
- }
102
- term default-reject {
103
- then reject;
104
- }
105
- }
106
-
107
45
  policy-statement bgp-initial {
108
46
  term initial-cleanup {
109
47
  from community x-route-permit-mark;
@@ -121,8 +59,7 @@ policy-options {
121
59
  route-filter 0.0.0.0/0 exact;
122
60
  }
123
61
  then {
124
- community add x-route-permit-mark;
125
- next policy;
62
+ accept;
126
63
  }
127
64
  }
128
65
  term default-route-v6 {
@@ -130,8 +67,7 @@ policy-options {
130
67
  route-filter ::/0 exact;
131
68
  }
132
69
  then {
133
- community add x-route-permit-mark;
134
- next policy;
70
+ accept;
135
71
  }
136
72
  }
137
73
  }
@@ -15,16 +15,8 @@ router bgp {{ bgp.as }}
15
15
  !
16
16
  address-family {{ af }} unicast
17
17
  !
18
- {% if loopback[af] is defined and bgp.advertise_loopback %}
19
- network {{ loopback[af]|ansible.utils.ipaddr(0) }}
20
- {% endif %}
21
- !
22
- {% for l in interfaces|default([]) if l.bgp.advertise|default("") and l[af] is defined and not 'vrf' in l %}
23
- network {{ l[af]|ansible.utils.ipaddr(0) }}
24
- {% endfor %}
25
- !
26
- {% for pfx in bgp.originate|default([]) if af == 'ipv4' %}
27
- network {{ pfx|ansible.utils.ipaddr('0') }}
18
+ {% for pfx in bgp.advertise|default([]) if af in pfx %}
19
+ network {{ pfx[af] }}
28
20
  {% endfor %}
29
21
  {% endfor %}
30
22
  !
@@ -9,18 +9,10 @@ log updates
9
9
 
10
10
  ## network announcements
11
11
 
12
- {% for pfx in bgp.originate|default([]) %}
13
- network {{ pfx|ansible.utils.ipaddr('0') }}
14
- {% endfor %}
15
- {% for intf in netlab_interfaces %}
16
- {% if intf.bgp.advertise|default(False) %}
17
- {% if intf.ipv4|default(False) %}
18
- network {{ intf.ipv4|ansible.utils.ipaddr('0') }}
19
- {% endif %}
20
- {% if intf.ipv6|default(False) %}
21
- network {{ intf.ipv6|ansible.utils.ipaddr('0') }}
22
- {% endif %}
23
- {% endif %}
12
+ {% for pfx_af in ['ipv4','ipv6'] %}
13
+ {% for pfx in bgp.advertise|default([]) if pfx_af in pfx %}
14
+ network {{ pfx[pfx_af] }}
15
+ {% endfor %}
24
16
  {% endfor %}
25
17
 
26
18
  ## neighbors and groups
@@ -108,4 +100,4 @@ rcctl restart bgpd
108
100
 
109
101
  {% for pfx in bgp.originate|default([]) %}
110
102
  route add -blackhole {{ pfx|ipaddr('0') }} -priority 63 localhost
111
- {% endfor %}
103
+ {% endfor %}