On my system, I have a network configuration where eth0 is a real interface, lo is a loopback (obvious), and "london" is a bridge around eth0.
What I found out was that the cobbler-register script, as well as the autodetection in koan, did not correctly find my MAC address, because rhpl.ethtool saw the bridge as active, but the actual MAC address I cared about was eth0.
Solution: Change the code around a fair amount.
What this means: Potentially, if you run cobbler-register, if can pick up some interfaces that are /not/ active, according to standard definitions, but the logic to figure all of this out from ethtool is a bit complex. Basically it means cobbler-register could, in some /desktop/ cases, create interfaces named wlan0, wlanmaster, etc.
I think in server cases the likelihood of this being a problem is zero, and that's where cobbler-register is used, so I think this is not a bad thing.
On the plus side, making this change (for those that can understand it... it's complicated!) means that cobbler-server autodection now works, so the following kinds of reinstalls now work as expected, even if you have some bridges set up:
"koan --server=cobbler.example.org --replace-self"
(If any system records are found matching any IP/MACs found on the system, reinstall that system record)
AND
"koan --server=cobbler.example.org --update-files"
(Update files for the system as defined in cobbler).
The logic for discovering MACs/IPs here is looser -- here it's not a problem if we accidentally find wireless devices, and we also search for all IPs/MACs, not just for things that are "non-bridgey".
Perhaps in the future we teach cobbler's system records to be able to create bridges, in which case, we may also register the bridge objects with cobbler-register.
For all that find the above confusing, I think we can ignore it, though if it made sense to you, and you had a question, let me know ... it may be easier just to see what's changed in git.
--Michael