The Solution: For posterity's sake and others new to Qemu-kvm needing to create a bridge network as well as saving the next guys sanity here's the solution that really is easy. Had the WIKI and other docs been written with the reader looking for knowledge rather than being written to others who already know how this is done, I may not have even asked the question. Course, it's always easy to tell someone to RTFM or "you're not reading the pre-approved information for this distro", rather than simply passing on the information or saying, "I simply don't know.
News flash folks! The Arch wiki was written for an audience that already understands the basic process and NOT for those who really don't know, so suggesting they're getting bad information or to RTFM you shame yourself. But I digress.
This solution will likely work on many, if not most systems which are systemd based.
ASSUMPTION: You have already installed the Qemu-kvm and libvirt packages for your linux distro including bridge-utils. It's also assumed your system is using NetworkManager. There are other methods to create a bridge but this solution is based on using NetworkManager. Not certain your system is running NetworkManager?
Issue this command...
nmcli connection show
If you get a return in the console that is not an error but shows your network device, i.e on my system the return is thus:
[root@mark-garuda mweaver]# nmcli connection show
NAME UUID TYPE DEVICE
br0 e630337f-3fb0-4796-abce-733eb1cf826d bridge br0
enp1s0 5c48367d-423c-4d6f-a7c7-dfd745cc9035 ethernet enp1s0
Then NetworkManager is installed and operating. You will of course need to change some of the values to suite your network and device names. Before getting started check the status of the libvirtd.service.
systemctl status libvirtd
if you get a return that appears like this:
[root@mark-garuda mweaver]# systemctl status libvirtd
○ libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; preset: disabled)
Active: inactive (dead)
TriggeredBy: ○ libvirtd-admin.socket
○ libvirtd-ro.socket
○ libvirtd.socket
Docs: man:libvirtd(8)
Then you'll need to enable the service.
systemctl enable libvirtd
Then start the service
systemctl start libvirtd
The steps for creating a network bridge on a system using QEMU-KVM are these:
- nmcli connection show
- sudo nmcli connection add type bridge autoconnect yes con-name br0 ifname br0
- sudo nmcli connection modify br0 ipv4.addresses 10.10.3.49/24 gw4 10.10.3.1 ipv4.method manual
- sudo nmcli connection modify br0 ipv4.dns 10.10.3.6
- sudo nmcli connection del "Wired Connection 1"
- sudo nmcli connection add type bridge-slave autoconnect yes con-name enp1s0 ifname enp1s0 master br0
- sudo nmcli connection up br0
- nmcli connection show br0
- ip add show br0
That's it... you should now have a working network bridge. If you mouse over the network manager icon in your tool tray it may complain and indicate you have no network connection, but if you check your browser or run a ping command you should get a positive return.
By the way... in my original post I made reference to a site that I had been reading to gain an understanding of the process. It just happened to be NOT one that appears on the Arch Wiki.... I stopped drinking kool aid a long time ago. Just thought I'd mention it.