Is the structure of IPv6 mtree similar with the IPv4 mtree structure? Have you guys seen any documentation about this subject?
What makes you think CEF uses an mtree? It is Optimum Switching that uses an mtree, not CEF.
Optimum switching stores the forwarding information and the MAC header rewrite information in a 256 way multiway tree (256 way mtree). Using an mtree reduces the number of steps which must be taken when looking up a prefix, as illustrated in the next figure.
Cisco Express Forwarding
Cisco Express Forwarding, also uses a 256 way data structure to store forwarding and MAC header rewrite information, but it does not use a tree. Cisco Express Forwarding uses a trie, which means the actual information being searched for is not in the data structure; instead, the data is stored in a separate data structure, and the trie simply points to it.
I suppose it depends on what you mean by similar trie structure. Both IPv4 and IPv6 use a 256-way trie, and the data are stored in separate tables. In fact, the separate data structure for the MAC header rewrite information are nearly identical, except for minor things like the ethertype, since MAC headers don't care much about the upper-layer protocols.