So I have been doing a bit more playing with VPC+ and came across something I'd like to share. It's actually fairly logical, but at first thought you may think 'huh?' - well basically it's do do with FP root-priorities with VPC+.
So take the scenario where we have 2 separate VPC domains, joined by fabric path (so essentially making 2 VPC+ domains).
Upstairs we have 2x N7K's connected as vPC-Peers with FP configured - this is vpc domain 70 (or vpc+ domain 70 if you like)
Downstairs we have 2x N5K's connected as vPC-Peers with FP configured - this is vpc domain 50 (or vpc+ domain 50...)
The switches are all downlink and cross link connected (e.g each switch connects to it's own vpc peer and both the other two switches - full mesh).
Now, with this topology, clearly we have 2 separate vpc primary and vpc secondary switches - one for each vpc domain. In the same vein, you may then think that when FabricPath is configured, when you set the fabric-path root priority under 'fabricpath domain default' this also is relevant to it's local vPC peers - why not, it is vPC+ after all?
Well actually, no. Let's say for example both of your vpc primary switches (one per domain) are set with a fabric path root priority of 254 and the secondary's have a priority of 253, which switches are going to be the root of the multidestination trees?
It's going to be N7K1 (Tree1) and N5K1 (Tree2) (assuming these are the primary vpc switches with FP root priorities of 254 and that the switches have elected N7K1 to be root of Tree1).
So, in summary, whilst vPC is still only between a pair of vpc peers, fabricpath is global, even in a vpc+ environment.
So, if you wanted to make N7K2 the root of multidestination tree 2, instead of N5K1, then just tweak the priorities accordingly.
The 'sh fabricpath isis topology summary' command can help you work out your multidestination trees from the CLI.