SlideShare a Scribd company logo
Contemporary network con guration for Linux
ifupdown-ng
Aaron A. Glenn, Maximilian Wilhelm
1 / 18
Agenda
1. Who's who
2. Why something new?
3. What we built
2 / 18
Who's who Aaron A. Glenn
Network Janitor & Internetworking Curmudgeon
Ask me about Re-programmable Networks
Managing Director, Predicted Paths BV & Network Service Associates
Contact
@networkservice / @aag@bsd.network
aag@bgp.beer
3 / 18
Who's who Maximilian Wilhelm
Senior Landscape Architect
OpenSource Hacker
Fanboy of
(Debian) Linux
IPv6
Occupation:
By day: Senior Infrastructure Architect, Uni Paderborn
By night: Infrastructure Archmage, Freifunk Hochstift
In between: Freelance Solution Architect for hire
Member of technical advisory board - Network Services Association
Contact
@BarbarossaTM
max@sdn.clinic
4 / 18
Who's who
Why?
Field Experience Leads to Strong Opinions
NSP customer has uncommon financial and logistical constraints
3300 site opportunity
Initial 45 sites are intentionally in "most difficult" (network) environment
Two vendors and six months have not led to any definition of success
Given:
MIPS64 devices
Ancient Linux kernel
Need:
Linux 5.4+
handle complex configuration scenarios
avoid dependency on Python/golang/Rust/etc.
5 / 18
Who's who
Why?
Strong Opinions Lead to New Code
New Opportunities
Alpine Linux project looking to modernize network configuration
'Complex' configurations are quite common!
Q: "where else might this be useful?"
New Thoughts
Disaggregated networking = Linux
"what if..."
6 / 18
Who's who
Why?
Network Services Linux
Linux distribution for networking devices
Based on Alpine Linux
MUSL, no glibc
Flexible contemporary network configuration required
Came with ifupdown1
Not state of the art
7 / 18
Who's who
Why?
Status quo - what's out there
iproute2
ifupdown
ifupdown1
ifupdown2
netplan
NetworkManager
systemd-networkd
RedHat universe
etc.
8 / 18
Who's who
Why?
Status quo - ifupdown universe
Two mostly compatible suites
ifupdown1
Used in Debian (plus derivates) for decades
Used in Alpine for years (as part of busybox)
Written in C
Monolithic
Can be extended through /etc/network/if-X.d
ifupdown2
Used in Cumulus Linux
Available for Debian (plus derivates)
Written in Python
Modular, easy to extend
9 / 18
Who's who
Why?
What we wanted
Compatible with ifupdown1/2
Support for contemporary features
Easy to extend
Small footprint
10 / 18
Who's who
Why?
What we built
11 / 18
Who's who
Why?
ifupdown-ng
Vision
Intended as a drop-in replacement for ifupdown1 and ifupdown2 installations
Today:
Alpine and Debian primary supported environments
Feature parity with ifupdown1
Dependency resolution
Extensible through executors
Meaningful documentation
Included in Alpine 3.13 and NSL 1
Planned:
Support for other Linux distributions and *BSD
Checking and reloading network configuration
Native executors using netlink
12 / 18
Who's who
Why?
ifupdown-ng
Architecture
Core:
Written in C
Config parser
Compatibility layer
Dependency resolution
Executors:
Written in whatever you like (up to now: shell)
create, set up, tear down links, tunnels, ...
configure IPs
13 / 18
Who's who
Why?
ifupdown-ng
Features
As of today:
static addresses (incl. pointopoint)
B.A.T.M.A.N. adv.
bonding / LAGs
(vlan-aware) bridges
DHCP
ethtool
dummy
PPP
tunnels (GRE, GRETAP, IP*, ...)
vEth
VRFs
VXLAN
Wireguard
14 / 18
Who's who
Why?
ifupdown-ng
Outlook
Features:
Checking running config against configuration on disk
Reloading network configuration (with minimum impact)
Phase-wise execution
Native executors (C, netlink)
Support for static routes + PBR rules on interfaces
Support:
Automated integration tests
Become a native Debian package
15 / 18
Who's who
Why?
ifupdown-ng
Visions
Managing WIFI interfaces
iface wlan0
wpa-ssid TwistedAir
wpa-psk muchsecure
ifmond daemon
Listens to netlink events
Network device added/removed
Cable plugged in or unplugged
Reacts to netlink events by (de)configuring interfaces as appropriate
Like udev, but for networking
-> Event-driven network management without blocking init
16 / 18
Who's who
Why?
ifupdown-ng
Links
Code: https://github.com/ifupdown-ng/ifupdown-ng/
Discussion: #ifupdown-ng at irc.as7007.net
17 / 18
Who's who
Why?
ifupdown-ng
Questions Questions?
18 / 18

More Related Content

PDF
Intent driven, fully automated deployment of anycasted load balancers with ha...
PDF
Overlays & IP-Fabrics - viele Wege fΓΌhren nach Rom und warum Layer2 keine LΓΆs...
PDF
Anycast all the things
PDF
Angewandte Netzwerkgrundlagen reloaded - von Layer 1 bis 3
PDF
Building your own CGN boxes with Linux
PDF
L2/L3 fΓΌr Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
PDF
Best Current Operational Practices - Dos, Don’ts and lessons learned
PDF
IPv6 im Jahre 2018
Intent driven, fully automated deployment of anycasted load balancers with ha...
Overlays & IP-Fabrics - viele Wege fΓΌhren nach Rom und warum Layer2 keine LΓΆs...
Anycast all the things
Angewandte Netzwerkgrundlagen reloaded - von Layer 1 bis 3
Building your own CGN boxes with Linux
L2/L3 fΓΌr Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
Best Current Operational Practices - Dos, Don’ts and lessons learned
IPv6 im Jahre 2018

What's hot (20)

PDF
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
PDF
Dynamische Routingprotokolle Aufzucht und Pflege - BGP
PDF
Netzwerkgrundlagen - Von Ethernet bis IP
PDF
Dynamische Routingprotokolle Aufzucht und Pflege - OSPF
PPT
6.Routing
PDF
Contemporary Linux Networking
PPTX
Morphology of Modern Data Center Networks - YaC 2013
PDF
Building your own sdn with debian linux salt stack and python
PPTX
Operationalizing VRF in the Data Center
PDF
Xpress path vxlan_bgp_evpn_appricot2019-v2_
PDF
Linux Native, HTTP Aware Network Security
PDF
Cilium - API-aware Networking and Security for Containers based on BPF
PDF
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
PDF
VRF (virtual routing and forwarding)
PDF
CCNA DUMPS 640-802
PDF
LF_DPDK_Mellanox bifurcated driver model
PDF
6 Lo Wpan Tutorial 20080206
PDF
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
PDF
6LoWPAN: An open IoT Networking Protocol
PPTX
VXLAN Distributed Service Node
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
Dynamische Routingprotokolle Aufzucht und Pflege - BGP
Netzwerkgrundlagen - Von Ethernet bis IP
Dynamische Routingprotokolle Aufzucht und Pflege - OSPF
6.Routing
Contemporary Linux Networking
Morphology of Modern Data Center Networks - YaC 2013
Building your own sdn with debian linux salt stack and python
Operationalizing VRF in the Data Center
Xpress path vxlan_bgp_evpn_appricot2019-v2_
Linux Native, HTTP Aware Network Security
Cilium - API-aware Networking and Security for Containers based on BPF
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
VRF (virtual routing and forwarding)
CCNA DUMPS 640-802
LF_DPDK_Mellanox bifurcated driver model
6 Lo Wpan Tutorial 20080206
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
6LoWPAN: An open IoT Networking Protocol
VXLAN Distributed Service Node
Ad

Similar to Contemporary network configuration for linux - ifupdown-ng (20)

PDF
Ifupdown2: Network Interface Manager
PDF
Switch as a Server - PuppetConf 2014 - Leslie Carr
PPTX
The Switch as a Server - PuppetConf 2014
Β 
PPTX
A Networking View for the DevOps Crew: SDN
PPTX
Webinar-Linux Networking is Awesome
PPTX
OFC 2014 Dinesh Dutt
PPTX
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
PPT
Cumulus networks - Overcoming traditional network limitations with open source
PDF
Andy Davidson Automation Presentation from UKNOF 31
PDF
The Evolving Data Center Network: Open and Software-Defined
PPTX
Linux routing and firewall for beginners
PDF
The Network The Next Frontier for Devops ?
PDF
"Morphology of Modern Data Center Networks: Overview". Dinesh Dutt, Cumulus N...
Β 
PDF
Modern Data Center Network Architecture - The house that Clos built
PDF
Network Automation With Ansible 1st Edition by Jason Edelman ISBN
PDF
Kick starting Network Automation
ODP
Infrastructure as a Code
PPTX
Linux – routing and firewall for beginners v 1.0
PPT
Closed2Open Networking
Β 
PPTX
Infrastructure Automation
Ifupdown2: Network Interface Manager
Switch as a Server - PuppetConf 2014 - Leslie Carr
The Switch as a Server - PuppetConf 2014
Β 
A Networking View for the DevOps Crew: SDN
Webinar-Linux Networking is Awesome
OFC 2014 Dinesh Dutt
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Cumulus networks - Overcoming traditional network limitations with open source
Andy Davidson Automation Presentation from UKNOF 31
The Evolving Data Center Network: Open and Software-Defined
Linux routing and firewall for beginners
The Network The Next Frontier for Devops ?
"Morphology of Modern Data Center Networks: Overview". Dinesh Dutt, Cumulus N...
Β 
Modern Data Center Network Architecture - The house that Clos built
Network Automation With Ansible 1st Edition by Jason Edelman ISBN
Kick starting Network Automation
Infrastructure as a Code
Linux – routing and firewall for beginners v 1.0
Closed2Open Networking
Β 
Infrastructure Automation
Ad

Recently uploaded (20)

PPTX
Power Point - Lesson 3_2.pptx grad school presentation
Β 
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
Digital Literacy And Online Safety on internet
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
E -tech empowerment technologies PowerPoint
PPTX
innovation process that make everything different.pptx
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PPTX
SAP Ariba Sourcing PPT for learning material
PPTX
Internet___Basics___Styled_ presentation
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
Power Point - Lesson 3_2.pptx grad school presentation
Β 
INTERNET------BASICS-------UPDATED PPT PRESENTATION
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
An introduction to the IFRS (ISSB) Stndards.pdf
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
Digital Literacy And Online Safety on internet
presentation_pfe-universite-molay-seltan.pptx
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Sims 4 Historia para lo sims 4 para jugar
E -tech empowerment technologies PowerPoint
innovation process that make everything different.pptx
WebRTC in SignalWire - troubleshooting media negotiation
Tenda Login Guide: Access Your Router in 5 Easy Steps
SAP Ariba Sourcing PPT for learning material
Internet___Basics___Styled_ presentation
Introuction about ICD -10 and ICD-11 PPT.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
Slides PDF The World Game (s) Eco Economic Epochs.pdf

Contemporary network configuration for linux - ifupdown-ng

  • 1. Contemporary network con guration for Linux ifupdown-ng Aaron A. Glenn, Maximilian Wilhelm 1 / 18
  • 2. Agenda 1. Who's who 2. Why something new? 3. What we built 2 / 18
  • 3. Who's who Aaron A. Glenn Network Janitor & Internetworking Curmudgeon Ask me about Re-programmable Networks Managing Director, Predicted Paths BV & Network Service Associates Contact @networkservice / @aag@bsd.network aag@bgp.beer 3 / 18
  • 4. Who's who Maximilian Wilhelm Senior Landscape Architect OpenSource Hacker Fanboy of (Debian) Linux IPv6 Occupation: By day: Senior Infrastructure Architect, Uni Paderborn By night: Infrastructure Archmage, Freifunk Hochstift In between: Freelance Solution Architect for hire Member of technical advisory board - Network Services Association Contact @BarbarossaTM max@sdn.clinic 4 / 18
  • 5. Who's who Why? Field Experience Leads to Strong Opinions NSP customer has uncommon financial and logistical constraints 3300 site opportunity Initial 45 sites are intentionally in "most difficult" (network) environment Two vendors and six months have not led to any definition of success Given: MIPS64 devices Ancient Linux kernel Need: Linux 5.4+ handle complex configuration scenarios avoid dependency on Python/golang/Rust/etc. 5 / 18
  • 6. Who's who Why? Strong Opinions Lead to New Code New Opportunities Alpine Linux project looking to modernize network configuration 'Complex' configurations are quite common! Q: "where else might this be useful?" New Thoughts Disaggregated networking = Linux "what if..." 6 / 18
  • 7. Who's who Why? Network Services Linux Linux distribution for networking devices Based on Alpine Linux MUSL, no glibc Flexible contemporary network configuration required Came with ifupdown1 Not state of the art 7 / 18
  • 8. Who's who Why? Status quo - what's out there iproute2 ifupdown ifupdown1 ifupdown2 netplan NetworkManager systemd-networkd RedHat universe etc. 8 / 18
  • 9. Who's who Why? Status quo - ifupdown universe Two mostly compatible suites ifupdown1 Used in Debian (plus derivates) for decades Used in Alpine for years (as part of busybox) Written in C Monolithic Can be extended through /etc/network/if-X.d ifupdown2 Used in Cumulus Linux Available for Debian (plus derivates) Written in Python Modular, easy to extend 9 / 18
  • 10. Who's who Why? What we wanted Compatible with ifupdown1/2 Support for contemporary features Easy to extend Small footprint 10 / 18
  • 11. Who's who Why? What we built 11 / 18
  • 12. Who's who Why? ifupdown-ng Vision Intended as a drop-in replacement for ifupdown1 and ifupdown2 installations Today: Alpine and Debian primary supported environments Feature parity with ifupdown1 Dependency resolution Extensible through executors Meaningful documentation Included in Alpine 3.13 and NSL 1 Planned: Support for other Linux distributions and *BSD Checking and reloading network configuration Native executors using netlink 12 / 18
  • 13. Who's who Why? ifupdown-ng Architecture Core: Written in C Config parser Compatibility layer Dependency resolution Executors: Written in whatever you like (up to now: shell) create, set up, tear down links, tunnels, ... configure IPs 13 / 18
  • 14. Who's who Why? ifupdown-ng Features As of today: static addresses (incl. pointopoint) B.A.T.M.A.N. adv. bonding / LAGs (vlan-aware) bridges DHCP ethtool dummy PPP tunnels (GRE, GRETAP, IP*, ...) vEth VRFs VXLAN Wireguard 14 / 18
  • 15. Who's who Why? ifupdown-ng Outlook Features: Checking running config against configuration on disk Reloading network configuration (with minimum impact) Phase-wise execution Native executors (C, netlink) Support for static routes + PBR rules on interfaces Support: Automated integration tests Become a native Debian package 15 / 18
  • 16. Who's who Why? ifupdown-ng Visions Managing WIFI interfaces iface wlan0 wpa-ssid TwistedAir wpa-psk muchsecure ifmond daemon Listens to netlink events Network device added/removed Cable plugged in or unplugged Reacts to netlink events by (de)configuring interfaces as appropriate Like udev, but for networking -> Event-driven network management without blocking init 16 / 18