You're reading the development documentation. Release version of the same page is here.

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