[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