@shodanskok brings up a very valid point in the comments, and that is: why not use libvirt via
virsh? It's a fantastic command line abstraction of QEMU / KVM, as well as ESXi and Xen. You can use XML snippets to manage device attachments and it's a great way to standardize your toolstack no matter which hypervisor runs underneath it. OpenStack uses it directly for this very reason, and it offers the kind of flexibility that even a heterogeneous cloud requires.
All of that aside, if you have to use qemu-kvm commands directly, you will need to manage your own networking stack. Specifically, you lack a bridge in this scenario.
You will need to create a bridge interface that all VMs attach to. This will afford you complete intercommunication between all machines. A bridge in this case is a virtual forwarding switch. Your bond will be connected to this switch as well, connecting the outside network to this virtual switch.
You will need to use your distribution's networking scripts to create such an interface and attach your bond to it. You haven't mentioned your distribution, so I will offer the "ephemeral" solution to this problem (which is universal in GNU / Linux). These changes will be lost on reboot, so do make sure to add your bridge to your interface configuration files.
One side node, libvirt is capable of setting these interfaces up via the virsh command line persistently (persistence being granted by XML files), rather than having to worry about distribution specific interface configuration files. Strikes again, the effective higher level toolstack.
To create a bridge:
# brctl addbr br0 (The bridge name is br0 in this example. The name is arbitrary).
To add an underlying interface to that bridge:
# brctl addif bond0 br0 (In this case, we're adding bond0 to br0)
After this is done, your link layer host networking is finished. If you require to address your host via an IP address, you may put that address on the bridge. Do NOT put it one layer below, on the bond for example. That simply won't work.
To add an IP to this bridge (This too will be ephemeral if you do not create an interface file for your bridge, but will immediately work):
# ip a add 10.1.0.100/24 dev br0 (the IP given is merely an example.)
As a potential help, here are links for setting up persistent bridges on both CentOS and Debian.
For CentOS: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_network-bridge.html
For Debian: https://wiki.debian.org/NetworkConfiguration#Bridging
Once that is set up, you need merely modify your
-device switch as follows: