Skip to content

Commit 67953b5

Browse files
committed
Merge branch 'fix-clab-ipv6-forwarding' into cumulus_nvue_gw_support
2 parents 5576bf5 + 649e306 commit 67953b5

File tree

14 files changed

+102
-40
lines changed

14 files changed

+102
-40
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22

33
*[netlab](https://netlab.tools)* is bringing infrastructure-as-code concepts to networking labs. You'll describe your high-level network topology and routing design in a YAML file, and the tools in this repository will
44

5-
* Create *Vagrantfile* configuration file for *VirtualBox* or *libvirt* environment
5+
* Create *Vagrantfile* configuration file for *libvirt* or *VirtualBox* environment
66
* Create *containerlab* configuration file
77
* Create Ansible inventory and configuration file
8-
* Create IPv4 and IPv6 addressing plan and OSPFv2, OSPFv3, EIGRP, IS-IS, and BGP routing design
9-
* Configure IPv4, IPv6, DHCP, DHCPv6, VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, IS-IS, BGP, RIPv2, RIPng, VRRP, LACP, STP, anycast gateways, route maps, prefix lists, AS-path prefix lists, route redistribution, default route origination, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
8+
* Create IPv4 and IPv6 addressing plan and OSPFv2, OSPFv3, EIGRP, IS-IS, RIPv2, RIPng, and BGP routing design
9+
* Configure IPv4, IPv6, DHCP, DHCPv6, VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, IS-IS, BGP, RIPv2, RIPng, VRRP, LACP, LAG, MLAG, link bonding, STP, anycast gateways, static routes, route maps, prefix lists, AS-path prefix lists, route redistribution, default route origination, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
1010

1111
Instead of wasting time creating lab topology in a GUI and configuring boring details, you'll start with a lab preconfigured according to your specifications.
1212

1313
Interested? [Read the documentation](https://netlab.tools) and [installation guidelines](https://netlab.tools/install/).
1414

1515
## Releases
1616

17-
The latest release is [release 1.9.2](https://github.com/ipspace/netlab/releases/tag/release_1.9.2). 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 [1.9.1](https://github.com/ipspace/netlab/releases/tag/release_1.9.1) or [1.8.4-post2](https://github.com/ipspace/netlab/releases/tag/release_1.8.4-post2).
17+
The latest release is [release 1.9.3](https://github.com/ipspace/netlab/releases/tag/release_1.9.3). 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 [1.9.2-post1](https://github.com/ipspace/netlab/releases/tag/release_1.9.2-post1).
1818

1919
<!--
20+
or [1.8.4-post2](https://github.com/ipspace/netlab/releases/tag/release_1.8.4-post2).
21+
2022
If you encounter bugs using release 1.7.x, please downgrade to [1.6.4](https://github.com/ipspace/netlab/releases/tag/release_1.6.4) and [open a GitHub issue](https://github.com/ipspace/netlab/issues).
2123
-->
2224

docs/caveats.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,6 @@ We're not testing Fortinet implementation as part of the regular integration tes
282282
* Junos configuration template configures BFD timers within routing protocol configuration, not on individual interfaces
283283
* Requires `ncclient` Python package and its dependencies to be installed (`python3 -m pip install ncclient`).
284284

285-
## Linux caveats
286-
See [](generic-linux-devices)
287-
288285
(caveats-vptx)=
289286
## Juniper vPTX
290287

@@ -329,6 +326,9 @@ See also [](caveats-junos).
329326

330327
See also [](caveats-junos).
331328

329+
## Linux caveats
330+
See [](generic-linux-devices)
331+
332332
(caveats-routeros6)=
333333
## Mikrotik RouterOS 6
334334

docs/conf.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@
4040
'sphinx_rtd_dark_mode'
4141
]
4242

43-
suppress_warnings = ["myst.xref_ambiguous"]
44-
4543
myst_heading_anchors = 3
4644
default_dark_mode = False
4745

docs/index.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ Based on your lab topology the **[netlab up](netlab/up.md)** command will:
1616
* Start the lab using Vagrant or containerlab
1717
* Create additional virtual networking infrastructure needed to support your lab
1818
* Deploy initial configurations (interfaces, IPv4 and IPv6 addresses, usernames...) to your lab devices
19-
* Configure VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, RIPv2, RIPng, IS-IS, BGP, VRRP, anycast gateways,
20-
MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
21-
* Configure prefix lists, AS-path filters, BGP community filters, route maps, route redistribution, and default route origination.
22-
* Start external network management tools specified in lab topology like Graphite or SuzieQ
19+
* Configure VLANs, VRFs, VXLAN, LLDP, LAG (including MLAG and Linux link bonding), STP, BFD, OSPFv2, OSPFv3, EIGRP, RIPv2, RIPng, IS-IS, BGP, VRRP, anycast gateways, DHCP clients and servers, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
20+
* Configure static routes, prefix lists, AS-path filters, BGP community filters, route maps, route redistribution, and default route origination.
21+
* Start external network management tools specified in lab topology like Graphite, SuzieQ, or Cisco NSO.
2322

2423
When the lab is fully configured, you can use the:
2524

docs/release.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
Release Notes
22
=============
33

4+
**[Release 1.9.3](release-1.9.3) (2025-01-09)**
5+
6+
* Multi-chassis Link Aggregation (MLAG) support in the [](module-lag)
7+
* [Generic object (node, VRF, VLAN) groups](topo-groups)
8+
* Global, VRF, and inter-VRF [static routes](generic-routing-static) with direct or indirect next hops.
9+
* [OSPF interface timers, cleartext passwords, and DR priority](ospf-interface-support)
10+
* [Node cloning plugin](plugin-node-clone) simplifies repetitive topologies by cloning nodes
11+
* [Consistent selection of prefix pools](links-default-pools) based on the number of nodes attached to a link (⚠️ [breaking change](release-1.9.3-breaking))
12+
13+
[More details...](release-1.9.3)
14+
415
**Release 1.9.2-post1 (2024-12-10)**
516

617
This release [fixes an annoying bug](bug-fixes-1.9.2-post1) affecting users of Ansible 11.x.

docs/release/1.9.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## New Functionality
1010

11-
(release-1-9.3)=
11+
(release-1.9.3)=
1212
### Release 1.9.3
1313

1414
* Multi-chassis Link Aggregation (MLAG) support in the [](module-lag)
@@ -28,6 +28,7 @@
2828

2929
**Minor improvements**
3030

31+
* Implement containerlab stub links with 'dummy' interfaces, removing the need for extra Linux bridges
3132
* Support RFC 8950-style IPv4 next hops over regular IPv6 EBGP sessions
3233
* Add `--feature` flag to **netlab show modules** command to display support for a single optional feature
3334
* VRRP version plugin for the gateway module
@@ -39,6 +40,9 @@
3940
* Global/node setting of default OSPF passive interface state
4041
* Most OSPF parameters can be set on the topology level
4142
* Validated LAG and STP/RSTP/PVRST integration tests (#1739)
43+
* Platform integration tests covering links, multi-provider deployments, and unmanaged nodes
44+
* Improve 'unmanaged' node support on point-to-point and multi-provider links
45+
* Print time spent in every successful validation test
4246

4347
(release-1.9.3--device-features)=
4448
**New device features**
@@ -67,13 +71,16 @@ Cumulus Linux:
6771
Cumulus NVUE:
6872
* VLAN, VRF, LAG, and STP (including PVRST) support
6973
* VRF-aware OSPFv2
74+
* OSPFv2 interface timers and DR priority
75+
* BGP local-as support
7076
* Reject OSPFv3 configuration (OSPFv3 cannot be configured through NVUE)
7177
* Replace the underscore in the node name with a hyphen when setting the hostname.
7278

7379
Dell OS10:
7480
* LAG, MLAG and STP support
75-
* OSPF interface timers and DR priority
81+
* OSPF interface timers, cleartext passwords, and DR priority
7682
* Use VRRPv2 (when requested by the VRRP version plugin) or VRRPv3 (default)
83+
* Set default MTU to 1500
7784

7885
FRR:
7986
* RFC 8950-style IPv4 next hops over regular IPv6 EBGP sessions
@@ -98,6 +105,7 @@ Arista EOS:
98105

99106
Aruba CX:
100107
* Change the default vrnetlab container tag
108+
* Optimize the configuration deployment process -- remove the extra **auto-confirm** task
101109

102110
bird:
103111
* Change the base Docker image to Ubuntu 24.04. The new default bird release is 2.14
@@ -127,6 +135,7 @@ Dell OS10:
127135
* Disable IPv6 on loopbacks when not configured
128136
* Disable IPv6 LLA on IPv4-only interfaces
129137
* Redistribute imported OSPF VRF routes into BGP
138+
* Cleanup BGP configuration template
130139

131140
FRR:
132141
* Invoke the VRF FRR configuration template only if a node has active VRFs
@@ -569,6 +578,13 @@ Other breaking changes include:
569578
* Ignore user defaults in CI/CD tests
570579
* Cleanup 'unnumbered' references
571580
* Cleanup error messages in links.py/check_link_type
581+
* Add check for static loopback interface address validity (#1777)
582+
* Set node MTU on OSPFv2 integration tests
583+
* AOS-CX: fix typo in STP template (#1770)
584+
* Increase readiness check counters for Cisco devices
585+
* Ensure 'node_provider' is set in all Ansible playbooks
586+
* Dell OS10: Reduce MLAG delay-restore timer from 90 to 30
587+
* CL NVUE: reduce the MLAG init-delay to 10 seconds
572588

573589
(bug-fixes-1.9.2-post1)=
574590
### Bug Fixes in Release 1.9.2-post1

legacy/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
sys.path.append('..')
77

8-
version="1.9.2-post1"
8+
version="1.9.3"
99

1010
long_description = (Path(__file__).parent / "README.md").read_text()
1111

netsim/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
import sys
44

5-
__version__ = "1.9.3rc1"
5+
__version__ = "1.9.3"
66

77
abort = False
88

99
try:
1010
import box
1111

12-
if box.__version__ < '7.2.0': # netlab needs Python Box version 7.0 or higher
12+
if box.__version__ < '7.2.0': # netlab needs Python Box version 7.2.0 or higher
1313
print("FATAL ERROR: python-box version 7.2.0 or higher required, use 'pip3 install --upgrade python-box' to install")
1414
abort = True
1515

netsim/ansible/tasks/deploy-config/cumulus_nvue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@
3030
command: nv config apply -y
3131
tags: [ print_action, always ]
3232
register: nv_config_apply
33-
failed_when: "'failed' in nv_config_apply.stdout" # Catch errors also when 'nv' returns success
33+
failed_when: "'failed' in nv_config_apply.stdout or 'Invalid config' in nv_config_apply.stderr"

netsim/ansible/tasks/deploy-custom-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,5 @@
7272
args:
7373
apply:
7474
vars:
75-
netsim_action: "{{ custom_config }}"
75+
netsim_action: "{{ custom_config|basename }}"
7676
tags: [ always ]

0 commit comments

Comments
 (0)