> ip link set dummy0 master bond0 up
This is IMO a faulty call for a bond. bond != bridge
Note also: it is IMO not a good idea to set the slaves UP yourself, e.g.:
ip link set master bond0 dev ethX ## enslave to bond0 (must be down)
ip link set up dev ethX ## "hack" to set the slave UP after enslave
The interface needs to be down while enslave (set master). The bonding
driver is not only setting it up itself, but also performs several
actions on the slaves (inherits MTU, MAC, vlan filter, ... offloads).
When we set the slave UP after enslave, we'll most probable disturb
or break these actions -- some nic drivers may even reset the HW
(and remove the administrative UP flag .. at least for a while) when
they're applying offloads... ==> they may need the slave in down state
(especially the expensive, full featured offload NICs IMO tend to
behave like this).