As part of an effort to help enact social change, Red Hat is committing to efforts to eliminate any problematic terminology from any of the software that it ships and supports. Front and center for me personally in that effort is the bonding driver's use of the terms master and slave, and to a lesser extent, bond and bonding, due to bondage being another term for slavery. Most people in computer science understand these terms aren't intended to be offensive or oppressive, and have well understood meanings in computing, but nonetheless, they still present an open wound, and a barrier for participation and inclusion to some.
To start out with, I'd like to attempt to eliminate as much of the use of master and slave in the bonding driver as possible. For the most part, I think this can be done without breaking UAPI, but may require changes to anything accessing bond info via proc or sysfs. My initial thought was to rename master to aggregator and slaves to ports, but... that gets really messy with the existing 802.3ad bonding code using both extensively already. I've given thought to a number of other possible combinations, but the one that I'm liking the most is master -> bundle and slave -> cable, for a number of reasons. I'd considered cable and wire, as a cable is a grouping of individual wires, but we're grouping together cables, really -- each bonded ethernet interface has a cable connected, so a bundle of cables makes sense visually and figuratively. Additionally, it's a swap made easier in the codebase by master and bundle and slave and cable having the same number of characters, respectively. Granted though, "bundle" doesn't suggest "runs the show" the way "master" or something like maybe "director" or "parent" does, but those lack the visual aspect present with a bundle of cables. Using parent/child could work too though, it's perhaps closer to the master/slave terminology currently in use as far as literal meaning. So... Thoughts? For reference, a work-in-progress adaptation from master/slave to bundle/cable has a diffstat that is currently summarized as: 37 files changed, 2607 insertions(+), 2571 deletions(-) -- Jarod Wilson ja...@redhat.com