Extract ReserveName/GenerateName from netdevtap and netdevmacvlan as common functions. Along with them, export Lock/Unlock functions to protect these processes. So tap, macvlan and veth can reuse them to simplify their implementations. Shi Lei (5): netdev: Introduce several helper functions for generating unique netdev name netdevtap: Use common helper function to create unique tap name netdevmacvlan: Use helper function to create unique macvlan/macvtap name netdev: Enable virNetDevGenerateName to support veth netdevveth: Simplify virNetDevVethCreate by using virNetDevGenerateName src/libvirt_private.syms | 4 + src/lxc/lxc_process.c | 3 + src/util/virnetdev.c | 142 +++++++++++++++++++++++++++++++++++ src/util/virnetdev.h | 36 +++++++++ src/util/virnetdevmacvlan.c | 107 ++++++-------------------- src/util/virnetdevmacvlan.h | 6 -- src/util/virnetdevtap.c | 58 +------------- src/util/virnetdevveth.c | 146 ++++++++++-------------------------- 8 files changed, 251 insertions(+), 251 deletions(-) -- 2.25.1