Current implementation of 'toURI' migration interfaces does not support all combinations of interface versions and protocol versions. For example 'toURI2' with p2p flag will not migrate if driver supports only v3params proto. This is not convinient as drivers that starts to support migration have to manually support older versions of protocol. I guess this should be done in one place, namely here. Another issue is that there are a lot of code duplication in implementation of toURI interfaces and it is not obvious from code how are they related. This implementation uses extensible parameters as intermediate parameters representation. This is possible as interfaces are done backward compatible in terms of parameters and later versions supports all parameters of former versions. = Changes from version2 1. fix misc typos and overall english in commit messages 2. fix misc style issues 3. add 2 new patches 1. migration: refactor: rename uri parameter to miguri 2. migration: check dconnuri in p2p mode 4. rework succession of 2 patches 1. migration: refactor: prepare to reuse flag vs feature checks 2. migration: reuse flags vs features checks in toURI family into 1. migration: refactor: introduce parameter checking function 2. migration: reuse parameters check in toURI2 and toURI3 5. rearrange functions as suggested by reviwer to make better diffs The overall diff as compared to the previous patchset is really small. src/libvirt-domain.c | 531 ++++++++++++++++++++++--------------------------- 1 files changed, 238 insertions(+), 293 deletions(-) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list