Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
c5091c2
addons: vxlan: svd: fix for vxlan ageing timer update
Dec 4, 2024
f36971d
addons: address: Added Minimum mtu checks for Ipv6 for validate confi…
Dec 9, 2024
a5aa8db
addons: bridge: fix for bridge-port move from one vlan-aware br to an…
abhishag-creator Dec 16, 2024
bdc0b68
vrf: close vrf sockets before slaves go down
aroulin Dec 17, 2024
d690a89
addons: bond: call valid_slave_speed with bond slave subset
Dec 19, 2024
e1d0c74
fix(networkinterfaces): remove obsolete json.loads encoding argument
julienfortin Jan 7, 2025
fbf4d67
addons: address: Fix to handle gateway while link is down.
Jan 29, 2025
5dc1825
fix(dhclient): handle stale PID during DHCP-to-static transition
Mar 28, 2025
339ea98
fix(address): force static IP reapply after DHCP transition
abhishag-creator Apr 18, 2025
7c923c2
address.py: check previous addr_method to evaluate force_reapply of s…
abhishag-creator Jun 11, 2025
51e55fc
fix(dhclient): keep ifquery stale-PID checks read-only
abhishag-creator Jul 9, 2025
5a17b68
fix(dhclient): use DHCPv6 pidfile for IPv6 client
abhishag-creator Jul 22, 2025
06c7789
address.py/iface.py: ipv6_disable not reset when moving from bridge-p…
abhishag-creator Jul 28, 2025
d5d9d3a
fix(regex): use raw strings for regular expressions
julienfortin Aug 13, 2026
9e9c015
fix(vxlan): complete explicit zero ageing support
julienfortin Aug 13, 2026
2444fe8
fix(address): complete IPv6 minimum MTU enforcement
julienfortin Aug 14, 2026
c45ccb4
addons: dhcp: fix DHCPv6 release failure when interface has link-down…
Jan 13, 2026
353f89a
addons: address: Protect IPv6 addresses from purge when IPv4 primary …
Apr 14, 2026
7dee064
addons: bond: fix TypeError handle missing bond slave data during MAC…
julienfortin Apr 15, 2026
b152ecc
addons: prevent bridge port misconfig from stealing bond/VRF slave in…
May 22, 2026
9964b59
addons: bridge: set bridge port admin down before enslaving and vlan …
julienfortin Jan 14, 2025
40b5f8c
addons: bridge: remove brport admin-down call before updating port (r…
julienfortin Apr 16, 2025
1df478e
addons: bridge: admin-up newly added brports + add extra log when brp…
julienfortin Apr 23, 2025
cc5e44c
bridge.py: Unable to bring up the slave ports of the bridge
abhishag-creator Aug 4, 2025
04c06d1
test(address): tolerate kernel IPv4 promotion warning
julienfortin Aug 14, 2026
09deec2
test(integration): make kernel warning checks deterministic
julienfortin Aug 14, 2026
feae49b
vlan: limit bridge binding to bridge-backed VLANs
abhishag-creator Mar 12, 2025
2f582d8
utils: support distutils-compatible boolean aliases
May 23, 2025
45e22d3
addons: addressvirtual: fix FDB cleanup failure when virtual address …
Oct 13, 2025
12b7f46
addons: vxlan: add IPv6 support for VXLAN local tunnel IP
julienfortin Sep 16, 2025
e9b5337
addons: vxlan: recreate device when local tunnel IP family changes
julienfortin Oct 29, 2025
8f06e12
addons: vxlan: add missing None check for local tunnel ip
julienfortin Dec 2, 2025
4c5490b
vxlan: fix IPv6 local/group address reset handling
julienfortin Dec 18, 2025
dffe38f
nlmanager: nlpacket: handle unsupported address families during route…
Jan 5, 2026
9c3825f
nlmanager: nlpacket: handle multipath route during route dump
Feb 6, 2026
2488d22
ifupdown2: networkinterfaces: IndexError on "source-directory" line w…
Feb 16, 2026
e4c478d
ifupdown: networkinterfaces: fix filestack leak on read_file error
Feb 17, 2026
c7b074a
networking.service start should be timed out when service failed to s…
Jun 23, 2025
1d08b7e
test(vlan): use physical ports for bridge-binding scope
julienfortin Aug 15, 2026
6ae95bf
Update to networking.service unit file for avoiding possibility of mi…
Mar 3, 2026
490df92
ifupdownmain: Fix Bridge Port Flapping Issue
Mar 16, 2026
008a204
fix(vrf): skip link-up for VLAN vrf slaves when lower iface is admin-…
abhishag-creator Mar 25, 2026
3e84eea
test(address): reconcile IPv6 purge through reload
julienfortin Aug 16, 2026
a668b3b
addons: bridge: fix pvid deletion destroying vni tunnel mappings
Feb 2, 2026
0c624bf
test(bridge): preserve VNI-mapped PVIDs on reload
julienfortin Aug 17, 2026
239c64d
scheduler: PVRST_MODE cache reset between down and up phases
May 12, 2026
be92cc5
pytest: enhance admin up/down checks
julienfortin Aug 7, 2025
431a7db
test_interfaces_link_state: update swp_AA_ admin state check
julienfortin Aug 8, 2025
ab1f454
test(integration): restore bridge test reload mode
abhishag-creator Aug 11, 2025
acfc14c
test(integration): make link-state checks failure-safe
julienfortin Aug 17, 2026
2c2b972
test(address): isolate IPv4 primary purge regression
julienfortin Aug 17, 2026
0e4c911
fix(ethtool): apply default duplex with fixed speed
andyrao408 Feb 27, 2025
e51e43a
feat(ethtool): implement single-speed auto-negotiation
julienfortin May 7, 2025
4e81882
fix(diff-mode): queue CLAG after anycast changes
Jan 2, 2025
b022fcd
fix(diff-mode): queue bond for slave recovery
abhishag-creator Jun 12, 2025
6ff6a2f
fix(diff-mode): propagate bridge MAC changes to SVIs
Dec 18, 2025
84bfb33
chore(release): prepare 3.10.0
julienfortin Aug 17, 2026
e10979a
fix(netlink): validate multipath route attributes
julienfortin Aug 17, 2026
e5fb437
fix(address): enforce IPv6 MTU for DHCPv6
julienfortin Aug 17, 2026
a992c15
fix(vxlan): clear removed L3VXI local endpoints
julienfortin Aug 17, 2026
d86dbe2
fix(utils): normalize boolean aliases case-insensitively
julienfortin Aug 17, 2026
7128382
fix(packaging): remove obsolete shutdown enablement
julienfortin Aug 17, 2026
7eba5e7
test(integration): require safe physical-port isolation
julienfortin Aug 17, 2026
993dc78
test(integration): remove verified ENI backups
julienfortin Aug 17, 2026
020780d
test(integration): verify reserved ports before use
julienfortin Aug 17, 2026
41c3d6a
test(integration): restore reserved-port admin state
julienfortin Aug 17, 2026
4f4c41e
test(integration): remove remote coverage workspace
julienfortin Aug 17, 2026
a553a72
test(bridge): track capability-gated fixtures
julienfortin Aug 17, 2026
1287d12
test(integration): restore ports after ENI failures
julienfortin Aug 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
ifupdown2 (3.10.0-1) unstable; urgency=medium

* New: support IPv6 VXLAN local tunnel addresses and address-family changes.
* New: add policy-gated single-speed auto-negotiation for switch ports.
* Fix: preserve VXLAN, bridge, bond, VRF, and SVI state during reload.
* Fix: harden DHCP transitions, gateway handling, and IPv6 address purging.
* Fix: handle malformed interface input and additional netlink route formats.
* Fix: bound networking service startup and correct shutdown ordering.

-- Julien Fortin <jfortin@nvidia.com> Mon, 17 Aug 2026 09:15:00 +0200

ifupdown2 (3.9.0) unstable; urgency=medium

* New: ifreload: new --diff cli argument: only reload delta between /e/n/i
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Build-Depends: debhelper (>= 10),
python3-docutils
Standards-Version: 4.5.0.2
Homepage: https://github.com/cumulusnetworks/ifupdown2
X-Python-Version: >= 3.7
X-Python3-Version: >= 3.7

Package: ifupdown2
Architecture: all
Expand Down
3 changes: 2 additions & 1 deletion debian/ifupdown2.networking.service
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ After=systemd-udev-settle.service
Type=oneshot
RemainAfterExit=yes
SyslogIdentifier=networking
TimeoutStartSec=3600s
TimeoutStopSec=30s
EnvironmentFile=/etc/default/networking
ExecStart=/usr/share/ifupdown2/sbin/start-networking start
ExecStop=/usr/share/ifupdown2/sbin/start-networking stop
ExecReload=/usr/share/ifupdown2/sbin/start-networking reload

[Install]
WantedBy=basic.target network.target shutdown.target
WantedBy=basic.target network.target
15 changes: 15 additions & 0 deletions debian/ifupdown2.postinst
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,28 @@ postinst_remove_diverts()
_postinst_remove_diverts "/usr/share/man/man5/interfaces.5.gz"
}

remove_obsolete_shutdown_wants()
{
link=/etc/systemd/system/shutdown.target.wants/networking.service
if [ -L "$link" ]; then
target=$(readlink -f "$link" 2>/dev/null || true)
case "$target" in
/lib/systemd/system/networking.service|\
/usr/lib/systemd/system/networking.service)
rm -f "$link"
;;
esac
fi
}

case "$1" in
configure)
fix_dhclient_file_with_space
process_etc_network_interfaces
process_udev
chmod +x /usr/share/ifupdown2/__main__.py
postinst_remove_diverts
remove_obsolete_shutdown_wants
;;

abort-upgrade|abort-remove|abort-deconfigure)
Expand Down
2 changes: 1 addition & 1 deletion ifupdown2/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

__version__ = '3.9.0'
__version__ = '3.10.0'

# Copyright (C) 2014,2015,2016,2017,2018,2019,2020 Cumulus Networks, Inc. All rights reserved
#
Expand Down
Loading