[pve-devel] applied: [PATCH V3 ifupdown2 0/3] ifupdown2 package

Wolfgang Bumiller w.bumiller at proxmox.com
Fri Jun 15 10:26:26 CEST 2018


Applied with some followup commits, see
  git.proxmox.com/ifupdown2
  git.proxmox.com/mirror_ifupdown2

On Fri, Jun 15, 2018 at 01:52:00AM +0200, Alexandre Derumier wrote:
> Changelog v3:
>  - update to master-next branch (2.0)
>  - remove 1 extra patch
> 
> 
> Hi,
> 
> Theses last months, I'm working on vxlan implementation. (I'll send info in coming weeks)
> 
> I have worked on classic ifupdown, but it's not super clean to implement, 
> when we have complex configuration.
> 
> ifupdown2 is currently well maintained by cumulus since 2014, and support all features from last kernels.
> (vxlan (unicast, multicast, frr, arp suppression, vrf, vlanaware bridge, 
>  vlan attributes on interfaces, ...)
> and compatible with classic ifupdown syntax.
> 
> 
> This package is based on cumulus branch
> https://github.com/CumulusNetworks/ifupdown2/tree/cl3u18
> as the master/debian branch is old and don't have all features
> (cumulus is planning to rebase it in coming months)
> 
> For now, it could be great to simply propose ifupdown2 as alternative to proxmox users.
> and maybe in 1 or 2 years, if it's working great, make it default for proxmox6 ?
> 
> Some advantages vs classic ifupdown:
> 
>  -we can reload configuration ! (ifreload -a, or systemctl reload networking).
>  ifupdown2 maintain graphs dependencies between interfaces.
> 
>  (Note that as we don't define tap,veth interfaces in /etc/network/interfaces,
>  they are not bridged anymore if you do ifdown/ifup vmbr0,
>   but it don't remove them on ifreload vmbr0)
> 
>  -we can define ipv4/ipv6 in same interface
>   (no need anymore iface inet6 static, iface inet static, or iface inet manual, but old iface inet syntax is still supported)
> 
>   auto eth0
>   iface eth0
>     address 192.168.0.1
>     address 2001:db8::1:1/64
>     address 2001:db8::2:2/64
> 
>  or multiple ip on loopback
> 
>     auto lo
>     iface lo inet loopback
>     address 10.3.3.3/32
>     address 10:3:3::3/128
>  -classic pre-up scripts still works (if users have custom config)
> 
> - for ovs I just have needed to make a small workaround in ovs ifupdown script (see my ovs patch),
>   and a small config change (replace allow-ovs by auto).
>   Currently, I don't do in ifupdown2 post-install script
> 
>  -templating support: example: creating vxlan interfaces from vxlan30->vxlan100
> 
>    auto all
>    %for v in range(30,100):
> 
>    auto vxlan${v}
>    iface vxlan${v}
>         vxlan-id ${v}
>         vxlan-local-tunnelip 10.59.100.231
>         bridge-learning off
>         bridge-arp-nd-suppress on
>         bridge-unicast-flood off
>         bridge-multicast-flood off
>         bridge-access ${v}
>     %endfor
> 
> some documentation here:
>  https://support.cumulusnetworks.com/hc/en-us/articles/202933638-Comparing-ifupdown2-Commands-with-ifupdown-Commands
> 
> breaking config change (could be done with a postinst script):
>  - bond : 	slaves ethX ethy  is not working,  bond-slaves ethx ethy  need to be used (classic ifupdown support both syntax)
>  - vlan aware bridge: allowed vlans need to be define with "bridge-vids 2-4094" for example
> 
> About systemd-networkd:
>  - Currently it can't reload configuration
>    https://github.com/systemd/systemd/issues/6654
>  - unicast vxlan it not supported
>    https://github.com/systemd/systemd/issues/5145
>  - I think we don't have to maintain a systemd package if we need to extend it
>  - new features seem to take years to come
>  - IPV6: systemd-networkd reimplement kernel features (ipv6 RA,...) with tons of bugs (some not yet fixed)
>      http://ipv6-net.blogspot.fr/2016/11/ipv6-systemd-another-look.html
>      http://ipv6-net.blogspot.fr/2016/04/systemd-oh-you-wanted-to-run-ipv6.html
>      https://github.com/systemd/systemd/issues/8906
> 
> Alexandre Derumier (3):
>   add makefile
>   add debian dir
>   add ifupdown2 submodule
> 
> -- 
> 2.11.0



More information about the pve-devel mailing list