There were reports in #gentoo-dev from multiple devs of networking breaking, however nobody has filed a bug with any details, and instead there was just a hardmask against netifrc. As of 2013/08/16 23:30 UTC, I can't find a single NEW bug, or even an old one with a new comment stating that it's still broken. _axs_: ==== # Mask openrc-0.12 and netifrc until packaging can be re-worked # so that upgrade paths do not kill existing network setups. # There are AT LEAST known multi-NIC issues with it. =sys-apps/openrc-0.12* net-misc/netifrc >=sys-apps/kmod-14-r2 ==== WHAT known issues? cardoe, jmbsvicetto: Both of you claim issues, but didn't provide any details. There was a mention of bonding, which surprises me, because I personally use bonding. So because of that, I went and double-checked with bonding. With netifrc-0.1, I CONFIRM that it works on my system. Unless you provide some hard details on a case where netifrc is broken, I'm going to remove the package.mask entries in 24-48 hours (probably Sunday). root@bohr-int:/usr/portage # emerge -pv openrc netifrc These are the packages that would be merged, in order: [ebuild R #] sys-apps/openrc-9999 USE="ncurses netifrc pam unicode -debug -newnet (-prefix) (-selinux) -static-libs -tools" 0 kB [ebuild R #] net-misc/netifrc-0.1 0 kB root@bohr-int:/usr/portage # /etc/init.d/net.bond0 restart net.bond0 | * Caching service dependencies ... [ ok ] fprobe.bond0 | * Stopping fprobe ... [ ok ] net.bond0 | * Bringing down interface bond0 net.bond0 | * Removing slaves from bond0 ... net.bond0 | * enp13s0f0 enp13s0f1 enp16s0 [ ok ] net.bond0 | * Bringing up interface bond0 net.bond0 | * Running preup ... net.bond0 | * Adding slaves to bond0 ... net.bond0 | * enp13s0f0 enp13s0f1 enp16s0 [ ok ] net.bond0 | * 172.16.9.8/24 ... [ ok ] net.bond0 | * 2001:470:e889:1::8/64 ... [ ok ] net.bond0 | * Adding routes net.bond0 | * 10.0.0.0/8 via 172.16.9.1 metric 500 ... [ ok ] net.bond0 | * default via 172.16.9.1 metric 2000 ... [ ok ] net.bond0 | * Waiting for IPv6 addresses ... [ ok ] net.bond0 | * Running postup ... net.bond0 | * Disabling IPv6 DAD on bond0 net.bond0 |net.ipv6.conf.bond0.dad_transmits = 0 fprobe.bond0 | * Starting fprobe ... [ ok ] And my networking still works...
Most of my issues were likely related to the upgrade deleting my net config file and me having recreated it manually. I got some errors with vlans over bond interfaces, some errors about "echo" with netifrc and "_exists" with openrc-0.11.8 after downgrading. The downgrade also didn't replace net.lo so I had to copy it from another system with openrc-0.11.8. I kept getting issues after entering the config manually, but they may have been related to using an old config, before the introduction of "persistent naming" on udev, and thus have the bonds failing to assemble for trying to use eth* interfaces, instead of net* (the new name I've configured with udev rules). For reference, here is the "old" config. The new one just differs by applying "s/eth/net/g". modules="iproute2" config_eth0="null" config_eth1="null" config_eth2="null" config_eth3="null" config_eth4="null" config_eth5="null" config_eth6="null" config_eth7="null" slaves_bond0="eth0 eth4" config_bond0="10.3.28.14/23" routes_bond0="default via 10.3.28.1" ad_select_bond0="bandwidth" mode_bond0="802.3ad" miimon_bond0="100" lacp_rate_bond0="slow" slaves_bond1="eth2 eth3 eth6 eth7" config_bond1="null" ad_select_bond1="bandwidth" mode_bond1="802.3ad" miimon_bond1="100" lacp_rate_bond1="slow" vlans_bond1="10 21 25" rc_net_br0="net.bond1" rc_net_br1="net.bond1" bridge_br0="bond1.10" bridge_br1="bond1.21" bridge_br2="bond1.25" config_bond1_10="null" config_bond1_21="null" config_bond1_25="null" config_br0="null" config_br1="null" config_br2="null" slaves_bond2="eth1 eth5" config_bond2="10.3.112.14/21" ad_select_bond2="bandwidth" mode_bond2="802.3ad" miimon_bond2="100" lacp_rate_bond2="slow"
As requested by Robin, let me clarify the bonding / vlans issues are most likely not an netifrc issue, but my own fault. The deletion of the net files, the warnings issues by the networking scripts and the problem with net.lo after the downgrade, are however valid issues. Whether they can be duplicated, is a different issue.
I put the mask on netifrc and openrc-0.12 in the tree first and foremost because of bug 481336; secondarily because there seemed to be other similar issues with /etc/init.d/net.lo between netifrc and openrc-0.11.8 when a user downgraded; and tertiarily because some configs that are fine in 0.11.8 were reported to be failing in netifrc-0.1 , possibly due to a file or enviromnent being dropped or not set properly during the split. Bug 481336 has been fixed. I couldn't reproduce the second one but added a !net-misc/netifrc dependency to openrc-0.11.8 just in case that helped to force net.lo to be properly overwritten on downgrade. The third one, well, i don't have any more details on that but from what I've been able to track down so far I don't think there are any -packaging- issues causing it. Robin, if you can't reproduce any issues with bonding when using the netifrc-0.1 package and openrc-0.12 , then i'm sure we can unmask anytime.
Removed the mask. It looks like there were no issues with the network scripts (per robbat2) and the issue with conf.d/net was fixed within a few minutes of the mask being applied.
jmbsvicetto: I did more research on what you provided me. You really should NOT be using the sysfs "link_mode" key. That's for 802.1X & RFC2863 operational state policy. Read Documentation/networking/operstates.txt in the kernel documentation if you're really using 802.1X. If you just intended to do bonding, you want /sys/class/net/bond0/bonding/mode, represented by the "mode_bond0" variable. Changing link_mode would certainly have broken your system if you weren't using a 802.1X supplicant.
It seems there are no on-going issues with this bug, so I'm closing it.