Changes in Release 1.4

New Functionality in Release 1.4.3

New Functionality in Release 1.4.2

Stefano Sasso added numerous Juniper-related improvements:

  • Juniper vMX support

  • Junos BFD, VRF, MPLS, SR-MPLS, and MPLS/VPN support

  • Full VLAN support on vMX and routed VLAN interfaces on vSRX

Other few features include:

New Functionality in Release 1.4.1

New Functionality in Release 1.4.0

Breaking changes

Release 1.4.0 introduced behind-the-scenes functionality that might break existing topologies:

  • vni attribute is assigned to VLANs only if the topology uses VXLAN module. In release 1.3, the vni attribute was assigned by the VLAN module.

  • vlan.auto_vni attribute is no longer used. Specify VXLAN-enabled VLANs with vxlan.vlans if you don’t want to assign vni values to all VLANs.

  • EVPN module using VXLAN transport still takes control of all VLANs with vni attribute and VRFs with evpn attribute, but it’s not recommended to rely on that behavior. Specify EVPN-enabled VLANs and VRFs with evpn.vlans and evpn.vrfs lists.

  • Flexible address allocation algorithm might change IP addresses on links with small IPv4 prefixes.

  • Node, VLAN, and VRF attributes are checked – topologies that used extra node attributes not related to configuration modules would no longer work. Use extra_attribute.nodes to define your own node attributes

  • Provider-specific node attributes have been moved into provider-specific namespace. For example, runtime attribute became clab.runtime.

  • Interface (node-to-link attachment) attributes are checked – topologies using extra interface attributes not related to configuration modules would no longer work. Use extra_attribute.interfaces to define your own interface attributes.

  • Address pool attributes are checked. Topologies that included extra attributes in address pools (even though they were useless) would break.

  • ip attribute within an address pool is no longer valid. Use ipv4.

  • ip attribute within a prefix dictionary is no longer valid. Use ipv4.

  • The tests for unique VNI values are stricter and might break topologies that used duplicate VNI values in VLANs or VRFs.

  • Stricter checking of VLANs on VLAN trunks breaks nonsense topologies that had a non-VLAN node connected to a trunk with no native VLAN, or that had a single node using a particular VLAN on the trunk.

  • Group data is thoroughly checked, including node attributes. This might break topologies that used invalid node attributes or attributes for non-active modules in node_data.

  • Group node attribute inheritance sometimes produced incorrect results in releases prior to 1.4, in particular when combined with BGP-based groups. Resolved circular dependency between groups and BGP module might result in slightly different (but correct) group membership and node data.

Bug Fixes in Release 1.4.3

  • Minor vMX SR-MPLS fixes

  • Don’t create vagrant-libvirt virtual network during libvirt installation

  • Documentation fixes: VRF and SR-MPLS module supported platforms

  • Use provider-specific configuration templates and deployment scripts

  • Support for generic initial device readiness check

  • Use sysctl instead of echo for Cumulus and FRR

  • Validate IS-IS node or link type (L1/L2/L1-2)

  • FRR: don’t lose interface IPv6 address after VRF enslavement

  • FRR: use “ip ospf passive”

  • VyOS: remove hard-coded MPLS and LDP on loopback (dummy) interface

Bug Fixes in Release 1.4.2

  • Fix external provider template

  • Missing ifupdown ‘auto’ flag on Cumulus VLAN interfaces

  • Updates to accomodate changes in SR Linux release 22.11.1

  • Generalize docker_shell handling in ‘netlab connect’

  • IGP BFD status should not be present on interfaces without IGP

  • Use vagrant-libvirt plugin version 0.11.2

  • CSR 1000v initial box config needs interface name as DHCP client ID

  • Increase vSRX CPU quota and command execution timeout

  • Test multi-access network in “netlab test clab”

  • Set correct first-hop gateway on VLANs with partial FHRP support

  • Report errors on VXLAN-enabled nodes with no links

  • Move to python-box 6.1.0 and force ruamel to emit YAML 1.1 documents

  • Fix VyOS wrong BGP macro invocation

  • SR Linux/SR OS: don’t assume VRF module is being used with EVPN

  • Check for device-specific raw Vagrantfile template

  • Use new- or old-style Python formatting strings when creating interface names

Bug Fixes in Release 1.4.1

  • Merge group modules with node modules (needed for overlapping groups)

  • Don’t create VXLAN-enabled VLANs on nodes that don’t need them

  • Fix VLAN lookup for node-local VLANs defined on a neighbor node

  • Enforce string type for VLAN names

Bug Fixes in Release 1.4.0

  • Validate module names early in transformation process

  • Resolve circular dependency between groups and BGP module

  • Check for transformation errors before initializing modules

  • Add environment variables to installation scripts to stop LTS 22.04 popups

  • Polish interface labels in graphs

  • Deal with partially-overlapping VLAN trunks

  • Use topology defaults instead of hard-coded lists to drive VLAN interface logic

  • Copy global EVPN data into nodes before checking VRF IRB support