SlideShare a Scribd company logo
1 of 39
Download to read offline
v
ifupdown2 : The ultimate Network Interface Manager
Progress and Status
Julien Fortin - Cumulus Networks
July 5th, DebConf2016 - Cape Town, South Africa
1cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Outline
2
! Background & context
! What’s wrong with ifupdown?
! Ifupdown2 overview
! What’s new since October 2015 ?
! What’s next ?
! How to get started
! Questions
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
From intern to Member of Technical Staff
3
! Background as a Software Engineer
! EPITECH, class of 2016.
! Undergrand Internship at Cumulus
in 2014
! Hired in March 2016, joining the
ifupdown2 team
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
The Mother of Dragons
4
! Roopa Prabhu
! First commit Nov 2013, ~2k lines of Python
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
The Mother of Dragons
5
• 618 commits
• 18243 lines of python
! Roopa Prabhu
! First commit Nov 2013, ~2k lines of Python
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Cumulus Networks, an Operating System company
6
!Cumulus Linux
! Debian (jessie) based distribution for Network Switches
!Our Philosophy
! Manage your network switch as a server
! Use existing Linux tools to configure your network switches
!Contributing back to the community
! Cumulus is upstreaming a lot of networking kernel patches (e.g. netlink, stp
etc..)
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Debian’s ifupdown
! Default Network Interface Manager for Debian
! Configuration file : /etc/network/interfaces
! Network interfaces represented by “iface” sections
7
iface br100
bridge-ports swp1 swp2
bridge-stp on
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
What’s wrong with ifupdown?
8
! Code written in C (hard to maintain/extend)
! Does not understand interface dependency
! Problems with provisioning interfaces at scale
! No support for incremental changes to interface config
! No support to query/validate running configuration
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Our solution: ifupdown2
9
! New implementation in Python
! Backward compatibility with debian ifupdown
! Pluggable architecture with python add-on
modules
! Ordered Network Interface dependency
relationship handling
! Incremental changes and query live
configuration
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
ifupdown2 archi
10cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
ifupdown2 interface configuration graph dependency
11cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
! Dependency graph of all interfaces
! Uses topological sort to order
network interface configurations
! Execute interface configuration in
dependency order
ifupdown2 interface configuration graph dependency
12
Sorted interface list:

swp1, swp1.100, swp2, swp2.100, swp3, swp4, bond, bond.100, bridge100
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
! Dependency graph of all interfaces
! Uses topological sort to order
network interface configurations
! Execute interface configuration in
dependency order
ifquery: Troubleshooting network interface dependencies
13
▪$ ifquery br0 --print-dependency=list
▪br0 : ['bond1', 'bond2']
▪bond1 : ['swp32', 'swp33']
▪bond2 : ['swp30', 'swp31']
▪swp32 : None
▪swp33 : None
▪swp30 : None
▪swp31 : None
$ ifquery br0 --print-dependency=dot
/* Generated by GvGen v.0.9 (http://software.inl.fr/trac/wiki/
GvGen) */
digraph G {
compound=true;
node1 [label="br0"];
node2 [label="bond1"];
node3 [label="bond2"];
node4 [label="swp32"];
node5 [label="swp33"];
node6 [label="swp30"];
node7 [label="swp31"];
node1->node2; node1->node3; node2->node4;
node2->node5; node3->node6; node3->node7; }
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
14
ifquery - - check
! We extended ifquery to query and validate applied state of a network interface
Julien Fortin - ifupdown2 - DebConf2016
15
ifquery to persist running configuration
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Incremental changes on live configuration
16
! ifup/down work on already UP or DOWN interfaces
! Only applies the new changes without disturbing the
existing config on interface
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Example
17cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
ifreload
18
!Reloads the network interface configuration
! By running `ifdown` on interfaces that were removed from /etc/network/
interfaces (or the provided file)
! And running `ifup` on all interfaces currently present in the config file.
! Pretty convenient rather than using `service networking restart`
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
JSON API
19
! Supports interfaces imports and
queries in JSON format
! Enables easier integration with
automation/orchestration tools
$ ifquery br0
auto br0
iface br0 inet static
bridge-ports swp1.42 swp2.42
bridge-stp on
$ ifquery br0 —format=json
[
{
"auto": true,
"config": {
"bridge-ports": “swp1.42 swp2.42",
"bridge-stp": "on"
},
"addr_method": "static",
"name": "br0",
"addr_family": "inet"
}
]
$ ifup -a -t json -i /etc/network/interfaces.json
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Template support
20
Example: interfaces template to create
bridges for vlan 1000 to 1100:
! Simplify cookie-cutter interface
configurations with mako style
templates
http://www.makotemplates.org/
! Provides option to plug-in alternate
python template engines
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Python add-on modules for interface configuration
21
! address
! address virtual
! bond
! bridge
! bridgevlan
! dhcp
! ethtool
! link
! mstpctl
! usercmd
! vlan
! vrrpd
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
!Support for vlan filtering mode in the bridge driver
!New add-ons
! VXLAN
! VRF
!Performances
! Netlink
!Policy manager
! To set or override system defaults
What’s new since October 2015 ?
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
New bridge driver
23
!VLAN-aware Bridges
! New 802.1Q Linux kernel bridge driver enable vlan aware mode
!Helps with scale
! Avoids creating 802.1Q vlan netdevs. Bypass netdevs and assign vlan ids to
bridge ports
!ifupdown2
! Now supports vlan-aware or vlan-filtering bridges
! Continues to support traditional bridge configuration
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Example
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Virtual eXtensible LAN - VLANs
25
!The VXLAN protocol is a tunneling protocol designed to
solve the problem of limited VLAN IDs (4096)
! 24 bits VXLAN ID max value: 16,777,216
!Network overlay
! Encapsulation of layer 2 frames using layer 3 UDP packets.
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
VXLAN example
26cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Virtual Routing and Forwarding - VRF
27
!Linux Implementation
! Kernel v4.3 and forward
!Developed by Cumulus Networks for Linux
! Consistent API across all Linux Devices - switches and hosts
!IP technology that provides traffic isolation at layer 3 for
routing
! Similar to how VLANs provide isolation at layer 2
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
VRF example
28
red FIB
table 1001
swp1 swp2
OR
auto all
iface red
address 127.0.0.1/8
vrf-table auto
iface swp1
vrf red
iface swp2
vrf red
auto all
iface red
address 127.0.0.1/8
vrf-table auto
%for i in range(1,4):
iface swp${i}
vrf red
%endfor
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
New policy infrastructure
29
!Defining default value for add-ons
● There is the expectation that removing configuration parameters from the
networking config file (and doing an ifreload -a) will restore a default
parameter (if one exists)
! The JSON configuration will dictate default setting and behavior for each
modules implementing this policy configuration
Default location
! /var/lib/ifupdown2/policy.d/*.json
User location
! /etc/network/ifupdown2/policy.d/*.json ! By Sam Tannous from Cumulus
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Policy Manager example
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
The Netlink transition
31
!Ifupdown2 scale but we can do better
! We are using standard Linux tools, such as iproute2, for many operations
! Execution of external commands slow things down
!Netlink is the answer
! Netlink is a IPC mechanism primarily between the kernel and user space
processes.
! Moving from iproute2 to direct netlink drastically improve performances.
!Next : pure Netlink backend
! We plan on having a pure netlink backend with possibility to fall back on
iproute2 when netlink capabilities are not available.
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Python-nlmanager
32
!In-house python netlink library for networking ops
! By Daniel Walton from Cumulus.
!Soon available on Debian
! Right now the code is shipped within ifupdown2 package
http://repo3.cumulusnetworks.com/repo/pool/cumulus/p/python-nlmanager/
cumulusnetworks.com
Config size
33cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Debian upstreaming
34
!Ifupdown2 on debian sid and jessie-backports
! Since october 2015 thanks to our sponsor (Piotr) :
https://packages.debian.org/sid/ifupdown2
! Available on apt or download the deb file
echo “deb http://ftp.de.debian.org/debian sid main” >> /etc/apt/sources.list
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
What’s new?
!Next
! Ifupdown2 version 2.0 before code freeze in December
! Increase performances (netlink and other stuff)
! Fix bugs reported by the community and Cumulus clients.
Getting started
36
! Ifupdown2 on github : https://github.com/CumulusNetworks/ifupdown2
! Ifupdown2 documentation : https://cumulusnetworks.github.io/ifupdown2
! Cumulus Linux ships with ifupdown2 in releases 2.1 or greater :
https://cumulusnetworks.com
! Article comparing ifupdown and ifupdown2 : https://
support.cumulusnetworks.com/hc/en-us/articles/202933638-Comparing-
ifupdown2-Commands-with-ifupdown-Commands
! Get in touch with us :
julien@cumulusnetworks.com
roopa@cumulusnetworks.com
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
Example of contribution
37cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
38
>1.5M
Ports powered by Cumulus
Networks technology
465+companies across for 

main industry verticals
145Telecom /

Service Provider
139
Public / Private

Cloud
101Government / Education
/ R & D
81
SaaS / Web 2.0
ifupdown2 user base
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
© 2014 Cumulus Networks. Cumulus Networks, the Cumulus Networks Logo, and Cumulus Linux are trademarks or registered trademarks of Cumulus Networks, Inc. or its affiliates in
the U.S. and other countries. Other names may be trademarks of their respective owners. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive
licensee of Linus Torvalds, owner of the mark on a world-wide basis.
Thank You!
39
Bringing the Linux Revolution to Networking
julien@cumulusnetworks.com
cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016

More Related Content

What's hot

Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking ShapeBlue
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたnpsg
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
Demystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode seriesDemystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode seriesCumulus Networks
 
Juniper mpls best practice part 1
Juniper mpls best practice   part 1Juniper mpls best practice   part 1
Juniper mpls best practice part 1Febrian ‎
 
Vxlan control plane and routing
Vxlan control plane and routingVxlan control plane and routing
Vxlan control plane and routingWilfredzeng
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Kentaro Ebisawa
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
VXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneVXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneYoshikazu Nojima
 
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]APNIC
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNCisco Canada
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
MPLS Deployment Chapter 2 - Services
MPLS Deployment Chapter 2 - ServicesMPLS Deployment Chapter 2 - Services
MPLS Deployment Chapter 2 - ServicesEricsson
 
MPLS + BGP Presentation
MPLS + BGP PresentationMPLS + BGP Presentation
MPLS + BGP PresentationGino McCarty
 
Link Aggregation Control Protocol
Link Aggregation Control ProtocolLink Aggregation Control Protocol
Link Aggregation Control ProtocolKashif Latif
 

What's hot (20)

Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
 
EtherChannel
EtherChannelEtherChannel
EtherChannel
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 
Demystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode seriesDemystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode series
 
Juniper mpls best practice part 1
Juniper mpls best practice   part 1Juniper mpls best practice   part 1
Juniper mpls best practice part 1
 
Vxlan control plane and routing
Vxlan control plane and routingVxlan control plane and routing
Vxlan control plane and routing
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
VXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneVXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced Zone
 
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
MPLS Deployment Chapter 2 - Services
MPLS Deployment Chapter 2 - ServicesMPLS Deployment Chapter 2 - Services
MPLS Deployment Chapter 2 - Services
 
Deploying Carrier Ethernet features on ASR 9000
Deploying Carrier Ethernet features on ASR 9000Deploying Carrier Ethernet features on ASR 9000
Deploying Carrier Ethernet features on ASR 9000
 
MPLS + BGP Presentation
MPLS + BGP PresentationMPLS + BGP Presentation
MPLS + BGP Presentation
 
Link Aggregation Control Protocol
Link Aggregation Control ProtocolLink Aggregation Control Protocol
Link Aggregation Control Protocol
 

Viewers also liked

Manage your switches like servers
Manage your switches like serversManage your switches like servers
Manage your switches like serversCumulus Networks
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the TillermanCumulus Networks
 
Linux networking is Awesome!
Linux networking is Awesome!Linux networking is Awesome!
Linux networking is Awesome!Cumulus Networks
 
How deep is your buffer – Demystifying buffers and application performance
How deep is your buffer – Demystifying buffers and application performanceHow deep is your buffer – Demystifying buffers and application performance
How deep is your buffer – Demystifying buffers and application performanceCumulus Networks
 
July NYC Open Networking Meeup
July NYC Open Networking MeeupJuly NYC Open Networking Meeup
July NYC Open Networking MeeupCumulus Networks
 
Dreamhost deploying dreamcompute at scale
Dreamhost deploying dreamcompute at scaleDreamhost deploying dreamcompute at scale
Dreamhost deploying dreamcompute at scaleCumulus Networks
 
Cumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Networks
 
Webinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeWebinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeCumulus Networks
 
Operationalizing BGP in the SDDC
Operationalizing BGP in the SDDCOperationalizing BGP in the SDDC
Operationalizing BGP in the SDDCCumulus Networks
 
Webinar: Network Automation [Tips & Tricks]
Webinar: Network Automation [Tips & Tricks]Webinar: Network Automation [Tips & Tricks]
Webinar: Network Automation [Tips & Tricks]Cumulus Networks
 
Operationalizing VRF in the Data Center
Operationalizing VRF in the Data CenterOperationalizing VRF in the Data Center
Operationalizing VRF in the Data CenterCumulus Networks
 
Demystifying Networking Webinar Series- Routing on the Host
Demystifying Networking Webinar Series- Routing on the HostDemystifying Networking Webinar Series- Routing on the Host
Demystifying Networking Webinar Series- Routing on the HostCumulus Networks
 
Network Architecture for Containers
Network Architecture for ContainersNetwork Architecture for Containers
Network Architecture for ContainersCumulus Networks
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101Cumulus Networks
 
Building Scalable Data Center Networks
Building Scalable Data Center NetworksBuilding Scalable Data Center Networks
Building Scalable Data Center NetworksCumulus Networks
 
Demystifying Networking: Data Center Networking Trends 2017
Demystifying Networking: Data Center Networking Trends 2017Demystifying Networking: Data Center Networking Trends 2017
Demystifying Networking: Data Center Networking Trends 2017Cumulus Networks
 
Modern Data Center Network Architecture - The house that Clos built
Modern Data Center Network Architecture - The house that Clos builtModern Data Center Network Architecture - The house that Clos built
Modern Data Center Network Architecture - The house that Clos builtCumulus Networks
 
How Quantum configures Virtual Networks under the Hood?
How Quantum configures Virtual Networks under the Hood?How Quantum configures Virtual Networks under the Hood?
How Quantum configures Virtual Networks under the Hood?Etsuji Nakai
 

Viewers also liked (20)

Manage your switches like servers
Manage your switches like serversManage your switches like servers
Manage your switches like servers
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the Tillerman
 
Cumulus Linux 2.5.3
Cumulus Linux 2.5.3Cumulus Linux 2.5.3
Cumulus Linux 2.5.3
 
Linux networking is Awesome!
Linux networking is Awesome!Linux networking is Awesome!
Linux networking is Awesome!
 
Cumulus Linux 2.5.4
Cumulus Linux 2.5.4Cumulus Linux 2.5.4
Cumulus Linux 2.5.4
 
How deep is your buffer – Demystifying buffers and application performance
How deep is your buffer – Demystifying buffers and application performanceHow deep is your buffer – Demystifying buffers and application performance
How deep is your buffer – Demystifying buffers and application performance
 
July NYC Open Networking Meeup
July NYC Open Networking MeeupJuly NYC Open Networking Meeup
July NYC Open Networking Meeup
 
Dreamhost deploying dreamcompute at scale
Dreamhost deploying dreamcompute at scaleDreamhost deploying dreamcompute at scale
Dreamhost deploying dreamcompute at scale
 
Cumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's New
 
Webinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeWebinar-Linux Networking is Awesome
Webinar-Linux Networking is Awesome
 
Operationalizing BGP in the SDDC
Operationalizing BGP in the SDDCOperationalizing BGP in the SDDC
Operationalizing BGP in the SDDC
 
Webinar: Network Automation [Tips & Tricks]
Webinar: Network Automation [Tips & Tricks]Webinar: Network Automation [Tips & Tricks]
Webinar: Network Automation [Tips & Tricks]
 
Operationalizing VRF in the Data Center
Operationalizing VRF in the Data CenterOperationalizing VRF in the Data Center
Operationalizing VRF in the Data Center
 
Demystifying Networking Webinar Series- Routing on the Host
Demystifying Networking Webinar Series- Routing on the HostDemystifying Networking Webinar Series- Routing on the Host
Demystifying Networking Webinar Series- Routing on the Host
 
Network Architecture for Containers
Network Architecture for ContainersNetwork Architecture for Containers
Network Architecture for Containers
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101
 
Building Scalable Data Center Networks
Building Scalable Data Center NetworksBuilding Scalable Data Center Networks
Building Scalable Data Center Networks
 
Demystifying Networking: Data Center Networking Trends 2017
Demystifying Networking: Data Center Networking Trends 2017Demystifying Networking: Data Center Networking Trends 2017
Demystifying Networking: Data Center Networking Trends 2017
 
Modern Data Center Network Architecture - The house that Clos built
Modern Data Center Network Architecture - The house that Clos builtModern Data Center Network Architecture - The house that Clos built
Modern Data Center Network Architecture - The house that Clos built
 
How Quantum configures Virtual Networks under the Hood?
How Quantum configures Virtual Networks under the Hood?How Quantum configures Virtual Networks under the Hood?
How Quantum configures Virtual Networks under the Hood?
 

Similar to Network Interface Manager ifupdown2: The Ultimate Tool

The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014Puppet
 
Switch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrSwitch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrCumulus Networks
 
Exercise 4c stp rapid pvst+ question
Exercise 4c   stp rapid pvst+ questionExercise 4c   stp rapid pvst+ question
Exercise 4c stp rapid pvst+ questionsufi1248
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501robertguerra
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501robertguerra
 
Puppetconf2011 small
Puppetconf2011 smallPuppetconf2011 small
Puppetconf2011 smallPuppet
 
How to configure i pv6 services in the fttb c (no hgws) scenario
How to configure i pv6 services in the fttb c (no hgws) scenarioHow to configure i pv6 services in the fttb c (no hgws) scenario
How to configure i pv6 services in the fttb c (no hgws) scenarioHuanetwork
 
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features雄也 日下部
 
Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013
Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013
Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013Đồng Quốc Vương
 
Global SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanGlobal SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanFei Ji Siao
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronEran Gampel
 
Building your own sdn with debian linux salt stack and python
Building your own sdn with debian linux salt stack and pythonBuilding your own sdn with debian linux salt stack and python
Building your own sdn with debian linux salt stack and pythonMaximilan Wilhelm
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsThomas Morin
 
Contemporary Linux Networking
Contemporary Linux NetworkingContemporary Linux Networking
Contemporary Linux NetworkingMaximilan Wilhelm
 
Creating a firewall in UBUNTU
Creating a firewall in UBUNTUCreating a firewall in UBUNTU
Creating a firewall in UBUNTUMumbai University
 
Application-Based Routing
Application-Based RoutingApplication-Based Routing
Application-Based RoutingHungWei Chiu
 
Espresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom QuiggleEspresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom Quiggleconfluent
 
Centos failover link
Centos failover link Centos failover link
Centos failover link Ediga Watson
 

Similar to Network Interface Manager ifupdown2: The Ultimate Tool (20)

The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014
 
Switch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrSwitch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie Carr
 
Exercise 4c stp rapid pvst+ question
Exercise 4c   stp rapid pvst+ questionExercise 4c   stp rapid pvst+ question
Exercise 4c stp rapid pvst+ question
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501
 
portfolio2
portfolio2portfolio2
portfolio2
 
Puppetconf2011 small
Puppetconf2011 smallPuppetconf2011 small
Puppetconf2011 small
 
How to configure i pv6 services in the fttb c (no hgws) scenario
How to configure i pv6 services in the fttb c (no hgws) scenarioHow to configure i pv6 services in the fttb c (no hgws) scenario
How to configure i pv6 services in the fttb c (no hgws) scenario
 
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
 
Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013
Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013
Www ccnav5 net_ccna_3_v5_0_scaling_networks_final_exam_2013
 
Global SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanGlobal SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, Taiwan
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutron
 
Building your own sdn with debian linux salt stack and python
Building your own sdn with debian linux salt stack and pythonBuilding your own sdn with debian linux salt stack and python
Building your own sdn with debian linux salt stack and python
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNs
 
IPS_3M_eng
IPS_3M_engIPS_3M_eng
IPS_3M_eng
 
Contemporary Linux Networking
Contemporary Linux NetworkingContemporary Linux Networking
Contemporary Linux Networking
 
Creating a firewall in UBUNTU
Creating a firewall in UBUNTUCreating a firewall in UBUNTU
Creating a firewall in UBUNTU
 
Application-Based Routing
Application-Based RoutingApplication-Based Routing
Application-Based Routing
 
Espresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom QuiggleEspresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom Quiggle
 
Centos failover link
Centos failover link Centos failover link
Centos failover link
 

More from Cumulus Networks

Building a Layer 3 network with Cumulus Linux
Building a Layer 3 network with Cumulus LinuxBuilding a Layer 3 network with Cumulus Linux
Building a Layer 3 network with Cumulus LinuxCumulus Networks
 
Operationalizing EVPN in the Data Center: Part 2
Operationalizing EVPN in the Data Center: Part 2Operationalizing EVPN in the Data Center: Part 2
Operationalizing EVPN in the Data Center: Part 2Cumulus Networks
 
Best practices for network troubleshooting
Best practices for network troubleshootingBest practices for network troubleshooting
Best practices for network troubleshootingCumulus Networks
 
NetDevOps 202: Life After Configuration
NetDevOps 202: Life After ConfigurationNetDevOps 202: Life After Configuration
NetDevOps 202: Life After ConfigurationCumulus Networks
 
Cumulus Networks: Automating Network Configuration
Cumulus Networks: Automating Network ConfigurationCumulus Networks: Automating Network Configuration
Cumulus Networks: Automating Network ConfigurationCumulus Networks
 
Open Networking for Your OpenStack
Open Networking for Your OpenStackOpen Networking for Your OpenStack
Open Networking for Your OpenStackCumulus Networks
 
Mlag invisibile layer 2 redundancy
Mlag invisibile layer 2 redundancyMlag invisibile layer 2 redundancy
Mlag invisibile layer 2 redundancyCumulus Networks
 
Using linux to manage the entire rack
Using linux to manage the entire rackUsing linux to manage the entire rack
Using linux to manage the entire rackCumulus Networks
 
Open Hardware for All - Webinar March 25, 2015
Open Hardware for All - Webinar March 25, 2015Open Hardware for All - Webinar March 25, 2015
Open Hardware for All - Webinar March 25, 2015Cumulus Networks
 

More from Cumulus Networks (11)

Building a Layer 3 network with Cumulus Linux
Building a Layer 3 network with Cumulus LinuxBuilding a Layer 3 network with Cumulus Linux
Building a Layer 3 network with Cumulus Linux
 
Operationalizing EVPN in the Data Center: Part 2
Operationalizing EVPN in the Data Center: Part 2Operationalizing EVPN in the Data Center: Part 2
Operationalizing EVPN in the Data Center: Part 2
 
Best practices for network troubleshooting
Best practices for network troubleshootingBest practices for network troubleshooting
Best practices for network troubleshooting
 
NetDevOps 202: Life After Configuration
NetDevOps 202: Life After ConfigurationNetDevOps 202: Life After Configuration
NetDevOps 202: Life After Configuration
 
Cumulus Networks: Automating Network Configuration
Cumulus Networks: Automating Network ConfigurationCumulus Networks: Automating Network Configuration
Cumulus Networks: Automating Network Configuration
 
Open Networking for Your OpenStack
Open Networking for Your OpenStackOpen Networking for Your OpenStack
Open Networking for Your OpenStack
 
Big data, better networks
Big data, better networksBig data, better networks
Big data, better networks
 
Mlag invisibile layer 2 redundancy
Mlag invisibile layer 2 redundancyMlag invisibile layer 2 redundancy
Mlag invisibile layer 2 redundancy
 
Using linux to manage the entire rack
Using linux to manage the entire rackUsing linux to manage the entire rack
Using linux to manage the entire rack
 
Big Data, Better Networks
Big Data, Better NetworksBig Data, Better Networks
Big Data, Better Networks
 
Open Hardware for All - Webinar March 25, 2015
Open Hardware for All - Webinar March 25, 2015Open Hardware for All - Webinar March 25, 2015
Open Hardware for All - Webinar March 25, 2015
 

Recently uploaded

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 

Recently uploaded (20)

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 

Network Interface Manager ifupdown2: The Ultimate Tool

  • 1. v ifupdown2 : The ultimate Network Interface Manager Progress and Status Julien Fortin - Cumulus Networks July 5th, DebConf2016 - Cape Town, South Africa 1cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 2. Outline 2 ! Background & context ! What’s wrong with ifupdown? ! Ifupdown2 overview ! What’s new since October 2015 ? ! What’s next ? ! How to get started ! Questions cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 3. From intern to Member of Technical Staff 3 ! Background as a Software Engineer ! EPITECH, class of 2016. ! Undergrand Internship at Cumulus in 2014 ! Hired in March 2016, joining the ifupdown2 team cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 4. The Mother of Dragons 4 ! Roopa Prabhu ! First commit Nov 2013, ~2k lines of Python cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 5. The Mother of Dragons 5 • 618 commits • 18243 lines of python ! Roopa Prabhu ! First commit Nov 2013, ~2k lines of Python cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 6. Cumulus Networks, an Operating System company 6 !Cumulus Linux ! Debian (jessie) based distribution for Network Switches !Our Philosophy ! Manage your network switch as a server ! Use existing Linux tools to configure your network switches !Contributing back to the community ! Cumulus is upstreaming a lot of networking kernel patches (e.g. netlink, stp etc..) cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 7. Debian’s ifupdown ! Default Network Interface Manager for Debian ! Configuration file : /etc/network/interfaces ! Network interfaces represented by “iface” sections 7 iface br100 bridge-ports swp1 swp2 bridge-stp on cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 8. What’s wrong with ifupdown? 8 ! Code written in C (hard to maintain/extend) ! Does not understand interface dependency ! Problems with provisioning interfaces at scale ! No support for incremental changes to interface config ! No support to query/validate running configuration cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 9. Our solution: ifupdown2 9 ! New implementation in Python ! Backward compatibility with debian ifupdown ! Pluggable architecture with python add-on modules ! Ordered Network Interface dependency relationship handling ! Incremental changes and query live configuration cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 11. ifupdown2 interface configuration graph dependency 11cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016 ! Dependency graph of all interfaces ! Uses topological sort to order network interface configurations ! Execute interface configuration in dependency order
  • 12. ifupdown2 interface configuration graph dependency 12 Sorted interface list:
 swp1, swp1.100, swp2, swp2.100, swp3, swp4, bond, bond.100, bridge100 cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016 ! Dependency graph of all interfaces ! Uses topological sort to order network interface configurations ! Execute interface configuration in dependency order
  • 13. ifquery: Troubleshooting network interface dependencies 13 ▪$ ifquery br0 --print-dependency=list ▪br0 : ['bond1', 'bond2'] ▪bond1 : ['swp32', 'swp33'] ▪bond2 : ['swp30', 'swp31'] ▪swp32 : None ▪swp33 : None ▪swp30 : None ▪swp31 : None $ ifquery br0 --print-dependency=dot /* Generated by GvGen v.0.9 (http://software.inl.fr/trac/wiki/ GvGen) */ digraph G { compound=true; node1 [label="br0"]; node2 [label="bond1"]; node3 [label="bond2"]; node4 [label="swp32"]; node5 [label="swp33"]; node6 [label="swp30"]; node7 [label="swp31"]; node1->node2; node1->node3; node2->node4; node2->node5; node3->node6; node3->node7; } cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 14. 14 ifquery - - check ! We extended ifquery to query and validate applied state of a network interface Julien Fortin - ifupdown2 - DebConf2016
  • 15. 15 ifquery to persist running configuration cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 16. Incremental changes on live configuration 16 ! ifup/down work on already UP or DOWN interfaces ! Only applies the new changes without disturbing the existing config on interface cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 18. ifreload 18 !Reloads the network interface configuration ! By running `ifdown` on interfaces that were removed from /etc/network/ interfaces (or the provided file) ! And running `ifup` on all interfaces currently present in the config file. ! Pretty convenient rather than using `service networking restart` cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 19. JSON API 19 ! Supports interfaces imports and queries in JSON format ! Enables easier integration with automation/orchestration tools $ ifquery br0 auto br0 iface br0 inet static bridge-ports swp1.42 swp2.42 bridge-stp on $ ifquery br0 —format=json [ { "auto": true, "config": { "bridge-ports": “swp1.42 swp2.42", "bridge-stp": "on" }, "addr_method": "static", "name": "br0", "addr_family": "inet" } ] $ ifup -a -t json -i /etc/network/interfaces.json cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 20. Template support 20 Example: interfaces template to create bridges for vlan 1000 to 1100: ! Simplify cookie-cutter interface configurations with mako style templates http://www.makotemplates.org/ ! Provides option to plug-in alternate python template engines cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 21. Python add-on modules for interface configuration 21 ! address ! address virtual ! bond ! bridge ! bridgevlan ! dhcp ! ethtool ! link ! mstpctl ! usercmd ! vlan ! vrrpd cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 22. !Support for vlan filtering mode in the bridge driver !New add-ons ! VXLAN ! VRF !Performances ! Netlink !Policy manager ! To set or override system defaults What’s new since October 2015 ? cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 23. New bridge driver 23 !VLAN-aware Bridges ! New 802.1Q Linux kernel bridge driver enable vlan aware mode !Helps with scale ! Avoids creating 802.1Q vlan netdevs. Bypass netdevs and assign vlan ids to bridge ports !ifupdown2 ! Now supports vlan-aware or vlan-filtering bridges ! Continues to support traditional bridge configuration cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 25. Virtual eXtensible LAN - VLANs 25 !The VXLAN protocol is a tunneling protocol designed to solve the problem of limited VLAN IDs (4096) ! 24 bits VXLAN ID max value: 16,777,216 !Network overlay ! Encapsulation of layer 2 frames using layer 3 UDP packets. cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 27. Virtual Routing and Forwarding - VRF 27 !Linux Implementation ! Kernel v4.3 and forward !Developed by Cumulus Networks for Linux ! Consistent API across all Linux Devices - switches and hosts !IP technology that provides traffic isolation at layer 3 for routing ! Similar to how VLANs provide isolation at layer 2 cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 28. VRF example 28 red FIB table 1001 swp1 swp2 OR auto all iface red address 127.0.0.1/8 vrf-table auto iface swp1 vrf red iface swp2 vrf red auto all iface red address 127.0.0.1/8 vrf-table auto %for i in range(1,4): iface swp${i} vrf red %endfor cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 29. New policy infrastructure 29 !Defining default value for add-ons ● There is the expectation that removing configuration parameters from the networking config file (and doing an ifreload -a) will restore a default parameter (if one exists) ! The JSON configuration will dictate default setting and behavior for each modules implementing this policy configuration Default location ! /var/lib/ifupdown2/policy.d/*.json User location ! /etc/network/ifupdown2/policy.d/*.json ! By Sam Tannous from Cumulus cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 30. Policy Manager example cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 31. The Netlink transition 31 !Ifupdown2 scale but we can do better ! We are using standard Linux tools, such as iproute2, for many operations ! Execution of external commands slow things down !Netlink is the answer ! Netlink is a IPC mechanism primarily between the kernel and user space processes. ! Moving from iproute2 to direct netlink drastically improve performances. !Next : pure Netlink backend ! We plan on having a pure netlink backend with possibility to fall back on iproute2 when netlink capabilities are not available. cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 32. Python-nlmanager 32 !In-house python netlink library for networking ops ! By Daniel Walton from Cumulus. !Soon available on Debian ! Right now the code is shipped within ifupdown2 package http://repo3.cumulusnetworks.com/repo/pool/cumulus/p/python-nlmanager/ cumulusnetworks.com
  • 34. Debian upstreaming 34 !Ifupdown2 on debian sid and jessie-backports ! Since october 2015 thanks to our sponsor (Piotr) : https://packages.debian.org/sid/ifupdown2 ! Available on apt or download the deb file echo “deb http://ftp.de.debian.org/debian sid main” >> /etc/apt/sources.list cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 35. What’s new? !Next ! Ifupdown2 version 2.0 before code freeze in December ! Increase performances (netlink and other stuff) ! Fix bugs reported by the community and Cumulus clients.
  • 36. Getting started 36 ! Ifupdown2 on github : https://github.com/CumulusNetworks/ifupdown2 ! Ifupdown2 documentation : https://cumulusnetworks.github.io/ifupdown2 ! Cumulus Linux ships with ifupdown2 in releases 2.1 or greater : https://cumulusnetworks.com ! Article comparing ifupdown and ifupdown2 : https:// support.cumulusnetworks.com/hc/en-us/articles/202933638-Comparing- ifupdown2-Commands-with-ifupdown-Commands ! Get in touch with us : julien@cumulusnetworks.com roopa@cumulusnetworks.com cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 37. Example of contribution 37cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 38. 38 >1.5M Ports powered by Cumulus Networks technology 465+companies across for 
 main industry verticals 145Telecom /
 Service Provider 139 Public / Private
 Cloud 101Government / Education / R & D 81 SaaS / Web 2.0 ifupdown2 user base cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016
  • 39. © 2014 Cumulus Networks. Cumulus Networks, the Cumulus Networks Logo, and Cumulus Linux are trademarks or registered trademarks of Cumulus Networks, Inc. or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis. Thank You! 39 Bringing the Linux Revolution to Networking julien@cumulusnetworks.com cumulusnetworks.comJulien Fortin - ifupdown2 - DebConf2016